//----------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------- 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(); } }