private void ProcessTotal(SharePointListItem sharepointListItem, ProjectCost projectCost, int[] months)
        {
            twelvtxtcavalue.Text    = string.Format("{0:n0}", sharepointListItem.SavedOver12Months_CA);
            twelvtxtcrvalue.Text    = string.Format("{0:n0}", sharepointListItem.SavedOver12Months_CR);
            twelvtxtrgvalue.Text    = string.Format("{0:n0}", sharepointListItem.SavedOver12Months_RG);
            twelvtxtcivalue.Text    = string.Format("{0:n0}", sharepointListItem.SavedOver12Months_CI);
            twelvtxttatalvalue.Text = string.Format("{0:n0}", sharepointListItem.SavedOver12Months_Total);

            yeartxtca.Text       = string.Format("{0:n0}", sharepointListItem.SavedYearToDate_CA);
            yeartxtcr.Text       = string.Format("{0:n0}", sharepointListItem.SavedYearToDate_CR);
            yeartxtrg.Text       = string.Format("{0:n0}", sharepointListItem.SavedYearToDate_RG);
            yeartxtci.Text       = string.Format("{0:n0}", sharepointListItem.SavedYearToDate_CI);
            yearlbltotalval.Text = string.Format("{0:n0}", sharepointListItem.SavedYearToDate_Total);

            esttxtca.Text       = string.Format("{0:n0}", sharepointListItem.EstimatedSaving_CA);
            esttxtcr.Text       = string.Format("{0:n0}", sharepointListItem.EstimatedSaving_CR);
            esttxtrg.Text       = string.Format("{0:n0}", sharepointListItem.EstimatedSaving_RG);
            esttxtci.Text       = string.Format("{0:n0}", sharepointListItem.EstimatedSaving_CI);
            estlbltotalval.Text = string.Format("{0:n0}", sharepointListItem.EstimatedSaving_Total);

            var targets = new[] { target1total, target2total, target3total, target4total, target5total, target6total, target7total, target8total, target9total, target10total, target11total, target12total };

            this.ProcessFooter(targets, months, projectCost.GetTargetTotal);

            var actuals = new[] { actual1total, actual2total, actual3total, actual4total, actual5total, actual6total, actual7total, actual8total, actual9total, actual10total, actual11total, actual12total };

            this.ProcessFooter(actuals, months, projectCost.GetActualTotal);
        }
        public ActionResult CreateQuerySheetUnit(string type, int QuerySheetId)
        {
            var repo = new QuerySheetRepository();

            FillDropdowns();
            //var qs = new QuerySheetRepository().GetQuerySheet(QuerySheetId);

            var qs = new QuerySheetRepository().GetQuerySheetItem(QuerySheetId);

            qs.Type = type;
            if (type == "Unit")
            {
                foreach (var item in qs.QuerySheetItems)
                {
                    item.ProjectRoomUnits = new List <QuerySheetUnit>();
                    item.ProjectRoomUnits.Add(new QuerySheetUnit());
                    item.ProjectRoomDoors = new List <QuerySheetDoor>();
                    item.ProjectRoomDoors.Add(new QuerySheetDoor());
                }
            }
            if (type == "Costing")
            {
                var PCList = repo.GetProjectCostingParameter();
                qs.Items = new List <ProjectCost>();
                foreach (var item in PCList)
                {
                    var pcitem = new ProjectCost {
                        CostingId = item.CostingId, Description = item.Description, Remarks = item.Remarks, Amount = item.Amount
                    };
                    qs.Items.Add(pcitem);
                }
            }

            return(View("CreateQuerySheet", qs));
        }
        public async Task <IActionResult> PostProjectCost([FromBody] ProjectCost projectCost)
        {
            //if (!ModelState.IsValid)
            //{
            //  return BadRequest(ModelState);
            //}

            var editedProjectCost = projectCost;

            editedProjectCost.CreatedUserId = 1;
            editedProjectCost.IsActual      = true;

            var workFlowId = projectCost.workFlowId;

            if (workFlowId.HasValue)
            {
                editedProjectCost.IsActual = false;

                var serviceWorkflow = _context.ServiceWorkflow.First(s => s.ServiceWorkflowId == workFlowId);
                serviceWorkflow.NextStepId            = 10;
                _context.Entry(serviceWorkflow).State = EntityState.Modified;
            }

            _context.ProjectCost.Add(editedProjectCost);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetProjectCost", new { id = projectCost.ProjectCostId }, projectCost));
        }
        public async Task <IActionResult> Edit(int id,
                                               [Bind("Id,CostItemId,ProjectId,CostPerUnitId,DateUsed,Quantity")] ProjectCost projectCost)
        {
            if (id != projectCost.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                ProjectCost ExistingCost = _context.ProjectCost
                                           .FirstOrDefault(pc => pc.ProjectId == projectCost.ProjectId &&
                                                           pc.CostItemId == projectCost.CostItemId && pc.DateUsed == projectCost.DateUsed);

                if (ExistingCost != null && ExistingCost.Id != projectCost.Id)
                {
                    ExistingCost.Quantity += projectCost.Quantity;
                    _context.Update(ExistingCost);
                    _context.Remove(projectCost);
                    await _context.SaveChangesAsync();
                }
                else
                {
                    ExistingCost.ProjectId     = projectCost.ProjectId;
                    ExistingCost.CostItemId    = projectCost.CostItemId;
                    ExistingCost.CostPerUnitId = projectCost.CostPerUnitId;
                    ExistingCost.DateUsed      = projectCost.DateUsed;
                    ExistingCost.Quantity      = projectCost.Quantity;
                    _context.Update(ExistingCost);
                    await _context.SaveChangesAsync();
                }
                return(RedirectToAction("Details", "Project", new { id = projectCost.ProjectId }));
            }

            List <CostPerUnit> CostPerUnitList = await _context.CostPerUnit.Where(cpu => cpu.CostItemId == projectCost.CostItemId).OrderByDescending(cpu => cpu.StartDate).ToListAsync();

            List <SelectListItem> CPUSelectList = new List <SelectListItem>();

            foreach (var item in CostPerUnitList)
            {
                string StartDateString = item.StartDate.ToShortDateString();
                string EndDateString   = item.EndDate?.ToShortDateString() ?? "----";

                CPUSelectList.Add(new SelectListItem {
                    Value = item.Id.ToString(),
                    Text  = $"Cost: ${item.Cost} - Date Range: {StartDateString} - {EndDateString}"
                });
            }

            ViewData["CostItemId"]    = projectCost.CostItemId;
            ViewData["ProjectId"]     = projectCost.ProjectId;
            ViewData["CostPerUnitId"] = CPUSelectList;
            return(View(projectCost));
        }
        public ActionResult ProjectCost(ProjectCost model)
        {
            this.UsingDb(db =>
            {
                db.Update(model);

                db.SaveChanges();
            });

            return(ProjectCost(model.Id));
        }
        private void ProcessCheckBoxes(ProjectCost projectCost, CheckBox checkBox, ProjectType projectType, TextBox[] targets, TextBox[] actuals, int[] months)
        {
            for (var index = 0; index < months.Length; index++)
            {
                projectCost.SetCostEntry(projectType, CostType.Target, months[index], this.GetProcessedCost(checkBox, targets[index].Text));
            }

            for (var index = 0; index < months.Length; index++)
            {
                projectCost.SetCostEntry(projectType, CostType.Actual, months[index], this.GetProcessedCost(checkBox, actuals[index].Text));
            }
        }
        private void ProcessCheckBoxes(ProjectCost projectCost, ProjectType projectType, TextBox[] targets, TextBox[] actuals, int[] months)
        {
            for (var index = 0; index < months.Length; index++)
            {
                var cost = projectCost.GetCostEntry(projectType, CostType.Target, months[index]);
                targets[index].Text = cost.ToString();
            }

            for (var index = 0; index < months.Length; index++)
            {
                var cost = projectCost.GetCostEntry(projectType, CostType.Actual, months[index]);
                actuals[index].Text = cost.ToString();
            }
        }
        public ActionResult Delete(Guid id)
        {
            var model = new ProjectCost {
                Id = id
            };

            this.UsingDb(db =>
            {
                db.ProjectCost.Attach(model);
                db.ProjectCost.Remove(model);
                db.SaveChanges();
            });

            return(Redirect("/ProjectCost/ProjectCostSection"));
        }
        public ActionResult ProjectCost(Guid id)
        {
            ProjectCost ProjectCost = null;

            this.UsingDb(db =>
            {
                ProjectCost = db.ProjectCost.Include(p => p.Currency).FirstOrDefault(c => c.Id == id);
            });

            if (ProjectCost == null)
            {
                Redirect("/");
            }

            return(View(ProjectCost));
        }
        private ProjectCost ProcessCost(int[] months)
        {
            var period      = int.Parse(ddlPeriod.SelectedValue);
            var projectCost = new ProjectCost(period);

            projectCost.CapExAmount        = this.GetProcessedCost(txtcapExp.Text.Trim());
            projectCost.ImplementationCost = this.GetProcessedCost(txtimplcost.Text.Trim());
            hdntotal.Value = string.Format("{0:n0}", projectCost.TotalCost);
            this.ProcessCheckBoxes(projectCost, chkCostAvoidance, ProjectType.CostAvoidance, this.TargetTextBoxesForCA, this.ActualTextBoxesForCA, months);
            this.ProcessCheckBoxes(projectCost, chkCostReduction, ProjectType.CostReduction, this.TargetTextBoxesForCR, this.ActualTextBoxesForCR, months);
            this.ProcessCheckBoxes(projectCost, chkRevenueGrowth, ProjectType.RevenueGrowth, this.TargetTextBoxesForRG, this.ActualTextBoxesForRG, months);
            this.ProcessCheckBoxes(projectCost, chkCapacityIncrease, ProjectType.CapacityIncrease, this.TargetTextBoxesForCI, this.ActualTextBoxesForCI, months);

            var sharepointListItem = SharePointListItem.Convert(projectCost, int.Parse(lblmnth1.Text));

            this.ProcessTotal(sharepointListItem, projectCost, months);
            return(projectCost);
        }
        public async Task <IActionResult> PutProjectCost([FromRoute] int id, [FromBody] ProjectCost projectCost)
        {
            //if (!ModelState.IsValid)
            //{
            //  return BadRequest(ModelState);
            //}
            var editedProjectCost = projectCost;

            editedProjectCost.ProjectCostId = id;
            editedProjectCost.CreatedUserId = 1;
            editedProjectCost.IsActual      = false;
            editedProjectCost.IsActive      = true;
            if (id != projectCost.ProjectCostId)
            {
                return(BadRequest());
            }

            ////_context.ProjectCost.Add(editedProjectCost);
            //int? workFlowId = projectCost.workFlowId;

            //if (workFlowId.HasValue)
            //{
            //  ServiceWorkflow serviceWorkflow = _context.ServiceWorkflow.First(s => s.ServiceWorkflowId == workFlowId);
            //  serviceWorkflow.NextStepId = 10;
            //  _context.Entry(serviceWorkflow).State = EntityState.Modified;
            //}

            _context.Entry(editedProjectCost).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProjectCostExists(id))
                {
                    return(NotFound());
                }
                throw;
            }

            return(NoContent());
        }
 public ActionResult Create(ProjectCost model)
 {
     this.UsingDb(db =>
     {
         try
         {
             model.ProjectId = new Guid((string)TempData["EnterProjectId"]);
             db.Add(model);
             db.SaveChanges();
         }
         catch (DataException)
         {
             //Log the error (add a variable name after DataException)
             ModelState.AddModelError("",
                                      "Unable to save changes. Try again, and if the problem persists see your system administrator.");
         }
     });
     return(View(model));
 }
Example #13
0
        /// <summary>
        /// 新增信息
        /// </summary>
        /// <param name="projectCost">模型载体</param>
        /// <returns>受影响行数</returns>
        public int InsProjectCost(ProjectCost projectCost)
        {
            string sql = @"INSERT INTO T_ProjectCost VALUES
                           (@PIC_Code
                           ,@PIC_Name
                           ,@PIC_ParentId
                           ,@PIC_Enable
                           ,@PIC_Clear)";

            SqlParameter[] sps =
            {
                new SqlParameter("@PIC_Code",     XYEEncoding.strCodeHex(projectCost.PC_Code)),
                new SqlParameter("@PIC_Name",     XYEEncoding.strCodeHex(projectCost.PC_Code)),
                new SqlParameter("@PIC_ParentId", XYEEncoding.strCodeHex(projectCost.PC_Code)),
                new SqlParameter("@PIC_Enable",   projectCost.PC_Code),
                new SqlParameter("@PIC_Clear",    projectCost.PC_Code)
            };
            return(DbHelperSQL.ExecuteSql(sql, sps));
        }
Example #14
0
        /// <summary>
        /// 查询所有信息
        /// </summary>
        /// <returns>List集合</returns>
        public List <ProjectCost> SelProjectCost()
        {
            List <ProjectCost> list = new List <ProjectCost>();
            string             sql  = "select * from T_ProjectCost where PIC_Clear=1 and PIC_Enable=1";
            SqlDataReader      read = DbHelperSQL.ExecuteReader(sql);

            while (read.Read())
            {
                ProjectCost pic = new ProjectCost()
                {
                    PC_ID       = Convert.ToInt32(read["PIC_ID"]),
                    PC_Name     = XYEEncoding.strHexDecode(read["PIC_Name"].ToString()),
                    PC_Code     = XYEEncoding.strHexDecode(read["PIC_Code"].ToString()),
                    PC_ParentId = XYEEncoding.strHexDecode(read["PIC_ParentId"].ToString()),
                    PC_Clear    = Convert.ToInt32(read["PIC_Clear"].ToString()),
                    PC_Enable   = Convert.ToInt32(read["PIC_Enable"].ToString())
                };
                list.Add(pic);
            }
            return(list);
        }
        public ActionResult CreateQuerySheetCosting(string type)
        {
            string internalId = "";

            try
            {
                internalId = DatabaseCommonRepository.GetNextDocNo(5, OrganizationId);
            }
            catch (NullReferenceException nx)
            {
                TempData["success"] = "";
                TempData["error"]   = "Some required data was missing. Please try again.|" + nx.Message;
            }
            catch (Exception ex)
            {
                TempData["success"] = "";
                TempData["error"]   = "Some error occurred. Please try again.|" + ex.Message;
            }
            QuerySheet qs = new QuerySheet();

            qs.Type           = type;
            qs.QuerySheetDate = DateTime.Now;
            var repo = new QuerySheetRepository();

            qs.QuerySheetItems = new List <QuerySheetItem>();
            qs.QuerySheetItems.Add(new QuerySheetItem());
            var PCList = repo.GetProjectCostingParameter();

            qs.Items           = new List <ProjectCost>();
            qs.QuerySheetRefNo = internalId;
            foreach (var item in PCList)
            {
                var pcitem = new ProjectCost {
                    CostingId = item.CostingId, Description = item.Description, Remarks = item.Remarks, Amount = item.Amount
                };
                qs.Items.Add(pcitem);
            }
            return(View("CreateQuerySheet", qs));
        }
        // GET: ProjectCosts/Create
        public async Task <IActionResult> Create(int id)
        {
            CostPerUnitController.MaintainCostPerUnitRecords(_context);

            DateTime Today = DateTime.UtcNow;

            ProjectCostCreateViewModel model = new ProjectCostCreateViewModel {
                ProjectId = id,
                Project   = await _context.Project.FirstOrDefaultAsync(p => p.Id == id),
                Costs     = new List <ProjectCost>(),
                CostItems = new List <CostItem> ()
            };

            model.CostItems = await _context.CostItem.Include(ci => ci.UnitOfMeasure).OrderBy(ci => ci.ItemName).ToListAsync();

            ProjectCost Cost = new ProjectCost {
                ProjectId = id,
                DateUsed  = Today
            };

            model.Costs.Add(Cost);

            return(View(model));
        }
 /// <summary>
 /// 新增信息
 /// </summary>
 /// <param name="projectCost">模型载体</param>
 /// <returns>受影响行数</returns>
 public int InsProjectCost(ProjectCost projectCost)
 {
     return(pics.InsProjectCost(projectCost));
 }
Example #18
0
        public static SharePointListItem Convert(ProjectCost projectCost, int monthToStart)
        {
            var item = new SharePointListItem();

            item.CA_Actual_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 1));
            item.CA_Actual_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 2));
            item.CA_Actual_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 3));
            item.CA_Actual_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 4));
            item.CA_Actual_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 5));
            item.CA_Actual_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 6));
            item.CA_Actual_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 7));
            item.CA_Actual_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 8));
            item.CA_Actual_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 9));
            item.CA_Actual_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 10));
            item.CA_Actual_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 11));
            item.CA_Actual_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 12));
            item.CA_Target_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 1));
            item.CA_Target_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 2));
            item.CA_Target_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 3));
            item.CA_Target_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 4));
            item.CA_Target_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 5));
            item.CA_Target_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 6));
            item.CA_Target_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 7));
            item.CA_Target_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 8));
            item.CA_Target_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 9));
            item.CA_Target_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 10));
            item.CA_Target_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 11));
            item.CA_Target_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 12));
            item.CR_Actual_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 1));
            item.CR_Actual_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 2));
            item.CR_Actual_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 3));
            item.CR_Actual_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 4));
            item.CR_Actual_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 5));
            item.CR_Actual_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 6));
            item.CR_Actual_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 7));
            item.CR_Actual_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 8));
            item.CR_Actual_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 9));
            item.CR_Actual_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 10));
            item.CR_Actual_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 11));
            item.CR_Actual_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 12));
            item.CR_Target_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 1));
            item.CR_Target_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 2));
            item.CR_Target_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 3));
            item.CR_Target_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 4));
            item.CR_Target_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 5));
            item.CR_Target_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 6));
            item.CR_Target_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 7));
            item.CR_Target_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 8));
            item.CR_Target_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 9));
            item.CR_Target_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 10));
            item.CR_Target_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 11));
            item.CR_Target_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 12));
            item.RG_Actual_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 1));
            item.RG_Actual_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 2));
            item.RG_Actual_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 3));
            item.RG_Actual_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 4));
            item.RG_Actual_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 5));
            item.RG_Actual_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 6));
            item.RG_Actual_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 7));
            item.RG_Actual_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 8));
            item.RG_Actual_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 9));
            item.RG_Actual_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 10));
            item.RG_Actual_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 11));
            item.RG_Actual_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 12));
            item.RG_Target_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 1));
            item.RG_Target_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 2));
            item.RG_Target_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 3));
            item.RG_Target_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 4));
            item.RG_Target_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 5));
            item.RG_Target_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 6));
            item.RG_Target_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 7));
            item.RG_Target_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 8));
            item.RG_Target_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 9));
            item.RG_Target_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 10));
            item.RG_Target_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 11));
            item.RG_Target_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 12));
            item.CI_Actual_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 1));
            item.CI_Actual_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 2));
            item.CI_Actual_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 3));
            item.CI_Actual_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 4));
            item.CI_Actual_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 5));
            item.CI_Actual_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 6));
            item.CI_Actual_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 7));
            item.CI_Actual_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 8));
            item.CI_Actual_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 9));
            item.CI_Actual_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 10));
            item.CI_Actual_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 11));
            item.CI_Actual_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 12));
            item.CI_Target_Jan    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 1));
            item.CI_Target_Feb    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 2));
            item.CI_Target_Mar    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 3));
            item.CI_Target_Apr    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 4));
            item.CI_Target_May    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 5));
            item.CI_Target_Jun    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 6));
            item.CI_Target_Jul    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 7));
            item.CI_Target_Aug    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 8));
            item.CI_Target_Sep    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 9));
            item.CI_Target_Oct    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 10));
            item.CI_Target_Nov    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 11));
            item.CI_Target_Dec    = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 12));
            item.Total_Actual_Jan = ToActualString(projectCost.GetActualTotal(1));
            item.Total_Actual_Feb = ToActualString(projectCost.GetActualTotal(2));
            item.Total_Actual_Mar = ToActualString(projectCost.GetActualTotal(3));
            item.Total_Actual_Apr = ToActualString(projectCost.GetActualTotal(4));
            item.Total_Actual_May = ToActualString(projectCost.GetActualTotal(5));
            item.Total_Actual_Jun = ToActualString(projectCost.GetActualTotal(6));
            item.Total_Actual_Jul = ToActualString(projectCost.GetActualTotal(7));
            item.Total_Actual_Aug = ToActualString(projectCost.GetActualTotal(8));
            item.Total_Actual_Sep = ToActualString(projectCost.GetActualTotal(9));
            item.Total_Actual_Oct = ToActualString(projectCost.GetActualTotal(10));
            item.Total_Actual_Nov = ToActualString(projectCost.GetActualTotal(11));
            item.Total_Actual_Dec = ToActualString(projectCost.GetActualTotal(12));
            item.Total_Target_Jan = ToActualString(projectCost.GetTargetTotal(1));
            item.Total_Target_Feb = ToActualString(projectCost.GetTargetTotal(2));
            item.Total_Target_Mar = ToActualString(projectCost.GetTargetTotal(3));
            item.Total_Target_Apr = ToActualString(projectCost.GetTargetTotal(4));
            item.Total_Target_May = ToActualString(projectCost.GetTargetTotal(5));
            item.Total_Target_Jun = ToActualString(projectCost.GetTargetTotal(6));
            item.Total_Target_Jul = ToActualString(projectCost.GetTargetTotal(7));
            item.Total_Target_Aug = ToActualString(projectCost.GetTargetTotal(8));
            item.Total_Target_Sep = ToActualString(projectCost.GetTargetTotal(9));
            item.Total_Target_Oct = ToActualString(projectCost.GetTargetTotal(10));
            item.Total_Target_Nov = ToActualString(projectCost.GetTargetTotal(11));
            item.Total_Target_Dec = ToActualString(projectCost.GetTargetTotal(12));

            var savedOver12Months_CA = projectCost.GetSavedOver12Months(ProjectType.CostAvoidance, monthToStart);
            var savedOver12Months_CR = projectCost.GetSavedOver12Months(ProjectType.CostReduction, monthToStart);
            var savedOver12Months_RG = projectCost.GetSavedOver12Months(ProjectType.RevenueGrowth, monthToStart);
            var savedOver12Months_CI = projectCost.GetSavedOver12Months(ProjectType.CapacityIncrease, monthToStart);

            item.SavedOver12Months_CA    = ToActualString(savedOver12Months_CA);
            item.SavedOver12Months_CR    = ToActualString(savedOver12Months_CR);
            item.SavedOver12Months_RG    = ToActualString(savedOver12Months_RG);
            item.SavedOver12Months_CI    = ToActualString(savedOver12Months_CI);
            item.SavedOver12Months_Total = ToActualString(savedOver12Months_CA + savedOver12Months_CR + savedOver12Months_RG + savedOver12Months_CI);

            var savedYearToDate_CA = projectCost.GetSavedYearToDate(ProjectType.CostAvoidance, monthToStart);
            var savedYearToDate_CR = projectCost.GetSavedYearToDate(ProjectType.CostReduction, monthToStart);
            var savedYearToDate_RG = projectCost.GetSavedYearToDate(ProjectType.RevenueGrowth, monthToStart);
            var savedYearToDate_CI = projectCost.GetSavedYearToDate(ProjectType.CapacityIncrease, monthToStart);

            item.SavedYearToDate_CA    = ToActualString(savedYearToDate_CA);
            item.SavedYearToDate_CR    = ToActualString(savedYearToDate_CR);
            item.SavedYearToDate_RG    = ToActualString(savedYearToDate_RG);
            item.SavedYearToDate_CI    = ToActualString(savedYearToDate_CI);
            item.SavedYearToDate_Total = ToActualString(savedYearToDate_CA + savedYearToDate_CR + savedYearToDate_RG + savedYearToDate_CI);

            var estimatedSaving_CA = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.CostAvoidance, monthToStart);
            var estimatedSaving_CR = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.CostReduction, monthToStart);
            var estimatedSaving_RG = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.RevenueGrowth, monthToStart);
            var estimatedSaving_CI = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.CapacityIncrease, monthToStart);

            item.EstimatedSaving_CA    = ToActualString(estimatedSaving_CA);
            item.EstimatedSaving_CR    = ToActualString(estimatedSaving_CR);
            item.EstimatedSaving_RG    = ToActualString(estimatedSaving_RG);
            item.EstimatedSaving_CI    = ToActualString(estimatedSaving_CI);
            item.EstimatedSaving_Total = ToActualString(estimatedSaving_CA + estimatedSaving_CR + estimatedSaving_RG + estimatedSaving_CI);
            return(item);
        }
Example #19
0
        public static ProjectCost Convert(SharePointListItem item, int period)
        {
            var projectCost = new ProjectCost(period);

            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 1, item.CA_Actual_Jan);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 2, item.CA_Actual_Feb);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 3, item.CA_Actual_Mar);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 4, item.CA_Actual_Apr);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 5, item.CA_Actual_May);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 6, item.CA_Actual_Jun);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 7, item.CA_Actual_Jul);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 8, item.CA_Actual_Aug);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 9, item.CA_Actual_Sep);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 10, item.CA_Actual_Oct);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 11, item.CA_Actual_Nov);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 12, item.CA_Actual_Dec);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 1, item.CA_Target_Jan);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 2, item.CA_Target_Feb);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 3, item.CA_Target_Mar);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 4, item.CA_Target_Apr);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 5, item.CA_Target_May);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 6, item.CA_Target_Jun);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 7, item.CA_Target_Jul);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 8, item.CA_Target_Aug);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 9, item.CA_Target_Sep);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 10, item.CA_Target_Oct);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 11, item.CA_Target_Nov);
            projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 12, item.CA_Target_Dec);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 1, item.CR_Actual_Jan);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 2, item.CR_Actual_Feb);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 3, item.CR_Actual_Mar);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 4, item.CR_Actual_Apr);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 5, item.CR_Actual_May);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 6, item.CR_Actual_Jun);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 7, item.CR_Actual_Jul);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 8, item.CR_Actual_Aug);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 9, item.CR_Actual_Sep);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 10, item.CR_Actual_Oct);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 11, item.CR_Actual_Nov);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 12, item.CR_Actual_Dec);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 1, item.CR_Target_Jan);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 2, item.CR_Target_Feb);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 3, item.CR_Target_Mar);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 4, item.CR_Target_Apr);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 5, item.CR_Target_May);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 6, item.CR_Target_Jun);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 7, item.CR_Target_Jul);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 8, item.CR_Target_Aug);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 9, item.CR_Target_Sep);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 10, item.CR_Target_Oct);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 11, item.CR_Target_Nov);
            projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 12, item.CR_Target_Dec);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 1, item.RG_Actual_Jan);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 2, item.RG_Actual_Feb);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 3, item.RG_Actual_Mar);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 4, item.RG_Actual_Apr);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 5, item.RG_Actual_May);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 6, item.RG_Actual_Jun);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 7, item.RG_Actual_Jul);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 8, item.RG_Actual_Aug);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 9, item.RG_Actual_Sep);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 10, item.RG_Actual_Oct);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 11, item.RG_Actual_Nov);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 12, item.RG_Actual_Dec);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 1, item.RG_Target_Jan);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 2, item.RG_Target_Feb);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 3, item.RG_Target_Mar);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 4, item.RG_Target_Apr);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 5, item.RG_Target_May);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 6, item.RG_Target_Jun);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 7, item.RG_Target_Jul);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 8, item.RG_Target_Aug);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 9, item.RG_Target_Sep);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 10, item.RG_Target_Oct);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 11, item.RG_Target_Nov);
            projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 12, item.RG_Target_Dec);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 1, item.CI_Actual_Jan);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 2, item.CI_Actual_Feb);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 3, item.CI_Actual_Mar);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 4, item.CI_Actual_Apr);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 5, item.CI_Actual_May);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 6, item.CI_Actual_Jun);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 7, item.CI_Actual_Jul);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 8, item.CI_Actual_Aug);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 9, item.CI_Actual_Sep);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 10, item.CI_Actual_Oct);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 11, item.CI_Actual_Nov);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 12, item.CI_Actual_Dec);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 1, item.CI_Target_Jan);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 2, item.CI_Target_Feb);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 3, item.CI_Target_Mar);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 4, item.CI_Target_Apr);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 5, item.CI_Target_May);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 6, item.CI_Target_Jun);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 7, item.CI_Target_Jul);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 8, item.CI_Target_Aug);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 9, item.CI_Target_Sep);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 10, item.CI_Target_Oct);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 11, item.CI_Target_Nov);
            projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 12, item.CI_Target_Dec);
            return(projectCost);
        }
 public static ProjectCost Convert(SharePointListItem item, int period)
 {
     var projectCost = new ProjectCost(period);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 1, item.CA_Actual_Jan);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 2, item.CA_Actual_Feb);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 3, item.CA_Actual_Mar);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 4, item.CA_Actual_Apr);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 5, item.CA_Actual_May);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 6, item.CA_Actual_Jun);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 7, item.CA_Actual_Jul);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 8, item.CA_Actual_Aug);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 9, item.CA_Actual_Sep);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 10, item.CA_Actual_Oct);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 11, item.CA_Actual_Nov);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 12, item.CA_Actual_Dec);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 1, item.CA_Target_Jan);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 2, item.CA_Target_Feb);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 3, item.CA_Target_Mar);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 4, item.CA_Target_Apr);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 5, item.CA_Target_May);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 6, item.CA_Target_Jun);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 7, item.CA_Target_Jul);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 8, item.CA_Target_Aug);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 9, item.CA_Target_Sep);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 10, item.CA_Target_Oct);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 11, item.CA_Target_Nov);
     projectCost.SetCostEntry(ProjectType.CostAvoidance, CostType.Target, 12, item.CA_Target_Dec);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 1, item.CR_Actual_Jan);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 2, item.CR_Actual_Feb);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 3, item.CR_Actual_Mar);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 4, item.CR_Actual_Apr);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 5, item.CR_Actual_May);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 6, item.CR_Actual_Jun);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 7, item.CR_Actual_Jul);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 8, item.CR_Actual_Aug);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 9, item.CR_Actual_Sep);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 10, item.CR_Actual_Oct);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 11, item.CR_Actual_Nov);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Actual, 12, item.CR_Actual_Dec);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 1, item.CR_Target_Jan);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 2, item.CR_Target_Feb);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 3, item.CR_Target_Mar);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 4, item.CR_Target_Apr);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 5, item.CR_Target_May);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 6, item.CR_Target_Jun);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 7, item.CR_Target_Jul);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 8, item.CR_Target_Aug);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 9, item.CR_Target_Sep);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 10, item.CR_Target_Oct);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 11, item.CR_Target_Nov);
     projectCost.SetCostEntry(ProjectType.CostReduction, CostType.Target, 12, item.CR_Target_Dec);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 1, item.RG_Actual_Jan);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 2, item.RG_Actual_Feb);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 3, item.RG_Actual_Mar);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 4, item.RG_Actual_Apr);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 5, item.RG_Actual_May);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 6, item.RG_Actual_Jun);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 7, item.RG_Actual_Jul);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 8, item.RG_Actual_Aug);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 9, item.RG_Actual_Sep);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 10, item.RG_Actual_Oct);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 11, item.RG_Actual_Nov);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 12, item.RG_Actual_Dec);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 1, item.RG_Target_Jan);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 2, item.RG_Target_Feb);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 3, item.RG_Target_Mar);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 4, item.RG_Target_Apr);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 5, item.RG_Target_May);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 6, item.RG_Target_Jun);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 7, item.RG_Target_Jul);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 8, item.RG_Target_Aug);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 9, item.RG_Target_Sep);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 10, item.RG_Target_Oct);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 11, item.RG_Target_Nov);
     projectCost.SetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 12, item.RG_Target_Dec);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 1, item.CI_Actual_Jan);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 2, item.CI_Actual_Feb);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 3, item.CI_Actual_Mar);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 4, item.CI_Actual_Apr);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 5, item.CI_Actual_May);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 6, item.CI_Actual_Jun);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 7, item.CI_Actual_Jul);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 8, item.CI_Actual_Aug);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 9, item.CI_Actual_Sep);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 10, item.CI_Actual_Oct);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 11, item.CI_Actual_Nov);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 12, item.CI_Actual_Dec);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 1, item.CI_Target_Jan);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 2, item.CI_Target_Feb);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 3, item.CI_Target_Mar);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 4, item.CI_Target_Apr);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 5, item.CI_Target_May);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 6, item.CI_Target_Jun);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 7, item.CI_Target_Jul);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 8, item.CI_Target_Aug);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 9, item.CI_Target_Sep);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 10, item.CI_Target_Oct);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 11, item.CI_Target_Nov);
     projectCost.SetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 12, item.CI_Target_Dec);
     return projectCost;
 }
        public async Task <IActionResult> Create(ProjectCostCreateViewModel projectCosts)
        {
            List <ProjectCost> ProjectCostsInContext = await _context.ProjectCost
                                                       .Where(pc => pc.ProjectId == projectCosts.ProjectId).ToListAsync();

            List <ProjectCost> CostsEntered     = (projectCosts.Costs?.Count > 0) ? projectCosts.Costs :  projectCosts.RejectedEntries;
            List <ProjectCost> RejectecdEntries = new List <ProjectCost>();
            List <ProjectCost> UpdatedRecords   = new List <ProjectCost>();

            Project Project = await _context.Project.FirstOrDefaultAsync(p => p.Id == projectCosts.ProjectId);

            DateTime CheckDate = Project.StartDate;

            foreach (var cost in CostsEntered.ToList())
            {
                ProjectCost ExistingCost = ProjectCostsInContext
                                           .FirstOrDefault(pc => pc.ProjectId == cost.ProjectId &&
                                                           pc.CostItemId == cost.CostItemId && pc.DateUsed == cost.DateUsed);

                if (cost.DateUsed < CheckDate || cost.ProjectId == 0 || cost.CostItemId == 0)
                {
                    CostsEntered.Remove(cost);
                    RejectecdEntries.Add(cost);
                }

                if (ExistingCost != null)
                {
                    ExistingCost.Quantity += cost.Quantity;
                    CostsEntered.Remove(cost);
                    UpdatedRecords.Add(ExistingCost);

                    _context.Update(ExistingCost);
                    await _context.SaveChangesAsync();
                }
            }

            foreach (var projectCost in CostsEntered)
            {
                CostPerUnit CuurentCostPerUnit = _context.CostPerUnit
                                                 .Where(cpu => cpu.CostItemId == projectCost.CostItemId)
                                                 .FirstOrDefault(cpu => cpu.EndDate == null);

                if (projectCost.DateUsed < CuurentCostPerUnit.StartDate)
                {
                    CostPerUnit CostPerUnitCorrectDate = _context.CostPerUnit
                                                         .Where(cpu => cpu.CostItemId == projectCost.CostItemId)
                                                         .FirstOrDefault(cpu => projectCost.DateUsed <= cpu.EndDate && projectCost.DateUsed >= cpu.StartDate);

                    projectCost.CostPerUnitId = CostPerUnitCorrectDate.Id;
                }
                else
                {
                    projectCost.CostPerUnitId = CuurentCostPerUnit.Id;
                }

                _context.Add(projectCost);
                await _context.SaveChangesAsync();
            }

            if (RejectecdEntries.Count > 0 || UpdatedRecords.Count > 0)
            {
                if (RejectecdEntries.Count > 0)
                {
                    foreach (var item in RejectecdEntries)
                    {
                        item.CostItem    = _context.CostItem.FirstOrDefault(ci => ci.Id == item.CostItemId);
                        item.CostPerUnit = _context.CostPerUnit.FirstOrDefault(cpu => cpu.Id == item.CostPerUnitId);
                    }
                }

                if (UpdatedRecords.Count > 0)
                {
                    foreach (var item in UpdatedRecords)
                    {
                        item.CostItem    = _context.CostItem.FirstOrDefault(ci => ci.Id == item.CostItemId);
                        item.CostPerUnit = _context.CostPerUnit.FirstOrDefault(cpu => cpu.Id == item.CostPerUnitId);
                    }
                }

                ProjectCostCreateViewModel viewModel = new ProjectCostCreateViewModel {
                    ProjectId       = projectCosts.ProjectId,
                    CostItems       = new List <CostItem>(),
                    RejectedEntries = RejectecdEntries,
                    UpdatedRecords  = UpdatedRecords
                };

                viewModel.CostItems = _context.CostItem.Include(ci => ci.UnitOfMeasure).OrderBy(ci => ci.ItemName).ToList();

                return(View("CreateFinish", viewModel));
            }
            else
            {
                return(RedirectToAction("Details", "Project", new { id = projectCosts.ProjectId }));
            }
        }
Example #22
0
        public Project GetProjectById(int?id)
        {
            using (SqlConnection conn = Connection) {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand()) {
                    cmd.CommandText = @"SELECT p.Id AS ProjectId, p.ProjectName, p.StartDate AS ProjectStart, p.IsComplete,
                                               p.CompletionDate AS ProjectEnd, p.AmountCharged, c.Id AS CustomerId, 
                                               c.FirstName, c.LastName, c.PhoneNumber, c.Email, pc.Id AS ProjectCostId, 
                                               pc.DateUsed, pc.Quantity, ci.Id AS CostItemId, ci.ItemName, um.Id AS UnitId,
                                               um.UnitName, cc.Id AS CostCategoryId, cc.CategoryName, cpu.Id AS CostPerUnitId,
                                               cpu.Cost, cpu.StartDate AS CostStart, cpu.EndDate AS CostEnd, cpc.Id AS CustomCostID, 
                                               cpc.ItemName AS CustomItem, cpc.CostPerUnit AS CustomCPU, cpc.Quantity AS CustomQuantity, 
                                               cpc.DateUsed AS CustomDate, cpc.UnitOfMeasure AS CustomUnits, cpc.Category AS CustomCategory
                                          FROM Project p
                                     LEFT JOIN Customer c ON p.CustomerId = c.Id
                                     LEFT JOIN ProjectCost pc ON p.Id = pc.ProjectId
                                     LEFT JOIN CustomProjectCost cpc ON p.Id = cpc.ProjectId
                                     LEFT JOIN CostItem ci ON pc.CostItemId = ci.Id
                                     LEFT JOIN CostPerUnit cpu ON pc.CostPerUnitId = cpu.Id
                                     LEFT JOIN CostCategory cc ON ci.CostCategoryId = cc.Id
                                     LEFT JOIN UnitOfMeasure um ON ci.UnitOfMeasureId = um.Id 
                                         WHERE p.Id = @id
                                      ORDER BY pc.DateUsed DESC;";

                    cmd.Parameters.Add(new SqlParameter("@id", id));
                    SqlDataReader reader = cmd.ExecuteReader();

                    Project project = null;

                    while (reader.Read())
                    {
                        if (project == null)
                        {
                            project = new Project {
                                Id           = reader.GetInt32(reader.GetOrdinal("ProjectId")),
                                ProjectName  = reader.GetString(reader.GetOrdinal("ProjectName")),
                                StartDate    = reader.GetDateTime(reader.GetOrdinal("ProjectStart")),
                                IsComplete   = reader.GetBoolean(reader.GetOrdinal("IsComplete")),
                                Customer     = new Customer(),
                                ProjectCosts = new List <ProjectCost>(),
                                CustomCosts  = new List <CustomProjectCost>()
                            };
                        }

                        if (!reader.IsDBNull(reader.GetOrdinal("ProjectEnd")))
                        {
                            project.CompletionDate = reader.GetDateTime(reader.GetOrdinal("ProjectEnd"));
                        }

                        if (!reader.IsDBNull(reader.GetOrdinal("AmountCharged")))
                        {
                            project.AmountCharged = reader.GetDouble(reader.GetOrdinal("AmountCharged"));
                        }

                        if (!reader.IsDBNull(reader.GetOrdinal("CustomerId")))
                        {
                            project.Customer.Id          = reader.GetInt32(reader.GetOrdinal("CustomerId"));
                            project.Customer.FirstName   = reader.GetString(reader.GetOrdinal("FirstName"));
                            project.Customer.LastName    = reader.GetString(reader.GetOrdinal("LastName"));
                            project.Customer.Email       = reader.GetString(reader.GetOrdinal("Email"));
                            project.Customer.PhoneNumber = reader.GetString(reader.GetOrdinal("PhoneNumber"));
                        }

                        if (!reader.IsDBNull(reader.GetOrdinal("CustomCostId")))
                        {
                            int customCostId = reader.GetInt32(reader.GetOrdinal("CustomCostId"));

                            if (!project.CustomCosts.Any(cpc => cpc.Id == customCostId))
                            {
                                CustomProjectCost customCost = new CustomProjectCost {
                                    Id            = reader.GetInt32(reader.GetOrdinal("CustomCostId")),
                                    ItemName      = reader.GetString(reader.GetOrdinal("CustomItem")),
                                    CostPerUnit   = reader.GetDouble(reader.GetOrdinal("CustomCPU")),
                                    Quantity      = reader.GetInt32(reader.GetOrdinal("CustomQuantity")),
                                    DateUsed      = reader.GetDateTime(reader.GetOrdinal("CustomDate")),
                                    UnitOfMeasure = reader.GetString(reader.GetOrdinal("CustomUnits")),
                                    Category      = reader.GetString(reader.GetOrdinal("CustomCategory"))
                                };
                                project.CustomCosts.Add(customCost);
                            }
                        }

                        if (!reader.IsDBNull(reader.GetOrdinal("ProjectCostId")))
                        {
                            int projectCostId = reader.GetInt32(reader.GetOrdinal("ProjectCostId"));

                            if (!project.ProjectCosts.Any(pc => pc.Id == projectCostId))
                            {
                                ProjectCost projectCost = new ProjectCost {
                                    Id       = reader.GetInt32(reader.GetOrdinal("ProjectCostId")),
                                    DateUsed = reader.GetDateTime(reader.GetOrdinal("DateUsed")),
                                    Quantity = reader.GetDouble(reader.GetOrdinal("Quantity")),
                                    CostItem = new CostItem {
                                        Id            = reader.GetInt32(reader.GetOrdinal("CostItemId")),
                                        ItemName      = reader.GetString(reader.GetOrdinal("ItemName")),
                                        UnitOfMeasure = new UnitOfMeasure {
                                            Id       = reader.GetInt32(reader.GetOrdinal("UnitId")),
                                            UnitName = reader.GetString(reader.GetOrdinal("UnitName"))
                                        },
                                        CostCategory = new CostCategory {
                                            Id           = reader.GetInt32(reader.GetOrdinal("CostCategoryId")),
                                            CategoryName = reader.GetString(reader.GetOrdinal("CategoryName"))
                                        }
                                    },
                                    CostPerUnit = new CostPerUnit {
                                        Id   = reader.GetInt32(reader.GetOrdinal("CostPerUnitId")),
                                        Cost = reader.GetDouble(reader.GetOrdinal("Cost"))
                                    }
                                };
                                project.ProjectCosts.Add(projectCost);
                            }
                        }
                    }
                    reader.Close();
                    return(project);
                }
            }
        }
        public static SharePointListItem Convert(ProjectCost projectCost, int monthToStart)
        {
            var item = new SharePointListItem();
            item.CA_Actual_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 1));
            item.CA_Actual_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 2));
            item.CA_Actual_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 3));
            item.CA_Actual_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 4));
            item.CA_Actual_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 5));
            item.CA_Actual_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 6));
            item.CA_Actual_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 7));
            item.CA_Actual_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 8));
            item.CA_Actual_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 9));
            item.CA_Actual_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 10));
            item.CA_Actual_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 11));
            item.CA_Actual_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Actual, 12));
            item.CA_Target_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 1));
            item.CA_Target_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 2));
            item.CA_Target_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 3));
            item.CA_Target_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 4));
            item.CA_Target_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 5));
            item.CA_Target_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 6));
            item.CA_Target_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 7));
            item.CA_Target_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 8));
            item.CA_Target_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 9));
            item.CA_Target_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 10));
            item.CA_Target_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 11));
            item.CA_Target_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostAvoidance, CostType.Target, 12));
            item.CR_Actual_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 1));
            item.CR_Actual_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 2));
            item.CR_Actual_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 3));
            item.CR_Actual_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 4));
            item.CR_Actual_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 5));
            item.CR_Actual_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 6));
            item.CR_Actual_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 7));
            item.CR_Actual_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 8));
            item.CR_Actual_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 9));
            item.CR_Actual_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 10));
            item.CR_Actual_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 11));
            item.CR_Actual_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Actual, 12));
            item.CR_Target_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 1));
            item.CR_Target_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 2));
            item.CR_Target_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 3));
            item.CR_Target_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 4));
            item.CR_Target_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 5));
            item.CR_Target_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 6));
            item.CR_Target_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 7));
            item.CR_Target_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 8));
            item.CR_Target_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 9));
            item.CR_Target_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 10));
            item.CR_Target_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 11));
            item.CR_Target_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.CostReduction, CostType.Target, 12));
            item.RG_Actual_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 1));
            item.RG_Actual_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 2));
            item.RG_Actual_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 3));
            item.RG_Actual_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 4));
            item.RG_Actual_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 5));
            item.RG_Actual_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 6));
            item.RG_Actual_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 7));
            item.RG_Actual_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 8));
            item.RG_Actual_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 9));
            item.RG_Actual_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 10));
            item.RG_Actual_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 11));
            item.RG_Actual_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Actual, 12));
            item.RG_Target_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 1));
            item.RG_Target_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 2));
            item.RG_Target_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 3));
            item.RG_Target_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 4));
            item.RG_Target_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 5));
            item.RG_Target_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 6));
            item.RG_Target_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 7));
            item.RG_Target_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 8));
            item.RG_Target_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 9));
            item.RG_Target_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 10));
            item.RG_Target_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 11));
            item.RG_Target_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.RevenueGrowth, CostType.Target, 12));
            item.CI_Actual_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 1));
            item.CI_Actual_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 2));
            item.CI_Actual_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 3));
            item.CI_Actual_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 4));
            item.CI_Actual_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 5));
            item.CI_Actual_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 6));
            item.CI_Actual_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 7));
            item.CI_Actual_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 8));
            item.CI_Actual_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 9));
            item.CI_Actual_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 10));
            item.CI_Actual_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 11));
            item.CI_Actual_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Actual, 12));
            item.CI_Target_Jan = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 1));
            item.CI_Target_Feb = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 2));
            item.CI_Target_Mar = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 3));
            item.CI_Target_Apr = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 4));
            item.CI_Target_May = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 5));
            item.CI_Target_Jun = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 6));
            item.CI_Target_Jul = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 7));
            item.CI_Target_Aug = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 8));
            item.CI_Target_Sep = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 9));
            item.CI_Target_Oct = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 10));
            item.CI_Target_Nov = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 11));
            item.CI_Target_Dec = ToProcessedString(projectCost.GetCostEntry(ProjectType.CapacityIncrease, CostType.Target, 12));
            item.Total_Actual_Jan = ToActualString(projectCost.GetActualTotal(1));
            item.Total_Actual_Feb = ToActualString(projectCost.GetActualTotal(2));
            item.Total_Actual_Mar = ToActualString(projectCost.GetActualTotal(3));
            item.Total_Actual_Apr = ToActualString(projectCost.GetActualTotal(4));
            item.Total_Actual_May = ToActualString(projectCost.GetActualTotal(5));
            item.Total_Actual_Jun = ToActualString(projectCost.GetActualTotal(6));
            item.Total_Actual_Jul = ToActualString(projectCost.GetActualTotal(7));
            item.Total_Actual_Aug = ToActualString(projectCost.GetActualTotal(8));
            item.Total_Actual_Sep = ToActualString(projectCost.GetActualTotal(9));
            item.Total_Actual_Oct = ToActualString(projectCost.GetActualTotal(10));
            item.Total_Actual_Nov = ToActualString(projectCost.GetActualTotal(11));
            item.Total_Actual_Dec = ToActualString(projectCost.GetActualTotal(12));
            item.Total_Target_Jan = ToActualString(projectCost.GetTargetTotal(1));
            item.Total_Target_Feb = ToActualString(projectCost.GetTargetTotal(2));
            item.Total_Target_Mar = ToActualString(projectCost.GetTargetTotal(3));
            item.Total_Target_Apr = ToActualString(projectCost.GetTargetTotal(4));
            item.Total_Target_May = ToActualString(projectCost.GetTargetTotal(5));
            item.Total_Target_Jun = ToActualString(projectCost.GetTargetTotal(6));
            item.Total_Target_Jul = ToActualString(projectCost.GetTargetTotal(7));
            item.Total_Target_Aug = ToActualString(projectCost.GetTargetTotal(8));
            item.Total_Target_Sep = ToActualString(projectCost.GetTargetTotal(9));
            item.Total_Target_Oct = ToActualString(projectCost.GetTargetTotal(10));
            item.Total_Target_Nov = ToActualString(projectCost.GetTargetTotal(11));
            item.Total_Target_Dec = ToActualString(projectCost.GetTargetTotal(12));

            var savedOver12Months_CA = projectCost.GetSavedOver12Months(ProjectType.CostAvoidance, monthToStart);
            var savedOver12Months_CR = projectCost.GetSavedOver12Months(ProjectType.CostReduction, monthToStart);
            var savedOver12Months_RG = projectCost.GetSavedOver12Months(ProjectType.RevenueGrowth, monthToStart);
            var savedOver12Months_CI = projectCost.GetSavedOver12Months(ProjectType.CapacityIncrease, monthToStart);

            item.SavedOver12Months_CA = ToActualString(savedOver12Months_CA);
            item.SavedOver12Months_CR = ToActualString(savedOver12Months_CR);
            item.SavedOver12Months_RG = ToActualString(savedOver12Months_RG);
            item.SavedOver12Months_CI = ToActualString(savedOver12Months_CI);
            item.SavedOver12Months_Total = ToActualString(savedOver12Months_CA + savedOver12Months_CR + savedOver12Months_RG + savedOver12Months_CI);

            var savedYearToDate_CA = projectCost.GetSavedYearToDate(ProjectType.CostAvoidance, monthToStart);
            var savedYearToDate_CR = projectCost.GetSavedYearToDate(ProjectType.CostReduction, monthToStart);
            var savedYearToDate_RG = projectCost.GetSavedYearToDate(ProjectType.RevenueGrowth, monthToStart);
            var savedYearToDate_CI = projectCost.GetSavedYearToDate(ProjectType.CapacityIncrease, monthToStart);
            item.SavedYearToDate_CA = ToActualString(savedYearToDate_CA);
            item.SavedYearToDate_CR = ToActualString(savedYearToDate_CR);
            item.SavedYearToDate_RG = ToActualString(savedYearToDate_RG);
            item.SavedYearToDate_CI = ToActualString(savedYearToDate_CI);
            item.SavedYearToDate_Total = ToActualString(savedYearToDate_CA + savedYearToDate_CR + savedYearToDate_RG + savedYearToDate_CI);

            var estimatedSaving_CA = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.CostAvoidance, monthToStart);
            var estimatedSaving_CR = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.CostReduction, monthToStart);
            var estimatedSaving_RG = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.RevenueGrowth, monthToStart);
            var estimatedSaving_CI = projectCost.GetEstimatedSavingsToBeRealized(ProjectType.CapacityIncrease, monthToStart);
            item.EstimatedSaving_CA = ToActualString(estimatedSaving_CA);
            item.EstimatedSaving_CR = ToActualString(estimatedSaving_CR);
            item.EstimatedSaving_RG = ToActualString(estimatedSaving_RG);
            item.EstimatedSaving_CI = ToActualString(estimatedSaving_CI);
            item.EstimatedSaving_Total = ToActualString(estimatedSaving_CA + estimatedSaving_CR + estimatedSaving_RG + estimatedSaving_CI);
            return item;
        }
Example #24
0
        protected override void form_save_Click(object sender, EventArgs e)
        {
            if (InsTextIsNull() == false)
            {
                return;
            }
            ProjectCost     pic    = null;
            ProjectCostType pict   = (ProjectCostType)Owner;
            int             result = 0;

            switch (state)
            {
            case 0:
                pic = new ProjectCost()
                {
                    PC_Name     = textBox1.Text.Trim(),
                    PC_Clear    = 1,
                    PC_Enable   = 1,
                    PC_Code     = BuildCode.ModuleCode("PCN"),
                    PC_ParentId = code
                };
                try
                {
                    result = micm.InsProjectCost(pic);
                    if (result > 0)
                    {
                        MessageBox.Show("保存成功!");
                        pict.isflag = true;
                        Close();
                        Dispose();
                        return;
                    }
                    else
                    {
                        MessageBox.Show("保存失败!");
                        pict.isflag = false;
                        return;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("保存失败,请检查服务器连接并尝试重新保存.错误:" + ex.Message);
                }
                break;

            case 1:
                pic = new ProjectCost()
                {
                    PC_Name     = textBox1.Text.Trim(),
                    PC_Clear    = 1,
                    PC_Enable   = 1,
                    PC_Code     = BuildCode.ModuleCode("PCN"),
                    PC_ParentId = code
                };
                try
                {
                    result = micm.InsProjectCost(pic);
                    if (result > 0)
                    {
                        MessageBox.Show("保存成功!");
                        pict.isflag = true;
                        Close();
                        Dispose();
                        return;
                    }
                    else
                    {
                        MessageBox.Show("保存失败!");
                        pict.isflag = false;
                        return;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("保存失败,请检查服务器连接并尝试重新保存.错误:" + ex.Message);
                }
                break;

            case 2:
                try
                {
                    result = micm.UpdateNameProjectCost(textBox1.Text, code, txtName);
                    if (result > 0)
                    {
                        MessageBox.Show("保存成功!");
                        pict.isflag = true;
                        Close();
                        Dispose();
                        return;
                    }
                    else
                    {
                        MessageBox.Show("保存失败!");
                        pict.isflag = false;
                        return;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("保存失败,请检查服务器连接并尝试重新保存.错误:" + ex.Message);
                }
                break;

            default:
                MessageBox.Show("选择错误!");
                break;
            }
        }