/// <summary> /// Function binded to the submit button command /// </summary> public async void OnSubmit() { ServiceVisitSubmission obj = new ServiceVisitSubmission(); obj.customerSignature = CustomerInspection; obj.techSignature = TechnicianInspection; obj.reviewNotes = Notes == null? "" : Notes; DateTime date = DateTime.Now; obj.lastUpdatedBy = CrossSecureStorage.Current.GetValue("UserName"); //default status obj.serviceVisitStatus = ServiceVisitStatus.RevisitRequired.ToString(); //find out the selected status foreach (var field in typeof(ServiceVisitStatus).GetFields()) { var attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute; if (attribute == null) { continue; } if (attribute.Description.Equals(ChosenStatus)) { obj.serviceVisitStatus = ((ServiceVisitStatus)field.GetValue(null)).ToString(); break; } } if (TechnicianInspection == true) { bool result = await new ServicesHandler.ServiceVisitServices().SubmitServiceVisit(ServiceVisitID.ToString(), obj); System.Console.WriteLine("*******" + result); if (result == true) { MessagingCenter.Send(this, "submitTask"); } else { MessagingCenter.Send(this, "error"); } } else { MessagingCenter.Send(this, "needInspection"); } }
public async Task <bool> SubmitServiceVisit(String ServiceVisitId, ServiceVisitSubmission submissionObject) { String url = Configuration.baseURL + "/ServiceVisits/" + ServiceVisitId + "/submit"; var json = JsonConvert.SerializeObject(submissionObject); var content = new StringContent(json, Encoding.UTF8, "application/json"); try { //set token String token = CrossSecureStorage.Current.GetValue("Token"); _httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token); var current = Connectivity.NetworkAccess; if (current == NetworkAccess.Internet) { var respond = await _httpClient.PutAsync(url, content); if (respond.StatusCode == System.Net.HttpStatusCode.OK) { return(true); } else { return(false); } } else { return(false); } } catch (Exception) { return(false); } }