private async Task DeleteAsync(InspectionHeaderModel row)
        {
            try
            {
                UserDialogs.Instance.ShowLoading("Deleting...");
                InspectionHeadersRequestDTO inspectionTbsRequestDTO = new InspectionHeadersRequestDTO()
                {
                    Id = row.Id,
                    //IsActive = false
                };
                var result = await webServiceManager.DeleteInspectionById(inspectionTbsRequestDTO).ConfigureAwait(true);

                if (result.IsSuccess)
                {
                    //write here logic for the after deleting row.
                }
            }
            catch
            {
                UserDialogs.Instance.HideLoading();
            }
            finally
            {
                UserDialogs.Instance.HideLoading();
            }
        }
Exemplo n.º 2
0
        public async Task <WebServiceResult <InspectionHeadersResponseDTO> > RegistrationInspectionHeaderAsync(InspectionHeadersRequestDTO 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 <InspectionHeadersResponseDTO>("InspectionHeaders/InsertInspectionHeaders", utfString);

            return(result);
        }
Exemplo n.º 3
0
        public async Task <WebServiceResult <InspectionHeadersResponseDTO> > GetHeaderbyID(InspectionHeadersRequestDTO 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 <InspectionHeadersResponseDTO>("InspectionHeaders/GetAllInspectionHeader", utfString);

            return(result);
        }
Exemplo n.º 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();
            }
        }
Exemplo n.º 5
0
        static async Task SyncHeaderDetails()
        {
            InspectionHeadersRequestDTO headerRequestDTO = new InspectionHeadersRequestDTO()
            {
                CompanyId = Convert.ToInt32(RememberMe.Get("CmpID")),
                UserId    = Convert.ToInt32(RememberMe.Get("userID")),
            };
            var result = await webServiceManager.GetHeaderbyID(headerRequestDTO).ConfigureAwait(true);

            if (result.IsSuccess)
            {
                if (result.Data.InspectionHeader != null && result.Data.InspectionHeader.Count > 0)
                {
                    InspectionHeaderList = new ObservableCollection <InspectionHeaderTable>();
                    foreach (var data in result.Data.InspectionHeader)
                    {
                        InspectionHeaderList.Add(new InspectionHeaderTable
                        {
                            Id                     = data.Id,
                            CompanyId              = data.CompanyId,
                            InspectionDate         = data.InspectionDate,
                            UserId                 = data.UserId,
                            Invoice                = data.Invoice,
                            ProducerId             = data.ProducerId,
                            VarietyId              = data.VarietyId,
                            BrandId                = data.BrandId,
                            CountryofOriginId      = data.CountryofOriginId,
                            TotalBoxQuantities     = data.TotalBoxQuantities,
                            TempOnCaja             = data.TempOnCaja,
                            TempOnTermografo       = data.TempOnTermografo,
                            PalletizingConditionId = data.PalletizingConditionId,
                        });
                    }
                }
                await HeaderRepo.DeleteAllAsync <InspectionHeaderTable>();

                await HeaderRepo.InsertAll(InspectionHeaderList);

                var resultDetails = await webServiceManager.GetHeaderDetailsAll().ConfigureAwait(true);

                if (resultDetails.IsSuccess)
                {
                    if (resultDetails.Data.InspectionDetail != null && resultDetails.Data.InspectionDetail.Count > 0)
                    {
                        InspectionDetailsList = new ObservableCollection <InspectionDetailTable>();

                        foreach (var data in resultDetails.Data.InspectionDetail)
                        {
                            InspectionDetailsList.Add(new InspectionDetailTable
                            {
                                Id = data.Id,
                                InspectionHeaderId = data.InspectionHeaderId,
                                SizeId             = data.SizeId,
                                SampleSize         = data.SampleSize,
                                Weight             = data.Weight,
                                PhysicalCount      = data.PhysicalCount,
                                OpeningApperenceId = data.OpeningApperenceId,
                                Temperature        = data.Temperature,
                                Brix               = data.Brix,
                                Firmness           = data.Firmness,
                                SkinDamage         = data.SkinDamage,
                                Color              = data.Color,
                                PackageConditionId = data.PackageConditionId,
                                Comment            = data.Comment,
                                QualityScore       = data.QualityScore,
                            });
                        }
                    }
                    await DetailsRepo.DeleteAllAsync <InspectionDetailTable>();

                    await DetailsRepo.InsertAll(InspectionDetailsList);
                }
            }
            else
            {
                Console.WriteLine("Prolem in header and details sync");
            }
        }
Exemplo n.º 6
0
        public async void AddNew_Command()
        {
            if (SelectedCompany == null)
            {
                await App.Current.MainPage.DisplayAlert("Alert ", "Please Select Company Name!", "ok");
            }
            else if (string.IsNullOrEmpty(Invoice))
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Invoice!", "ok");
            }
            else if (SelectedProduct == null)
            {
                await App.Current.MainPage.DisplayAlert("Alert ", "Please Select Product Name!", "ok");
            }
            else if (SelectedVariety == null)
            {
                await App.Current.MainPage.DisplayAlert("Alert ", "Please Select Variety Name!", "ok");
            }
            else if (SelectedBrand == null)
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Select Brand Name!", "ok");
            }
            else if (SelectedCountryofOrigin == null)
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Select CountryofOrigin Name!", "ok");
            }
            else if (TotalBoxQua == 0)
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Total Box Quantities!", "ok");
            }
            else if (TempOnCaja == 0)
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Temp On Caja!", "ok");
            }
            else if (TempOnTermografo == 0)
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Enter Temp On Termografo!", "ok");
            }
            else if (SelectedPalletizingCondition == null)
            {
                await App.Current.MainPage.DisplayAlert("Alert", "Please Select Palletizing Condition!", "ok");
            }
            else
            {
                try
                {
                    UserDialogs.Instance.ShowLoading("Loading...");
                    RememberMe.Set("isSyncDatabse", true);
                    await Xamarin.Forms.Application.Current.SavePropertiesAsync();

                    InspectionHeadersRequestDTO inspectionHeaderRequestDTO = new InspectionHeadersRequestDTO()
                    {
                        Id                     = _InspectionHeader != null ? _InspectionHeader.Id : 0,
                        CompanyId              = (int)SelectedCompany.Id,
                        InspectionDate         = DateTime.Now,
                        UserId                 = Convert.ToInt32(RememberMe.Get("userID")),
                        Invoice                = Invoice,
                        ProducerId             = (int)SelectedProduct.Id,
                        VarietyId              = (int)SelectedVariety.Id,
                        BrandId                = (int)SelectedBrand.Id,
                        CountryofOriginId      = (int)SelectedCountryofOrigin.Id,
                        TotalBoxQuantities     = TotalBoxQua,
                        TempOnCaja             = TempOnCaja,
                        TempOnTermografo       = TempOnTermografo,
                        PalletizingConditionId = (int)SelectedPalletizingCondition.Id,
                    };
                    Model.InspectionHeaderTable inspectionHeaderTable = new Model.InspectionHeaderTable
                    {
                        Id                     = 0,
                        CompanyId              = inspectionHeaderRequestDTO.CompanyId,
                        InspectionDate         = inspectionHeaderRequestDTO.InspectionDate,
                        UserId                 = inspectionHeaderRequestDTO.UserId,
                        Invoice                = inspectionHeaderRequestDTO.Invoice,
                        ProducerId             = inspectionHeaderRequestDTO.ProducerId,
                        VarietyId              = inspectionHeaderRequestDTO.VarietyId,
                        BrandId                = inspectionHeaderRequestDTO.BrandId,
                        CountryofOriginId      = inspectionHeaderRequestDTO.CountryofOriginId,
                        TotalBoxQuantities     = inspectionHeaderRequestDTO.TotalBoxQuantities,
                        TempOnCaja             = inspectionHeaderRequestDTO.TempOnCaja,
                        TempOnTermografo       = inspectionHeaderRequestDTO.TempOnTermografo,
                        PalletizingConditionId = inspectionHeaderRequestDTO.PalletizingConditionId,
                    };

                    if (ConfigurationCommon.App_Online)
                    {
                        var result = await webServiceManager.RegistrationInspectionHeaderAsync(inspectionHeaderRequestDTO).ConfigureAwait(true);;
                        if (result.IsSuccess && result.Data.StatusCode == 0)
                        {
                            await App.Current.MainPage.DisplayAlert("Alert", "Inspection Header has been Saved!", "ok");

                            int InspectionID = _InspectionHeader != null ? _InspectionHeader.Id : 0;
                            var parameters   = new NavigationParameters();
                            if (InspectionID > 0)
                            {
                                HeaderAsync(inspectionHeaderTable, result.Data.Id, false);
                                parameters.Add("HeaderID", result.Data.Id);
                                await _navigationService.NavigateAsync("InspectionDetailsListPage", parameters);
                            }
                            else
                            {
                                UserDialogs.Instance.ShowLoading();
                                HeaderAsync(inspectionHeaderTable, result.Data.Id, true);
                                parameters.Add("HeaderID", result.Data.Id);
                                parameters.Add("ScreenRight", "New Detail Inspection");
                                await _navigationService.NavigateAsync("AddNewDetailsInspectionPage", parameters);

                                UserDialogs.Instance.HideLoading();
                            }
                        }
                        else
                        {
                            await App.Current.MainPage.DisplayAlert("Alert", result.Data.Status, "ok");
                        }
                    }
                    else
                    {
                        int MaxHeaderCode = 0;
                        if (inspectionHeaderRequestDTO.Id == 0)
                        {
                            var data = await InitData.HeaderRepo.GetMaxCode(x => x.Id, false);

                            MaxHeaderCode = (int)data.Id + 1;
                        }
                        else
                        {
                            MaxHeaderCode = inspectionHeaderRequestDTO.Id;
                        }

                        if (inspectionHeaderRequestDTO.Id > 0)
                        {
                            HeaderAsync(inspectionHeaderTable, MaxHeaderCode, false);

                            await App.Current.MainPage.DisplayAlert("Alert", "Inspection Header has been Saved!", "Ok");

                            var parameters = new NavigationParameters();
                            if (MaxHeaderCode > 0)
                            {
                                parameters.Add("HeaderID", MaxHeaderCode);
                                await _navigationService.NavigateAsync("InspectionDetailsListPage", parameters);
                            }
                        }
                        else
                        {
                            HeaderAsync(inspectionHeaderTable, MaxHeaderCode, true);

                            await App.Current.MainPage.DisplayAlert("Alert", "Inspection Header has been Saved!", "Ok");

                            var parameters = new NavigationParameters();
                            if (MaxHeaderCode > 0)
                            {
                                parameters.Add("HeaderID", MaxHeaderCode);
                                await _navigationService.NavigateAsync("InspectionDetailsListPage", parameters);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    UserDialogs.Instance.HideLoading();
                    throw ex;
                }
                finally
                {
                    UserDialogs.Instance.HideLoading();
                }
            }
        }