public async Task <GetJsonTasklog> CreateTaskLogAsync(JsonTaskLog datatasklog) { string sUrl = "https://acute360.com/WS/1/my-tasklogs"; var responseData = string.Empty; bool result = false; GetJsonTasklog tasklog = new GetJsonTasklog(); try { var json = JsonConvert.SerializeObject(datatasklog); var content = new StringContent(json, Encoding.UTF8, "application/vnd.api+json"); var response = await this.PostAsync(sUrl, content); if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { result = false; tasklog = null; } else { var responsestr = response.Content.ReadAsStringAsync().Result; tasklog = JsonConvert.DeserializeObject <GetJsonTasklog>(responsestr, _serializerSettings); result = true; } } catch (HttpRequestException ex) { return(null); } catch (Exception ex) { return(null); } return(tasklog); }
private async Task Edit() { IsBusy = true; var alertMessage = "Please try again!"; var alertTitle = "Authentication failed!"; var okButtonLabel = "OK"; GetJsonTasklog tasklog = null; try { if (!CrossConnectivity.Current.IsConnected) { await App.Current.MainPage.DisplayAlert("Error", "Check you internet connection.", "Cancel"); return; } var isReachable = await CrossConnectivity.Current.IsRemoteReachable("google.com"); if (!isReachable) { await App.Current.MainPage.DisplayAlert("Error", "Check you internet connection.", "Cancel"); return; } if (Hours == null || Percentage == null) { await App.Current.MainPage.DisplayAlert("Error", "You must enter valid values", "Cancel"); return; } if (Convert.ToDouble(Hours) == 0 || Convert.ToDouble(Hours) < 0) { await App.Current.MainPage.DisplayAlert("Error", "You must enter the hours.", "Cancel"); return; } if (Convert.ToDouble(Percentage) == 0 || Convert.ToDouble(Percentage) < 0) { await App.Current.MainPage.DisplayAlert("Error", "You must enter the %RD.", "Cancel"); return; } if (Convert.ToDouble(Percentage) > 100) { await App.Current.MainPage.DisplayAlert("Error", "You must enter valid %RD.", "Cancel"); return; } if (TextSpeech == "") { await App.Current.MainPage.DisplayAlert("Error", "You must enter the comments.", "Cancel"); return; } var listattach = new System.Collections.Generic.List <JsonAttach>(); List <DataAttach> DataAttach = new List <DataAttach>(); if (PercentageInicial == Percentage && HoursInicial == Hours && TextSpeechInicial == TextSpeech) { if (Attachments.Count != AttachmentsInicial.Count) { listattach = await createattach(); foreach (var item in listattach) { if (item != null) { DataAttach.Add(item.data); } } } else { alertTitle = "Message!"; alertMessage = "No modifications."; await App.Current.MainPage.DisplayAlert(alertTitle, alertMessage, okButtonLabel); return; } if (AttachmentsInicial.Count != Attachments.Count) { bool result2 = false; foreach (var item in DataAttach) { try { if (item != null) { var JsonAttachments = new JsonAttachmentsSave(); JsonAttachments.data = item; result2 = await sdk.TaskLogService.AddattachTaskLogAsync(JsonAttachments, Attachments, TaskContentPageModel.Instance.AttributesTaskLogSelected.idtasklog, ""); } } catch (Exception) { } } if (result2 == false) { alertTitle = "Something went wrong!"; alertMessage = "Contact the system administrator."; ErrorMessage = "Something went wrong!"; ErrorVisible = true; } else { alertTitle = "Message!"; alertMessage = "Successfully Saved."; //ErrorVisible = true; } await App.Current.MainPage.DisplayAlert(alertTitle, alertMessage, okButtonLabel); //await App.Navigator.PopAsync(); if (result2 == true) { await App.Navigator.PopAsync(); return; } } } if (Attachments.Count > 0) { listattach = await createattach(); } //List<DataAttach> DataAttach = new List<DataAttach>(); foreach (var item in listattach) { if (item != null) { DataAttach.Add(item.data); } } var jsontasklog = new JsonTaskLog(); jsontasklog.data = new JsonDataTaskLog(); var datatasklog = new JsonDataTaskLog(); var relationshipstasklog = new JsonRelationshipsTaskLog(); datatasklog.attributes = new JsonAttributesTaskLog(); datatasklog.attributes.comment = TextSpeech; datatasklog.attributes.date = Fecha.ToString("yyyy-MM-dd"); datatasklog.attributes.minutes = Convert.ToInt16(Hours); datatasklog.attributes.percentRnd = Convert.ToInt16(Percentage); datatasklog.type = "tasklogs"; relationshipstasklog.activity = new JsonActivityTaskLog(); relationshipstasklog.activity.data = new JsonDataActivityTaskLog(); relationshipstasklog.activity.data.id = Convert.ToInt16(TaskContentPageModel.Instance._Activiy.idactivity); relationshipstasklog.activity.data.type = "activities"; datatasklog.relationships = new JsonRelationshipsTaskLog(); relationshipstasklog.attachments = new JsonAttachments(); relationshipstasklog.attachments.data = new System.Collections.Generic.List <DataAttach>(); datatasklog.relationships = relationshipstasklog; jsontasklog.data = datatasklog; tasklog = await sdk.TaskLogService.CreateTaskLogAsync(jsontasklog); if (tasklog == null) { alertTitle = "Something went wrong!"; alertMessage = "Contact the system administrator."; ErrorMessage = "Something went wrong!"; ErrorVisible = true; } else { alertTitle = "Message!"; alertMessage = "Successfully Saved."; //ErrorVisible = true; } // await App.Navigator.PopAsync(); } catch (Exception ex) { alertTitle = "Something went wrong!"; alertMessage = "Contact the system administrator."; ErrorMessage = ex.Message; ErrorVisible = true; } finally { IsBusy = false; } await App.Current.MainPage.DisplayAlert(alertTitle, alertMessage, okButtonLabel); //await App.Navigator.PopAsync(); if (tasklog != null) { await App.Navigator.PopAsync(); } }