-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMijnVervangingen.xaml.cs
156 lines (146 loc) · 6 KB
/
MijnVervangingen.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Tractivity.Models;
using Tractivity.ViewModels.Vervangingen;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using System.Windows.Input;
using NavigationSam;
using LesgeversMEGA.Views.Vervangingen;
namespace Tractivity.Views.Vervangingen
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MijnVervangingen : ContentPage, INavigationPopInterceptor
{
public string username { get; set; }
public string owner_of_vervanging { get; set; }
private string UserPassword { get; set; }
public bool IsPopRequest { get; set; }
public string URL { get; set; }
public MijnVervangingen(string user, string userpassword)
{
username = user;
URL = "https://lesgeversmega.azurewebsites.net/";
UserPassword = userpassword;
InitializeComponent();
this.BindingContext = new MijnVervangingenViewModel(username);
}
private async Task MenuItem_ClickedAsync(object sender, EventArgs e)
{
//Details redirect
var vervanging = ((ListView)sender).SelectedItem as Vervanging;
if (vervanging == null) {
return;
}
}
public async Task<bool> RequestPop()
{
bool res = false;
await Navigation.PushAsync(new VervangingenOverzicht(username, UserPassword));
return res;
}
private async void MenuItem_Clicked_Delete(object sender, EventArgs e)
{
var menuitem = (MenuItem)sender;
string classId = menuitem.ClassId;
char c = '"';
classId = classId.Replace(c.ToString(), "");
int ID = Int32.Parse(classId);
var result = await this.DisplayAlert("Opgelet", "Bent u zeker dat u deze vervanging wenst te verwijderen?", "Ja", "Neen");
if (result)
{
var client = new HttpClient();
Vervanging vervanging = new Vervanging
{
Id = ID,
};
var json = JsonConvert.SerializeObject(vervanging);
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = await client.PostAsync(URL + "Vervangings/GetVervangingOwner", httpContent);
HttpContent httpContent_owner = response.Content;
string owner = await httpContent_owner.ReadAsStringAsync();
c = '"';
owner = owner.Replace(c.ToString(), "");
owner_of_vervanging = owner;
if (username != owner_of_vervanging)
{
var result3 = await this.DisplayAlert("Opgelet", "U bent niet de eigenaar!", null, "Ok");
if (!result3)
{
}
}
else
{
bool complete = DeleteVervanging(ID);
if (complete)
{
var result2 = await this.DisplayAlert("Opgelet", "Vervanging verwijderd", null, "Ok");
if (!result2)
{
await Navigation.PushAsync(new MijnVervangingen(username, UserPassword));
}
}
else
{
}
}
//Api request to delete vervanging;
}
}
public bool DeleteVervanging(int i)
{
bool Response = false;
var client = new HttpClient();
Vervanging vervanging = new Vervanging
{
Id = i,
};
var json = JsonConvert.SerializeObject(vervanging);
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var response = client.PostAsync(URL + "Vervangings/Delete", httpContent);
var mystring = response.GetAwaiter().GetResult();
if (response.Result.IsSuccessStatusCode)
{
Response = true;
}
return Response;
}
async void MenuItem_Clicked(object sender, EventArgs e)
{
var menuitem = (MenuItem)sender;
string classId = menuitem.ClassId;
char c = '"';
classId = classId.Replace(c.ToString(), "");
int ID = Int32.Parse(classId);
//Push naar details
bool Response = false;
var client = new HttpClient();
Vervanging vervanging = new Vervanging
{
Id = ID,
};
var json = JsonConvert.SerializeObject(vervanging);
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = await client.PostAsync(URL + "Vervangings/GetVervangingOwner", httpContent);
HttpContent httpContent_owner = response.Content;
string owner = await httpContent_owner.ReadAsStringAsync();
c = '"';
owner = owner.Replace(c.ToString(), "");
owner_of_vervanging = owner;
await Navigation.PushAsync(new SpecifiekeVervanging(ID, username, owner, UserPassword));
}
async void Create_Vervanging_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new CreateVervangingNew(username, UserPassword));
}
}
}