示例#1
0
        public void ViewCompensation()
        {
            //View all rated routes and the associated driver compensation
            try {
                //Read all rated routes for specified terminal and date range
                this.mCompensation.Clear();
                this.mCompensation.Merge(FinanceGateway.ReadDriverRoutes(this.mAgentNumber, this.mBeginDate, this.mEndDate));
                for (int i = 0; i < this.mCompensation.DriverRouteTable.Rows.Count; i++)
                {
                    //Build driver compensation for each driver
                    DriverCompDataset.DriverRouteTableRow driverRoute = (DriverCompDataset.DriverRouteTableRow) this.mCompensation.DriverRouteTable.Rows[i];
                    if (this.mCompensation.DriverCompTable.Select("Operator='" + driverRoute.Operator + "'").Length == 0)
                    {
                        //Create driver compensation for driverRoute.Operator and initialize
                        DriverCompDataset.DriverCompTableRow driverComp = this.mCompensation.DriverCompTable.NewDriverCompTableRow();
                        #region Set members
                        driverComp.Select          = driverRoute.IsExportedNull();
                        driverComp.IsNew           = driverComp.IsCombo = driverComp.IsAdjust = false;
                        driverComp.AgentNumber     = driverRoute.AgentNumber;
                        driverComp.FinanceVendorID = driverRoute.FinanceVendorID;
                        driverComp.FinanceVendor   = driverRoute.Payee;
                        driverComp.Operator        = driverRoute.Operator;
                        //driverComp.EquipmentTypeID = driverRoute.EquipmentTypeID;
                        driverComp.Miles         = driverComp.Trip = driverComp.Stops = driverComp.Cartons = driverComp.Pallets = driverComp.PickupCartons = 0;
                        driverComp.MilesAmount   = driverComp.DayAmount = driverComp.TripAmount = driverComp.StopsAmount = driverComp.CartonsAmount = driverComp.PalletsAmount = driverComp.PickupCartonsAmount = driverComp.Amount = 0.0M;
                        driverComp.FSCMiles      = 0;
                        driverComp.FuelCost      = driverComp.FSCGal = driverComp.FSCBaseRate = driverComp.FSC = 0.0M;
                        driverComp.MinimunAmount = driverComp.AdminCharge = driverComp.AdjustmentAmount1 = driverComp.AdjustmentAmount2 = driverComp.TotalAmount = 0.0M;
                        #endregion
                        this.mCompensation.DriverCompTable.AddDriverCompTableRow(driverComp);

                        //Calculate driver compensation for driverRoute.Operator for all rated routes
                        CalculateCompensation(driverRoute.Operator, false);
                    }
                }
                this.mCompensation.AcceptChanges();
            }
            catch (ApplicationException ex) { throw ex; }
            catch (Exception ex) { throw new ApplicationException(ex.Message, ex); }
            finally { if (this.Changed != null)
                      {
                          this.Changed(this, EventArgs.Empty);
                      }
            }
        }