示例#1
0
        public FuelObjectCollection GetFilter(DateTime dateFrom, DateTime dateTo, string vehiclesNotIncluded, string suppliersIncluded)
        {
            FuelObjectCollection FuelsFiltered;
            FuelObjectCollection Fuels;

            try
            {
                Fuels         = new FuelDataService().GetFilter("", -1, "", "", dateFrom, dateTo);
                FuelsFiltered = new FuelObjectCollection();

                foreach (FuelObject fuel in Fuels)
                {
                    if (!vehiclesNotIncluded.Contains(fuel.VehicleLicensePlate))
                    {
                        if (suppliersIncluded.Contains(fuel.Supplier))
                        {
                            FuelsFiltered.Add(fuel);
                        }
                    }
                }
            }
            catch (System.Exception exception1)
            {
                System.Exception innerException = exception1;
                throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            return(FuelsFiltered);
        }
示例#2
0
        public FuelObjectCollection GetAll()
        {
            FuelObjectCollection fuels = new FuelObjectCollection();
            QueryBuilder         builder;

            try
            {
                builder = new QueryBuilder();
                builder.Append(this.BaseQuery(false, 0));
                builder.AppendOrderBy(FuelObject.DATE, QueryBuilder.OrderByType.ASC, QueryBuilder.ParameterLocation.FIRST_LAST);
                fuels = FuelConvertor.DataTableToCollection(this.ExecuteDataSet(builder.Query, false).Tables[0]);
            }
            catch (System.Exception exception1)
            {
                throw new Exception(MethodBase.GetCurrentMethod().Name, exception1);
            }
            return(fuels);
        }
示例#3
0
        public decimal GetTotalAmountOfLiters(FuelObjectCollection fuels)
        {
            decimal value = 0;

            try
            {
                foreach (FuelObject fuel in fuels)
                {
                    value += fuel.Quantity;
                }
            }
            catch (System.Exception exception1)
            {
                System.Exception innerException = exception1;
                throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            return(value);
        }
示例#4
0
 public Fuel()
 {
     try
     {
         InitializeComponent();
         _fuelCorrection = new FuelCorrectionObject();
         _fuelCorrectionRows = new FuelObjectCollection();
         _saveEnable = true;
         FillControls();
         FillControlsCorrection();
         FillControlsDelivery();
         FillControlsFuelReport();
         SetPermissions();
     }
     catch (System.Exception exception1)
     {
         System.Exception innerException = exception1;
         throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
 }
示例#5
0
        private void CalculateFuelCorrectionRows()
        {
            try
            {
                //********************
                //    GetFuels
                //********************
                string vehiclesNotIncluded = "";
                for (int i = 0; i < this.ccbxVehiclesNotIncluded.Properties.GetItems().Count; i++)
                {
                    if (this.ccbxVehiclesNotIncluded.Properties.Items[i].CheckState == CheckState.Checked)
                    {
                        vehiclesNotIncluded += (string)this.ccbxVehiclesNotIncluded.Properties.Items[i].Value + "/";
                    }
                }
                string suppliersIncluded = "";
                for (int i = 0; i < this.ccbxSuppliersIncluded.Properties.GetItems().Count; i++)
                {
                    if (this.ccbxSuppliersIncluded.Properties.Items[i].CheckState == CheckState.Checked)
                    {
                        suppliersIncluded += (string)this.ccbxSuppliersIncluded.Properties.Items[i].Value + "/";
                    }
                }

                BL.Internal.Fuel fuelBL = new BL.Internal.Fuel();
                _fuelCorrectionRows = fuelBL.GetFilter(dteDateFromCorrection.DateTime, dteDateToCorrection.DateTime, vehiclesNotIncluded, suppliersIncluded);

                //********************
                //    Calculate
                //********************

                decimal totalAmountOfLiters = fuelBL.GetTotalAmountOfLiters(_fuelCorrectionRows);
                decimal stillToAdd = spinQuantityCorrection.Value;
                decimal averageToAdd = 0;
                string vehicle = "";
                int CountLoop = 0;

                do
                {
                    foreach (FuelObject fuel in _fuelCorrectionRows)
                    {
                        if (stillToAdd > 0)
                        {
                            averageToAdd = (fuel.Quantity / totalAmountOfLiters) * spinQuantityCorrection.Value;
                            if (vehicle != fuel.VehicleLicensePlate)
                            {
                                if (stillToAdd > averageToAdd)
                                {
                                    if (spinMaxQuantity.Value < fuel.Quantity + averageToAdd)
                                    {
                                        if (spinMaxQuantity.Value > fuel.Quantity)
                                        {
                                            fuel.QuantityCorrection = spinMaxQuantity.Value;
                                            stillToAdd -= spinMaxQuantity.Value - fuel.Quantity;
                                        }
                                        else
                                            fuel.QuantityCorrection = fuel.Quantity;
                                    }
                                    else
                                    {

                                        fuel.QuantityCorrection = fuel.Quantity + averageToAdd;
                                        stillToAdd -= averageToAdd;
                                    }
                                }
                                else
                                {
                                    if (spinMaxQuantity.Value < fuel.Quantity + stillToAdd)
                                    {
                                        if (spinMaxQuantity.Value > fuel.Quantity)
                                        {
                                            fuel.QuantityCorrection = spinMaxQuantity.Value;
                                            stillToAdd -= spinMaxQuantity.Value - fuel.Quantity;
                                        }
                                        else
                                            fuel.QuantityCorrection = fuel.Quantity;
                                    }
                                    else
                                    {

                                        fuel.QuantityCorrection = fuel.Quantity + stillToAdd;
                                        stillToAdd = 0;
                                    }
                                }

                                vehicle = fuel.VehicleLicensePlate;
                            }
                        }
                    }
                    CountLoop += 1;
                }
                while (stillToAdd > 0 & CountLoop < 1000);

                if (CountLoop >= 1000)
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show("Niet mogelijk om de hoeveelheid te verdelen over de voertuigen!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    this.gdcFuelCorrectionCalc.DataSource = _fuelCorrectionRows;
                }

            }
            catch (System.Exception exception1)
            {
                System.Exception innerException = exception1;
                throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
        }