public long AddDepotTrunkedOut(DepotTrunkedOutObject depotTrunkedOut)
        {
            try
            {
                if (depotTrunkedOut == null)
                {
                    return(-2);
                }



                using (var db = new ImportPermitEntities())
                {
                    var depotTrunkedOutEntity = new DepotTrunkedOut
                    {
                        DepotId = depotTrunkedOut.DepotId,
                        QuantityTrunkedOutInDepot = depotTrunkedOut.QuantityTrunkedOutInDepot,
                        TrunkedOutDate            = depotTrunkedOut.TrunkedOutDate
                    };
                    var returnStatus = db.DepotTrunkedOuts.Add(depotTrunkedOutEntity);

                    //
                    db.SaveChanges();
                    return(returnStatus.Id);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
        public CalculatorObject Calculator(DepotTrunkedOutObject depotTrunked)
        {
            try
            {
                var obj = new CalculatorObject();
                using (var db = new ImportPermitEntities())
                {
                    var depotTrunkedOut = new DepotTrunkedOut
                    {
                        DepotId = depotTrunked.DepotId,
                        QuantityTrunkedOutInDepot = depotTrunked.QuantityTrunkedOutInDepot,
                        TrunkedOutDate            = depotTrunked.TrunkedOutDate
                    };

                    db.DepotTrunkedOuts.Add(depotTrunkedOut);

                    //update the calculator

                    var calc = db.Calculators.FirstOrDefault(c => c.Id >= 1);
                    if (calc != null)
                    {
                        var quantityInCountry = calc.QuantityInCountry;
                        var currentQuantity   = quantityInCountry - depotTrunked.QuantityTrunkedOutInDepot;
                        calc.QuantityInCountry = currentQuantity;
                        calc.Counter           = calc.Counter + 1;
                        db.Calculators.Attach(calc);
                        db.Entry(calc).State  = EntityState.Modified;
                        obj.QuantityInCountry = currentQuantity.ToString();
                        obj.Good = true;
                        //to get the daily consumption, fetch the first row and last row in the depotTrunkedOut table, minus the dates and get num of days then use it to divide the QuantityInCountry
                        db.SaveChanges();

                        return(obj);
                    }
                    obj.Bad = true;
                    return(obj);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message);
                return(null);
            }
        }