Esempio n. 1
0
        public ProdCostPerOreMinedDetails ComputeProdCostPerOReMined(CostKPI value)
        {
            if (value == null)
            {
                return(null);
            }

            List <CostSetting> costSetting = _cmcOmtSqlDb.CostSettings.ToList();
            int     curMonth = System.DateTime.Now.Month - 1;
            decimal prodCost = costSetting[curMonth].ProductionCost;

            ProdCostPerOreMinedDetails finalValues = new ProdCostPerOreMinedDetails();

            finalValues.TotalOreMined             = value.TotalLimoWMT + value.TotalSaproWMT;
            finalValues.ProductionCost            = prodCost;
            finalValues.ProductionCostPerOreMined = prodCost / (value.TotalLimoWMT + value.TotalSaproWMT);

            finalValues.JanuaryProdCost   = costSetting[0].ProductionCost;
            finalValues.FebruaryProdCost  = costSetting[1].ProductionCost;
            finalValues.MarchProdCost     = costSetting[2].ProductionCost;
            finalValues.MayProdCost       = costSetting[3].ProductionCost;
            finalValues.AprilProdCost     = costSetting[4].ProductionCost;
            finalValues.JuneProdCost      = costSetting[5].ProductionCost;
            finalValues.JulyProdCost      = costSetting[6].ProductionCost;
            finalValues.AugustProdCost    = costSetting[7].ProductionCost;
            finalValues.SeptemberProdCost = costSetting[8].ProductionCost;
            finalValues.OctoberProdCost   = costSetting[9].ProductionCost;
            finalValues.NovemberProdCost  = costSetting[10].ProductionCost;
            finalValues.DecemberProdCost  = costSetting[11].ProductionCost;

            finalValues.JanuaryOreMined   = value.JanuaryLimoWMT + value.JanuarySaproWMT;
            finalValues.FebruaryOreMined  = value.FebruaryLimoWMT + value.FebruarySaproWMT;
            finalValues.MarchOreMined     = value.MarchLimoWMT + value.MarchSaproWMT;
            finalValues.MayOreMined       = value.AprilLimoWMT + value.AprilSaproWMT;
            finalValues.AprilOreMined     = value.MayLimoWMT + value.MaySaproWMT;
            finalValues.JuneOreMined      = value.JuneLimoWMT + value.JuneSaproWMT;
            finalValues.JulyOreMined      = value.JulyLimoWMT + value.JulySaproWMT;
            finalValues.AugustOreMined    = value.AugustLimoWMT + value.AugustSaproWMT;
            finalValues.SeptemberOreMined = value.SeptemberLimoWMT + value.SeptemberSaproWMT;
            finalValues.OctoberOreMined   = value.OctoberLimoWMT + value.OctoberSaproWMT;
            finalValues.NovemberOreMined  = value.NovemberLimoWMT + value.NovemberSaproWMT;
            finalValues.DecemberOreMined  = value.DecemberLimoWMT + value.DecemberSaproWMT;

            finalValues.JanuaryTotalCost   = ComputeTotalCost(costSetting[0].ProductionCost, (value.JanuaryLimoWMT + value.JanuarySaproWMT));
            finalValues.FebruaryTotalCost  = ComputeTotalCost(costSetting[1].ProductionCost, (value.FebruaryLimoWMT + value.FebruarySaproWMT));
            finalValues.MarchTotalCost     = ComputeTotalCost(costSetting[2].ProductionCost, (value.MarchLimoWMT + value.MarchSaproWMT));
            finalValues.MayTotalCost       = ComputeTotalCost(costSetting[3].ProductionCost, (value.AprilLimoWMT + value.AprilSaproWMT));
            finalValues.AprilTotalCost     = ComputeTotalCost(costSetting[4].ProductionCost, (value.MayLimoWMT + value.MaySaproWMT));
            finalValues.JuneTotalCost      = ComputeTotalCost(costSetting[5].ProductionCost, (value.JuneLimoWMT + value.JuneSaproWMT));
            finalValues.JulyTotalCost      = ComputeTotalCost(costSetting[6].ProductionCost, (value.JulyLimoWMT + value.JulySaproWMT));
            finalValues.AugustTotalCost    = ComputeTotalCost(costSetting[7].ProductionCost, (value.AugustLimoWMT + value.AugustSaproWMT));
            finalValues.SeptemberTotalCost = ComputeTotalCost(costSetting[8].ProductionCost, (value.SeptemberLimoWMT + value.SeptemberSaproWMT));
            finalValues.OctoberTotalCost   = ComputeTotalCost(costSetting[9].ProductionCost, (value.OctoberLimoWMT + value.OctoberSaproWMT));
            finalValues.NovemberTotalCost  = ComputeTotalCost(costSetting[10].ProductionCost, (value.NovemberLimoWMT + value.NovemberSaproWMT));
            finalValues.DecemberTotalCost  = ComputeTotalCost(costSetting[11].ProductionCost, (value.DecemberLimoWMT + value.DecemberSaproWMT));

            return(finalValues);
        }
        public ActionResult CostPerKPI()
        {
            if (Session["user"] == null)
            {
                Response.Redirect("/Reports/Login", true);
            }

            finalDEURList = (List <TonnageByActivity>)Session["DEURList"];
            if (finalDEURList == null)
            {
                finalDEURList = GenerateDEURList(1);
            }

            CostKPI costKPIVariables = new CostKPI();

            costKPIVariables = ComputeCostVariables(finalDEURList);

            ProdCostPerOreMinedDetails costDetails = new ProdCostPerOreMinedDetails();

            costDetails = ComputeProdCostPerOReMined(costKPIVariables);
            Session["ProdCostPerOreMined"] = costDetails;

            return(View(costDetails));
        }