public PartialViewResult AddProjectEvaluation(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;
            var viewModel  = new AddProjectEvaluationViewModel(evaluation);

            return(ViewAddProjectEvaluation(viewModel, evaluation));
        }
        public ViewResult Detail(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;
            var viewData   = new DetailViewData(CurrentFirmaSession, evaluation);

            return(RazorView <Detail, DetailViewData>(viewData));
        }
        public ActionResult NewEvaluationCriteria(EvaluationPrimaryKey evaluationPrimaryKey, EditEvaluationCriteriaViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(ViewEditEvaluationCriteria(viewModel));
            }

            var evaluation = evaluationPrimaryKey.EntityObject;

            var evaluationCriteria = new EvaluationCriteria(evaluation, viewModel.EvaluationCriteriaName, viewModel.EvaluationCriteriaDefinition);

            if (viewModel.EvaluationCriteriaValueSimples.Count > 0)
            {
                evaluationCriteria.EvaluationCriteriaValues = viewModel.EvaluationCriteriaValueSimples.Select(x => new EvaluationCriteriaValue(evaluationCriteria, x.EvaluationCriteriaValueRating, x.EvaluationCriteriaValueDescription)
                {
                    SortOrder = x.SortOrder
                }).ToList();
            }


            HttpRequestStorage.DatabaseEntities.AllEvaluationCriterias.Add(evaluationCriteria);
            HttpRequestStorage.DatabaseEntities.SaveChanges();

            SetMessageForDisplay($"{FieldDefinitionEnum.EvaluationCriteria.ToType().GetFieldDefinitionLabel()} {evaluationCriteria.EvaluationCriteriaName} successfully created.");

            return(new ModalDialogFormJsonResult());
        }
        public PartialViewResult Delete(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;
            var viewModel  = new ConfirmDialogFormViewModel(evaluation.EvaluationID);

            return(ViewDelete(evaluation, viewModel));
        }
        public PartialViewResult Edit(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;
            var viewModel  = new EditViewModel(evaluation);

            return(ViewEdit(viewModel));
        }
        public ActionResult Edit(EvaluationPrimaryKey evaluationPrimaryKey, EditViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(ViewEdit(viewModel));
            }
            var evaluation = evaluationPrimaryKey.EntityObject;

            viewModel.UpdateModel(evaluation, CurrentFirmaSession);
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult Delete(EvaluationPrimaryKey evaluationPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewDelete(evaluation, viewModel));
            }

            evaluation.DeleteFull(HttpRequestStorage.DatabaseEntities);
            SetMessageForDisplay($"Successfully deleted {FieldDefinitionEnum.Evaluation.ToType().GetFieldDefinitionLabel()} '{evaluation.EvaluationName}'!");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult AddProjectEvaluation(EvaluationPrimaryKey evaluationPrimaryKey, AddProjectEvaluationViewModel viewModel)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewAddProjectEvaluation(viewModel, evaluation));
            }


            viewModel.UpdateModel(CurrentFirmaSession, evaluation);

            SetMessageForDisplay($"Successfully added projects to this {FieldDefinitionEnum.EvaluationPortfolio.ToType().GetFieldDefinitionLabel()}.");

            return(new ModalDialogFormJsonResult());
        }
        public GridJsonNetJObjectResult <EvaluationCriteria> EvaluationCriteriaGridJsonData(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var gridSpec                 = new EvaluationCriteriaGridSpec(CurrentFirmaSession);
            var evaluation               = evaluationPrimaryKey.EntityObject;
            var evaluationCriteria       = evaluation.EvaluationCriterias.ToList();
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <EvaluationCriteria>(evaluationCriteria, gridSpec);

            return(gridJsonNetJObjectResult);
        }
        public GridJsonNetJObjectResult <ProjectEvaluation> EvaluationPortfolioGridJsonData(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var evaluation               = evaluationPrimaryKey.EntityObject;
            var gridSpec                 = new EvaluationPortfolioGridSpec(CurrentFirmaSession, evaluation);
            var projectEvaluations       = evaluation.ProjectEvaluations.ToList();
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <ProjectEvaluation>(projectEvaluations, gridSpec);

            return(gridJsonNetJObjectResult);
        }
        public PartialViewResult NewEvaluationCriteria(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var viewModel = new EditEvaluationCriteriaViewModel();

            return(ViewEditEvaluationCriteria(viewModel));
        }