예제 #1
0
 public static FuelObjectCollection DataTableToCollection(DataTable Fuels)
 {
     FuelObjectCollection objectsTotal;
     FuelObjectCollection objects = new FuelObjectCollection();
     try
     {
         IEnumerator enumerator = null;
         try
         {
             enumerator = Fuels.Rows.GetEnumerator();
             while (enumerator.MoveNext())
             {
                 DataRow current = (DataRow)enumerator.Current;
                 objects.Add(FuelRowToObject(current));
             }
         }
         finally
         {
             if (enumerator is IDisposable)
             {
                 (enumerator as IDisposable).Dispose();
             }
         }
         objectsTotal = objects;
     }
     catch (System.Exception exception1)
     {
         Exception innerException = exception1;
         throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
     return objectsTotal;
 }
예제 #2
0
        public static FuelObjectCollection DataTableToCollection(DataTable Fuels)
        {
            FuelObjectCollection objectsTotal;
            FuelObjectCollection objects = new FuelObjectCollection();

            try
            {
                IEnumerator enumerator = null;
                try
                {
                    enumerator = Fuels.Rows.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        DataRow current = (DataRow)enumerator.Current;
                        objects.Add(FuelRowToObject(current));
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
                objectsTotal = objects;
            }
            catch (System.Exception exception1)
            {
                Exception innerException = exception1;
                throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            return(objectsTotal);
        }
예제 #3
0
파일: Fuel.cs 프로젝트: GianiWVL/VUYLSTEKE
 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);
     }
 }
예제 #4
0
파일: Fuel.cs 프로젝트: GianiWVL/VUYLSTEKE
        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);
            }
        }
예제 #5
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;
 }
예제 #6
0
파일: Fuel.cs 프로젝트: GianiWVL/VUYLSTEKE
 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;
 }
예제 #7
0
파일: Fuel.cs 프로젝트: GianiWVL/VUYLSTEKE
        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;
        }