private void OnGridBeforeRowUpdate(object sender, Infragistics.Win.UltraWinGrid.CancelableRowEventArgs e) { //Event handler for data entry row updated try { //There is no selected row when updating- at a cell level int id = 0; string agent = "", route = "", maxTrigFld = ""; DateTime date; double mile = 0.0; decimal baseRate = 0.0M, rate = 0.0M; int equip = 0, status = 1, maxTrigVal = 0; decimal dayRate = 0.0M, tripRate = 0.0M, stopRate = 0.0M, ctnRate = 0.0M, palletRate = 0.0M, pickupCtnRate = 0.0M, minAmt = 0.0M, maxAmt = 0.0M, fsBase = 0.0M; switch (e.Row.Band.Key) { case "RateMileageTable": id = Convert.ToInt32(e.Row.Cells["ID"].Value); agent = e.Row.Cells["AgentNumber"].Value.ToString(); equip = Convert.ToInt32(e.Row.Cells["EquipmentTypeID"].Value); date = Convert.ToDateTime(e.Row.Cells["EffectiveDate"].Value); mile = Convert.ToDouble(e.Row.Cells["Mile"].Value); baseRate = Convert.ToDecimal(e.Row.Cells["BaseRate"].Value); rate = Convert.ToDecimal(e.Row.Cells["Rate"].Value); if (agent.Length > 0 && equip > 0 && date > DateTime.MinValue) { if (e.Row.IsAddRow) { FinanceGateway.CreateVehicleMileageRate(agent, equip, date, mile, baseRate, rate); } else { FinanceGateway.UpdateVehicleMileageRate(id, equip, mile, baseRate, rate); } } else { e.Cancel = true; } break; case "RateUnitTable": id = Convert.ToInt32(e.Row.Cells["ID"].Value); agent = e.Row.Cells["AgentNumber"].Value.ToString(); equip = Convert.ToInt32(e.Row.Cells["EquipmentTypeID"].Value); date = Convert.ToDateTime(e.Row.Cells["EffectiveDate"].Value); dayRate = Convert.ToDecimal(e.Row.Cells["DayRate"].Value); tripRate = Convert.ToDecimal(e.Row.Cells["MultiTripRate"].Value); stopRate = Convert.ToDecimal(e.Row.Cells["StopRate"].Value); ctnRate = Convert.ToDecimal(e.Row.Cells["CartonRate"].Value); palletRate = Convert.ToDecimal(e.Row.Cells["PalletRate"].Value); pickupCtnRate = Convert.ToDecimal(e.Row.Cells["PickupCartonRate"].Value); minAmt = Convert.ToDecimal(e.Row.Cells["MinimumAmount"].Value); maxAmt = Convert.ToDecimal(e.Row.Cells["MaximumAmount"].Value); maxTrigFld = e.Row.Cells["MaximumTriggerField"].Value.ToString(); maxTrigVal = Convert.ToInt32(e.Row.Cells["MaximumTriggerValue"].Value); fsBase = Convert.ToDecimal(e.Row.Cells["FSBase"].Value); if (agent.Length > 0 && equip > 0 && date > DateTime.MinValue) { if (e.Row.IsAddRow) { FinanceGateway.CreateVehicleUnitRate(agent, equip, date, dayRate, tripRate, stopRate, ctnRate, palletRate, pickupCtnRate, minAmt, maxAmt, maxTrigFld, maxTrigVal, fsBase); } else { FinanceGateway.UpdateVehicleUnitRate(id, equip, dayRate, tripRate, stopRate, ctnRate, palletRate, pickupCtnRate, minAmt, maxAmt, maxTrigFld, maxTrigVal, fsBase); } } else { e.Cancel = true; } break; case "RateMileageRouteTable": id = Convert.ToInt32(e.Row.Cells["ID"].Value); agent = e.Row.Cells["AgentNumber"].Value.ToString(); route = e.Row.Cells["Route"].Value.ToString(); date = Convert.ToDateTime(e.Row.Cells["EffectiveDate"].Value); mile = Convert.ToDouble(e.Row.Cells["Mile"].Value); baseRate = Convert.ToDecimal(e.Row.Cells["BaseRate"].Value); rate = Convert.ToDecimal(e.Row.Cells["Rate"].Value); status = Convert.ToInt32(e.Row.Cells["Status"].Value); if (agent.Length > 0 && route.Length > 0 && date > DateTime.MinValue) { if (e.Row.IsAddRow) { FinanceGateway.CreateRouteMileageRate(agent, route, date, mile, baseRate, rate, status); } else { FinanceGateway.UpdateRouteMileageRate(id, route, mile, baseRate, rate, status); } } else { e.Cancel = true; } break; case "RateUnitRouteTable": id = Convert.ToInt32(e.Row.Cells["ID"].Value); agent = e.Row.Cells["AgentNumber"].Value.ToString(); route = e.Row.Cells["Route"].Value.ToString(); date = Convert.ToDateTime(e.Row.Cells["EffectiveDate"].Value); dayRate = Convert.ToDecimal(e.Row.Cells["DayRate"].Value); tripRate = Convert.ToDecimal(e.Row.Cells["MultiTripRate"].Value); stopRate = Convert.ToDecimal(e.Row.Cells["StopRate"].Value); ctnRate = Convert.ToDecimal(e.Row.Cells["CartonRate"].Value); palletRate = Convert.ToDecimal(e.Row.Cells["PalletRate"].Value); pickupCtnRate = Convert.ToDecimal(e.Row.Cells["PickupCartonRate"].Value); minAmt = Convert.ToDecimal(e.Row.Cells["MinimumAmount"].Value); maxAmt = Convert.ToDecimal(e.Row.Cells["MaximumAmount"].Value); maxTrigFld = e.Row.Cells["MaximumTriggerField"].Value.ToString(); maxTrigVal = Convert.ToInt32(e.Row.Cells["MaximumTriggerValue"].Value); fsBase = Convert.ToDecimal(e.Row.Cells["FSBase"].Value); status = Convert.ToInt32(e.Row.Cells["Status"].Value); if (agent.Length > 0 && route.Length > 0 && date > DateTime.MinValue) { if (e.Row.IsAddRow) { FinanceGateway.CreateRouteUnitRate(agent, route, date, dayRate, tripRate, stopRate, ctnRate, palletRate, pickupCtnRate, minAmt, maxAmt, maxTrigFld, maxTrigVal, fsBase, status); } else { FinanceGateway.UpdateRouteUnitRate(id, route, dayRate, tripRate, stopRate, ctnRate, palletRate, pickupCtnRate, minAmt, maxAmt, maxTrigFld, maxTrigVal, fsBase, status); } } else { e.Cancel = true; } break; } this.mRates.Refresh(); } catch (Exception ex) { reportError(ex); } }