Пример #1
0
        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();
                }
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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();
            }
        }