public async void AddNew_Command() { if (SampleSize == 0) { await App.Current.MainPage.DisplayAlert("Alert ", "Please Enter Sample Size!", "ok"); } else if (SelectedSize == null) { await App.Current.MainPage.DisplayAlert("Alert", "Please select Size Description!", "ok"); } else if (SelectedOppening == null) { await App.Current.MainPage.DisplayAlert("Alert", "Please select Oppening!", "ok"); } else if (SelectedPackageCondition == null) { await App.Current.MainPage.DisplayAlert("Alert", "Please select Package Condition!", "ok"); } else if (Weight == 0) { await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Weight!", "ok"); } else if (PhysicalCount == 0) { await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Physical Count!", "ok"); } else if (Temperature == 0) { await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Temperature!", "ok"); } else if (Brix == 0) { await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Brix!", "ok"); } else if (Firmness == 0) { await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Firmness!", "ok"); } else { try { UserDialogs.Instance.ShowLoading("Loading..."); RememberMe.Set("isSyncDatabse", true); await Xamarin.Forms.Application.Current.SavePropertiesAsync(); InspectionDetailsRequestDTO inspectionRequestDTO = new InspectionDetailsRequestDTO() { Id = InspectionDetailsID, InspectionHeaderId = InspectionHeaderID, SizeId = (int)SelectedSize.Id, //SizeId = 3, SampleSize = SampleSize, Weight = Weight, PhysicalCount = PhysicalCount, OpeningApperenceId = (int)SelectedOppening.Id, //OpeningApperenceId = 2, Temperature = Temperature, Brix = Brix, Firmness = Firmness, SkinDamage = SkinDamage, Color = Color, PackageConditionId = (int)SelectedPackageCondition.Id, //PackageConditionId = 1, Comment = Comment, QualityScore = QualityScore }; Model.InspectionDetailTable inspectionDetailTable = new Model.InspectionDetailTable { Id = 0, InspectionHeaderId = inspectionRequestDTO.InspectionHeaderId, SizeId = inspectionRequestDTO.SizeId, SampleSize = inspectionRequestDTO.SampleSize, Weight = inspectionRequestDTO.Weight, PhysicalCount = inspectionRequestDTO.PhysicalCount, OpeningApperenceId = inspectionRequestDTO.OpeningApperenceId, Temperature = inspectionRequestDTO.Temperature, Brix = inspectionRequestDTO.Brix, Firmness = inspectionRequestDTO.Firmness, SkinDamage = inspectionRequestDTO.SkinDamage, Color = inspectionRequestDTO.Color, PackageConditionId = inspectionRequestDTO.PackageConditionId, Comment = inspectionRequestDTO.Comment, QualityScore = inspectionRequestDTO.QualityScore, }; if (ConfigurationCommon.App_Online) { var result = await webServiceManager.RegistrationInspectionDetailsAsync(inspectionRequestDTO).ConfigureAwait(true);; if (result.IsSuccess && result.Data.StatusCode == 0) { if (InspectionDetailsID > 0) { HeaderAsync(inspectionDetailTable, result.Data.Id, false); } else { HeaderAsync(inspectionDetailTable, result.Data.Id, true); } // save data await App.Current.MainPage.DisplayAlert("Alert", "Inspection Details has been Saved!", "ok"); if (DashBoardViewModel.CheckNewInspection) { await _navigationService.GoBackToRootAsync(); } else { await _navigationService.GoBackAsync(); } } else { await App.Current.MainPage.DisplayAlert("Alert", result.Data.Status, "ok"); } } else { int MaxHeaderCode = 0; if (InspectionDetailsID == 0) { var data = await InitData.HeaderRepo.GetMaxCode(x => x.Id, false); MaxHeaderCode = (int)data.Id + 1; } else { MaxHeaderCode = InspectionDetailsID; } if (InspectionDetailsID > 0) { inspectionDetailTable.ModifiedAt = DateTime.Now; inspectionDetailTable.Updated = true; HeaderAsync(inspectionDetailTable, MaxHeaderCode, false); await App.Current.MainPage.DisplayAlert("Alert", "Inspection Details has been Saved!", "ok"); if (DashBoardViewModel.CheckNewInspection) { await _navigationService.GoBackAsync(); await _navigationService.GoBackAsync(); //await _navigationService.GoBackToRootAsync(); } else { await _navigationService.GoBackAsync(); } } else { inspectionDetailTable.CreatedAt = DateTime.Now; inspectionDetailTable.NewEntry = true; HeaderAsync(inspectionDetailTable, MaxHeaderCode, true); await App.Current.MainPage.DisplayAlert("Alert", "Inspection Details has been Saved!", "ok"); if (DashBoardViewModel.CheckNewInspection) { await _navigationService.GoBackToRootAsync(); } else { await _navigationService.GoBackAsync(); } } } } catch (Exception ex) { UserDialogs.Instance.HideLoading(); throw ex; } finally { UserDialogs.Instance.HideLoading(); } } }
public async Task <WebServiceResult <InspectionDetailsResponseDTO> > GetHeaderDetailsbyID(InspectionDetailsRequestDTO warehousesRequestDTO) { UTF8Encoding encoder = new UTF8Encoding(); byte[] data = encoder.GetBytes(JsonConvert.SerializeObject(warehousesRequestDTO)); string utfString = Encoding.UTF8.GetString(data, 0, data.Length); var result = await webService.PostAsync <InspectionDetailsResponseDTO>("InspectionDetails/GetInspectionDetailsByHeaderId", utfString); return(result); }
public async Task <WebServiceResult <InspectionDetailsResponseDTO> > RegistrationInspectionDetailsAsync(InspectionDetailsRequestDTO inspectionRequestDTO) { UTF8Encoding encoder = new UTF8Encoding(); byte[] data = encoder.GetBytes(JsonConvert.SerializeObject(inspectionRequestDTO)); string utfString = Encoding.UTF8.GetString(data, 0, data.Length); var result = await webService.PostAsync <InspectionDetailsResponseDTO>("InspectionDetails/InsertInspectionDetails", utfString); return(result); }
public static async void SyncHeaderDetailsInServer() { try { UserDialogs.Instance.ShowLoading("Data Syncing..."); var result = await HeaderRepo.Get <List <InspectionHeaderTable> >(x => x.NewEntry == true || x.Updated == true); if (result != null) { foreach (var item in result) { InspectionHeadersRequestDTO inspectionHeaderRequestDTO = new InspectionHeadersRequestDTO() { Id = item.NewEntry ? 0 : (int)item.Id, CompanyId = (int)item.CompanyId, InspectionDate = item.InspectionDate, UserId = item.UserId, Invoice = item.Invoice, ProducerId = (int)item.ProducerId, VarietyId = (int)item.VarietyId, BrandId = (int)item.BrandId, CountryofOriginId = item.CountryofOriginId, TotalBoxQuantities = item.TotalBoxQuantities, TempOnCaja = item.TempOnCaja, TempOnTermografo = item.TempOnTermografo, PalletizingConditionId = item.PalletizingConditionId, }; var resultWeb = await webServiceManager.RegistrationInspectionHeaderAsync(inspectionHeaderRequestDTO).ConfigureAwait(true); if (resultWeb.IsSuccess && resultWeb.Data.StatusCode == 0) { var resultDetailsInner = await DetailsRepo.Get <List <InspectionDetailTable> >(x => (x.NewEntry == true || x.Updated == true) && x.InspectionHeaderId == item.Id); item.NewEntry = false; item.Updated = false; await HeaderRepo.DeleteItemAsync(x => x.Id == item.Id); item.Id = resultWeb.Data.Id; await HeaderRepo.UpdateItemAsync(item); Console.WriteLine("header data sync : " + resultWeb.Data.Id); if (resultDetailsInner != null) { foreach (var itemInner in resultDetailsInner) { InspectionDetailsRequestDTO inspectionRequestDTO = new InspectionDetailsRequestDTO() { Id = itemInner.NewEntry ? 0 : (int)itemInner.Id, InspectionHeaderId = resultWeb.Data.Id, SizeId = itemInner.SizeId, SampleSize = itemInner.SampleSize, Weight = itemInner.Weight, PhysicalCount = itemInner.PhysicalCount, OpeningApperenceId = itemInner.OpeningApperenceId, Temperature = itemInner.Temperature, Brix = itemInner.Brix, Firmness = itemInner.Firmness, SkinDamage = itemInner.SkinDamage, Color = itemInner.Color, PackageConditionId = itemInner.PackageConditionId, Comment = itemInner.Comment, QualityScore = itemInner.QualityScore }; var resultInnerWeb = await webServiceManager.RegistrationInspectionDetailsAsync(inspectionRequestDTO).ConfigureAwait(true); if (resultInnerWeb.IsSuccess && resultInnerWeb.Data.StatusCode == 0) { itemInner.NewEntry = false; itemInner.Updated = false; if (itemInner.Id == 0) { await DetailsRepo.DeleteItemAsync(x => x.Id == resultInnerWeb.Data.Id && x.InspectionHeaderId == resultWeb.Data.Id); itemInner.Id = resultInnerWeb.Data.Id; itemInner.InspectionHeaderId = resultWeb.Data.Id; await DetailsRepo.InsertItemAsync(itemInner); } else { itemInner.Id = resultInnerWeb.Data.Id; itemInner.InspectionHeaderId = resultWeb.Data.Id; await DetailsRepo.UpdateItemAsync(itemInner); } Console.WriteLine("details data sync : " + resultInnerWeb.Data.Id); } } } } } } var resultDetails = await DetailsRepo.Get <List <InspectionDetailTable> >(x => x.NewEntry == true || x.Updated == true); if (resultDetails != null) { foreach (var item in resultDetails) { InspectionDetailsRequestDTO inspectionRequestDTO = new InspectionDetailsRequestDTO() { Id = item.NewEntry ? 0 : (int)item.Id, InspectionHeaderId = item.InspectionHeaderId, SizeId = item.SizeId, SampleSize = item.SampleSize, Weight = item.Weight, PhysicalCount = item.PhysicalCount, OpeningApperenceId = item.OpeningApperenceId, Temperature = item.Temperature, Brix = item.Brix, Firmness = item.Firmness, SkinDamage = item.SkinDamage, Color = item.Color, PackageConditionId = item.PackageConditionId, Comment = item.Comment, QualityScore = item.QualityScore }; var resultWeb = await webServiceManager.RegistrationInspectionDetailsAsync(inspectionRequestDTO).ConfigureAwait(true); if (resultWeb.IsSuccess && resultWeb.Data.StatusCode == 0) { item.NewEntry = false; item.Updated = false; if (item.Id == resultWeb.Data.Id) { await DetailsRepo.UpdateItemAsync(item); } else { await DetailsRepo.DeleteItemAsync(x => x.Id == item.Id && x.InspectionHeaderId == item.InspectionHeaderId); item.Id = resultWeb.Data.Id; await DetailsRepo.InsertItemAsync(item); } Console.WriteLine("details data sync : " + resultWeb.Data.Id); } } } UserDialogs.Instance.HideLoading(); } catch (Exception ex) { Console.WriteLine("Error in Data Syncing in Server:" + ex.Message); UserDialogs.Instance.HideLoading(); } }