Example #1
0
        //-----------------------------------------------------------------------------------------------------------



        //-----------------------------------------------------------------------------------------------------------

        protected void grdOrders_UpdateCommand(object source, GridCommandEventArgs e)
        {
            GridEditableItem editedItem = e.Item as GridEditableItem;
            int orderId = 0;

            if (!String.IsNullOrEmpty(editedItem.GetDataKeyValue("OrderId").ToString()))
            {
                orderId = Convert.ToInt32(editedItem.GetDataKeyValue("OrderId").ToString());
            }

            if (orderId > 0)
            {
                RadNumericTextBox txtNoPallets    = (RadNumericTextBox)e.Item.FindControl("txtNoPallets");
                RadNumericTextBox txtPalletSpaces = (RadNumericTextBox)e.Item.FindControl("txtPalletSpaces");
                RadNumericTextBox txtWeight       = (RadNumericTextBox)e.Item.FindControl("txtWeight");
                RadNumericTextBox txtQtrPallets   = (RadNumericTextBox)e.Item.FindControl("txtQtrPallets");
                RadNumericTextBox txtHalfPallets  = (RadNumericTextBox)e.Item.FindControl("txtHalfPallets");
                RadNumericTextBox txtFullPallets  = (RadNumericTextBox)e.Item.FindControl("txtFullPallets");
                RadNumericTextBox txtOverPallets  = (RadNumericTextBox)e.Item.FindControl("txtOverPallets");

                Orchestrator.EF.DataContext context   = new Orchestrator.EF.DataContext();
                Orchestrator.EF.VigoOrder   vigoOrder = context.VigoOrderSet.FirstOrDefault(vo => vo.OrderId == orderId);

                vigoOrder.QtrPallets  = Convert.ToInt32(txtQtrPallets.Value);
                vigoOrder.HalfPallets = Convert.ToInt32(txtHalfPallets.Value);
                vigoOrder.FullPallets = Convert.ToInt32(txtFullPallets.Value);
                vigoOrder.OverPallets = Convert.ToInt32(txtOverPallets.Value);

                vigoOrder.LastUpdateDate   = DateTime.Now;
                vigoOrder.LastUpdateUserId = Page.User.Identity.Name;

                context.SaveChanges(true);

                //Orchestrator.EF.RateInformation rateInformation = null;

                Facade.IOrder facOrder            = new Facade.Order();
                Orchestrator.Entities.Order order = facOrder.GetForOrderID(orderId);

                order.NoPallets    = Convert.ToInt32(txtNoPallets.Value);
                order.PalletSpaces = Convert.ToDecimal(txtPalletSpaces.Value);
                order.Weight       = Convert.ToDecimal(txtWeight.Value);

                order.LastUpdatedDateTime = DateTime.Now;
                order.LastUpdatedBy       = Page.User.Identity.Name;


                facOrder.Update(order, Page.User.Identity.Name);

                // We need to make sure the subcontractor (Palletforce) costs are re-rated
                Facade.IJobSubContractor jobSubContractor = new Facade.Job();
                if (order != null && order.JobSubContractID > 0)
                {
                    Entities.JobSubContractor js = jobSubContractor.GetSubContractorForJobSubContractId(order.JobSubContractID);
                    jobSubContractor.UpdateSubContractorCostsForOrders(new List <int>()
                    {
                        order.OrderID
                    }, js, this.Page.User.Identity.Name);
                }


                CheckBoxList        cblSurcharge = e.Item.FindControl("cblSurcharges") as CheckBoxList;
                List <EF.ExtraType> extraTypes   = context.ExtraTypeSet.Select(et => et).ToList();

                List <int> selectedExtraTypeIds = new List <int>();
                foreach (ListItem item in cblSurcharge.Items)
                {
                    if (item.Selected)
                    {
                        selectedExtraTypeIds.Add(int.Parse(item.Value));
                    }
                }

                //Remove the selected extras which are already present
                foreach (var extra in vigoOrder.VigoOrderExtras)
                {
                    selectedExtraTypeIds.Remove(extra.ExtraType.ExtraTypeId);
                }

                //Now add Extras for the selected extras remaining
                foreach (int extraTypeId in selectedExtraTypeIds)
                {
                    var vigoOrderExtra = new EF.VigoOrderExtra();
                    vigoOrderExtra.ExtraType = extraTypes.First(et => et.ExtraTypeId == extraTypeId); //new EntityKey("DataContext.ExtraTypeSet", "ExtraTypeId", extraTypeId);
                    vigoOrder.VigoOrderExtras.Add(vigoOrderExtra);
                }


                context.SaveChanges();

                //this.grdOrders.DataSource = null;
                //this.grdOrders.Rebind();
            }
        }
        //-----------------------------------------------------------------------------------------------------------

        protected void grdOrders_UpdateCommand(object source, GridCommandEventArgs e)
        {
            GridEditableItem editedItem = e.Item as GridEditableItem;
            int orderId = 0;

            if (!String.IsNullOrEmpty(editedItem.GetDataKeyValue("OrderId").ToString()))
            {
                orderId = Convert.ToInt32(editedItem.GetDataKeyValue("OrderId").ToString());
            }

            if (orderId > 0)
            {
                RadNumericTextBox txtNoPallets    = (RadNumericTextBox)e.Item.FindControl("txtNoPallets");
                RadNumericTextBox txtPalletSpaces = (RadNumericTextBox)e.Item.FindControl("txtPalletSpaces");
                RadNumericTextBox txtWeight       = (RadNumericTextBox)e.Item.FindControl("txtWeight");
                RadNumericTextBox txtQtrPallets   = (RadNumericTextBox)e.Item.FindControl("txtQtrPallets");
                RadNumericTextBox txtHalfPallets  = (RadNumericTextBox)e.Item.FindControl("txtHalfPallets");
                RadNumericTextBox txtFullPallets  = (RadNumericTextBox)e.Item.FindControl("txtFullPallets");
                RadNumericTextBox txtOverPallets  = (RadNumericTextBox)e.Item.FindControl("txtOverPallets");

                Orchestrator.EF.DataContext context   = new Orchestrator.EF.DataContext();
                Orchestrator.EF.VigoOrder   vigoOrder = context.VigoOrderSet.FirstOrDefault(vo => vo.OrderId == orderId);

                vigoOrder.QtrPallets  = Convert.ToInt32(txtQtrPallets.Value);
                vigoOrder.HalfPallets = Convert.ToInt32(txtHalfPallets.Value);
                vigoOrder.FullPallets = Convert.ToInt32(txtFullPallets.Value);
                vigoOrder.OverPallets = Convert.ToInt32(txtOverPallets.Value);

                vigoOrder.LastUpdateDate   = DateTime.Now;
                vigoOrder.LastUpdateUserId = Page.User.Identity.Name;

                context.SaveChanges(true);

                //Orchestrator.EF.RateInformation rateInformation = null;

                Facade.IOrder facOrder            = new Facade.Order();
                Orchestrator.Entities.Order order = facOrder.GetForOrderID(orderId);

                order.NoPallets    = Convert.ToInt32(txtNoPallets.Value);
                order.PalletSpaces = Convert.ToDecimal(txtPalletSpaces.Value);
                order.Weight       = Convert.ToDecimal(txtWeight.Value);

                order.LastUpdatedDateTime = DateTime.Now;
                order.LastUpdatedBy       = Page.User.Identity.Name;

                //// Rate has not changed so auto rate it
                //if (order.ForeignRate == Convert.ToDecimal(txtRate.Value.Value))
                //{
                //    IEnumerable<Orchestrator.EF.RateSurcharge> rateSurcharge = new List<Orchestrator.EF.RateSurcharge>();
                //    rateInformation = facOrder.GetRate(order, true, out rateSurcharge);

                //    if (rateInformation != null)
                //    {
                //        order.TariffRateID = rateInformation.TariffRateId;
                //        order.ForeignRate = rateInformation.ForeignRate;
                //        order.Rate = rateInformation.Rate;
                //    }
                //    else
                //    {
                //        Facade.IExchangeRates facER = new Facade.ExchangeRates();
                //        CultureInfo nativeCulture = new CultureInfo(Orchestrator.Globals.Configuration.NativeCulture);

                //        order.ForeignRate = Convert.ToDecimal(txtRate.Value);

                //        if (order.LCID != nativeCulture.LCID)
                //        {
                //            order.ExchangeRateID = facER.GetCurrentExchangeRateID(Facade.Culture.GetCurrencySymbol(order.LCID), order.CollectionDateTime);
                //            order.Rate = facER.GetConvertedRate((int)order.ExchangeRateID, order.ForeignRate);
                //        }
                //        else
                //            order.Rate = order.ForeignRate;

                //        order.IsTariffOverride = true;
                //        order.TariffRateID = null;
                //        order.TariffOverrideUserID = Page.User.Identity.Name;
                //        order.TariffOverrideDate = DateTime.Now;
                //    }
                //}
                //else
                //{
                //    Facade.IExchangeRates facER = new Facade.ExchangeRates();
                //    CultureInfo nativeCulture = new CultureInfo(Orchestrator.Globals.Configuration.NativeCulture);

                //    order.ForeignRate = Convert.ToDecimal(txtRate.Value);

                //    if (order.LCID != nativeCulture.LCID)
                //    {
                //        order.ExchangeRateID = facER.GetCurrentExchangeRateID(Facade.Culture.GetCurrencySymbol(order.LCID), order.CollectionDateTime);
                //        order.Rate = facER.GetConvertedRate((int)order.ExchangeRateID, order.ForeignRate);
                //    }
                //    else
                //        order.Rate = order.ForeignRate;

                //    order.IsTariffOverride = true;
                //    order.TariffRateID = null;
                //    order.TariffOverrideUserID = Page.User.Identity.Name;
                //    order.TariffOverrideDate = DateTime.Now;
                //}

                facOrder.Update(order, Page.User.Identity.Name);

                // We need to make sure the subcontractor (Palletforce) costs are re-rated
                Facade.IJobSubContractor jobSubContractor = new Facade.Job();
                if (order != null && order.JobSubContractID > 0)
                {
                    Entities.JobSubContractor js = jobSubContractor.GetSubContractorForJobSubContractId(order.JobSubContractID);
                    jobSubContractor.UpdateSubContractorCostsForOrders(new List <int>()
                    {
                        order.OrderID
                    }, js, this.Page.User.Identity.Name);
                }

                this.grdOrders.DataSource = null;
                this.grdOrders.Rebind();
            }
        }