Пример #1
0
        public void AddRows(JsonResponseModel model, Masterplan project)
        {
            AddRow(model, project.ProjectName, "Fesability", project.StartDate, project.FesabilityEnd.Value, "blue");
            AddRow(model, project.ProjectName, "Conceptual", project.FesabilityEnd.Value, project.ConceptualEnd.Value, "yellow");
            AddRow(model, project.ProjectName, "Definition", project.ConceptualEnd.Value, project.DefinitionEnd.Value, "purple");
            AddRow(model, project.ProjectName, "Design&Construct", project.DefinitionEnd.Value, project.DesignConstructEnd.Value, "grey");
            AddRow(model, project.ProjectName, "Startup", project.DesignConstructEnd.Value, project.PredictedEndDate, "orange");

            if (project.FesabilityEnd != null && project.FesabilityActualEnd != null)
            {
                var check = project.FesabilityActualEnd.Value.CompareTo(project.FesabilityEnd.Value);

                if (check <= 0)
                {
                    AddRow(model, project.ProjectName, "Fesability Actual", project.StartDate, project.FesabilityActualEnd.Value, "green");
                }
                if (check > 0)
                {
                    AddRow(model, project.ProjectName, "Fesability Actual", project.StartDate, project.FesabilityActualEnd.Value, "red");
                }
            }

            if (project.FesabilityActualEnd != null && project.ConceptualActualEnd != null)
            {
                var check = project.ConceptualActualEnd.Value.CompareTo(project.ConceptualEnd.Value);

                if (check <= 0)
                {
                    AddRow(model, project.ProjectName, "Conceptual Actual", project.FesabilityActualEnd.Value, project.ConceptualActualEnd.Value, "green");
                }
                else
                {
                    AddRow(model, project.ProjectName, "Conceptual Actual", project.FesabilityActualEnd.Value, project.ConceptualActualEnd.Value, "red");
                }
            }

            if (project.ConceptualActualEnd != null && project.DefinitionActualEnd != null)
            {
                var check = project.DefinitionActualEnd.Value.CompareTo(project.DefinitionEnd.Value);

                if (check <= 0)
                {
                    AddRow(model, project.ProjectName, "Definition Actual", project.ConceptualActualEnd.Value, project.DefinitionActualEnd.Value, "green");
                }
                else
                {
                    AddRow(model, project.ProjectName, "Definition Actual", project.ConceptualActualEnd.Value, project.DefinitionActualEnd.Value, "red");
                }
            }

            if (project.DefinitionActualEnd != null && project.DesignConstructActualEnd != null)
            {
                var check = project.DefinitionActualEnd.Value.CompareTo(project.DefinitionEnd.Value);

                if (check <= 0)
                {
                    AddRow(model, project.ProjectName, "Design&Construct Actual", project.DefinitionActualEnd.Value, project.DesignConstructActualEnd.Value, "green");
                }
                else
                {
                    AddRow(model, project.ProjectName, "Design&Construct Actual", project.DefinitionActualEnd.Value, project.DesignConstructActualEnd.Value, "red");
                }
            }

            if (project.DesignConstructActualEnd != null)
            {
                var check = project.ActualEndDate.Value.CompareTo(project.PredictedEndDate);

                if (check <= 0)
                {
                    AddRow(model, project.ProjectName, "Startup Actual", project.DesignConstructActualEnd.Value, project.ActualEndDate.Value, "green");
                }
                else
                {
                    AddRow(model, project.ProjectName, "Startup Actual", project.DesignConstructActualEnd.Value, project.ActualEndDate.Value, "red");
                }
            }
        }
Пример #2
0
        public async Task <IActionResult> AddProject(AddProjectViewModel model, string errorMessage = null)
        {
            ViewBag.ErrorMessage = errorMessage;
            if (ModelState.IsValid)
            {
                if (CompareDate(model.StartDate, model.FesabilityEndDate.Value))
                {
                    return(await AddProject(model, "Feasibility: End Date is before Start Date"));
                }
                if (CompareDate(model.FesabilityEndDate.Value, model.ConceptualEndDate.Value))
                {
                    return(await AddProject(model, "Conceptual: End Date is before Start Date"));
                }
                if (CompareDate(model.ConceptualEndDate.Value, model.DefinitionEndDate.Value))
                {
                    return(await AddProject(model, "Definition: End Date is before Start Date"));
                }
                if (CompareDate(model.DefinitionEndDate.Value, model.DesignConstructEndDate.Value))
                {
                    return(await AddProject(model, "Design&Construct: End Date is before Start Date"));
                }
                if (CompareDate(model.DesignConstructEndDate.Value, model.PredictedEndDate))
                {
                    return(await AddProject(model, "Startup: End Date is before Start Date"));
                }

                if (model.StartupLeader == null && model.AdditionalStartupLeader == null)
                {
                    return(AddProject("Select Startup leader or add a new one!"));
                }

                if (model.AdditionalPcisResource != null)
                {
                    ctx.Pcisresource.Add(new Pcisresource {
                        Name = model.AdditionalPcisResource
                    });
                    ctx.SaveChanges();
                }

                if (model.AdditionalPTResource != null)
                {
                    ctx.Ptresource.Add(new Ptresource {
                        Name = model.AdditionalPTResource
                    });
                    ctx.SaveChanges();
                }
                if (model.AdditionalEIResource != null)
                {
                    ctx.Eiresource.Add(new Eiresource {
                        Name = model.AdditionalEIResource
                    });
                    ctx.SaveChanges();
                }
                if (model.AdditionalStartupLeader != null)
                {
                    ctx.Leaders.Add(new Leaders {
                        Name = model.AdditionalStartupLeader
                    });
                    ctx.SaveChanges();
                }

                Masterplan project2Add = new Masterplan
                {
                    ActualEndDate           = null,
                    ActualEndFiscalYear     = null,
                    ActualSpendingTargetEtc = false,
                    Category                    = model.Category,
                    Cm                          = model.CM,
                    ConceptualActualEnd         = null,
                    ConceptualComments          = null,
                    ConceptualCompleted         = false,
                    ConceptualDeliverables      = null,
                    ConceptualEnd               = model.ConceptualEndDate,
                    DefinitionActualEnd         = null,
                    DefinitionComments          = null,
                    DefinitionDeliverables      = null,
                    DefinitionDone              = false,
                    DefinitionEnd               = model.DefinitionEndDate,
                    DesignConstructActualEnd    = null,
                    DesignConstructcCompleted   = false,
                    DesignConstructComments     = null,
                    DesignConstructDeliverables = null,
                    DesignConstructEnd          = model.DesignConstructEndDate,
                    Eiresource                  = model.AdditionalEIResource ?? model.EIResource,
                    Etc                         = model.ETC,
                    Saving                      = model.Savings,
                    FesabilityActualEnd         = null,
                    FesabilityComments          = null,
                    FesabilityCompletetd        = false,
                    FesabilityDeliverables      = null,
                    FesabilityEnd               = model.FesabilityEndDate,
                    FiscalYearStart             = Convert2FiscalYear(model.StartDate),
                    FundingType                 = model.FundingType,
                    ImpactedDepartment          = model.ImpactedDepartment,
                    LeadingDepartment           = model.LeadingDepartment,
                    MetSuccesCriteria           = false,
                    Ora                         = null,
                    OtherComments               = model.Comments,
                    PcisResource                = model.AdditionalPcisResource ?? model.PcisResource,
                    PlantAe                     = model.PlantAE,
                    PredictedEndDate            = model.PredictedEndDate,
                    PredictedEndFiscalYear      = Convert2FiscalYear(model.PredictedEndDate),
                    Priority                    = model.Priority,
                    ProjectLeader               = (await _userManager.FindByNameAsync(User.Identity.Name)).Fullname,
                    ProjectName                 = model.ProjectName,
                    ProjectType                 = model.ProjectType,
                    Ptresource                  = model.AdditionalPTResource ?? model.PTResource,
                    StartDate                   = model.StartDate,
                    StartupComments             = null,
                    StartupLeader               = model.AdditionalStartupLeader ?? model.StartupLeader,
                    Status                      = model.Status,
                    TeamCharter                 = model.TeamCharter
                };
                ctx.Masterplan.Add(project2Add);
                ctx.SaveChanges();

                return(RedirectToAction("ViewProjects", "Project", new { message = "Project succesfully added!" }));
            }

            return(View(model));
        }