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