private RiskActivityViewModel CloneActivity(RiskActivityViewModel activity, RiskActivityViewModel activityToClone) { decimal budget = default(decimal); if (activityToClone.BudgetStr != null) { budget = decimal.Parse(activityToClone.BudgetStr.Replace(",", string.Empty)); } activity.ActivityDescription = activityToClone.ActivityDescription; activity.ManagementStrategy = activityToClone.ManagementStrategy; activity.ActvityStatusId = activityToClone.ActvityStatusId; activity.TriggerEventOrMilestone = activityToClone.TriggerEventOrMilestone; activity.CurrentCompletationDate = activityToClone.CurrentCompletationDate; activity.BudgetStr = activityToClone.BudgetStr; activity.Budget = budget; activity.FundingSourceId = activityToClone.FundingSourceId; activity.Responsible = activityToClone.Responsible; activity.Institution = activityToClone.Institution; activity.Justification = activityToClone.Justification; activity.ActivityCode = activityToClone.ActivityCode; activity.ActivityId = activityToClone.ActivityId; activity.ManagementStrategyValues = activityToClone.ManagementStrategyValues; return(activity); }
private RiskActivityViewModel GetRiskAcitivyFromModel(RiskMatrixViewModel model, int ActivityId) { RiskActivityViewModel activity = null; activity = model.Risks .SelectMany(s => s.ResponsePlanActivity) .Where(a => a.ActivityId == ActivityId) .FirstOrDefault(); return(activity); }
public virtual ActionResult AddNewRowActivity(RiskMatrixViewModel model, string riskMatrixId, string operationNumber, int activityId) { int riskMatrixIdParsed = default(int); model = GetSelectItems(model); RiskActivityViewModel activity = new RiskActivityViewModel { ActivityId = default(int), ActivityCode = default(int), ActivityDescription = string.Empty, CurrentCompletationDate = null, TriggerEventOrMilestone = null }; if (activityId != default(int)) { GetActivityByIdRequest requestApp = new GetActivityByIdRequest { ActivityId = activityId }; var activityFromModel = GetRiskAcitivyFromModel(model, activityId); var resultResponse = new GetActivityByIdResponse(); if (activityFromModel == null) { resultResponse = _riskMastrixService.GetActivitybyId(requestApp); if (!resultResponse.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.NoContent, resultResponse.ErrorMessage)); } activity = CloneActivity(activity, resultResponse.ItemActivity); } else { activity = CloneActivity(activity, activityFromModel); activity.ManagementStrategy = LogicManagementStrategy(activity.ManagementStrategyValues); } } if (!int.TryParse(riskMatrixId, out riskMatrixIdParsed)) { var code = model.Risks .Where(x => x.CodeGuid == riskMatrixId) .Select(a => a.ResponsePlanActivity) .LastOrDefault() .LastOrDefault(); if (activity.ActivityCode == default(int)) { activity.ActivityCode = code != null ? code.ActivityCode + CONSTONE : default(int) + CONSTONE; } model.SelectedRisk = riskMatrixId; model.CodeGuid = riskMatrixId; model.Risks.Where(x => x.CodeGuid == riskMatrixId) .Select(s => s.ResponsePlanActivity) .FirstOrDefault() .Add(activity); } else { var code = model.Risks .Where(x => x.RiskId == riskMatrixIdParsed) .Select(a => a.ResponsePlanActivity) .LastOrDefault() .LastOrDefault(); if (activity.ActivityCode == default(int)) { activity.ActivityCode = code != null ? code.ActivityCode + CONSTONE : default(int) + CONSTONE; } model.SelectedRisk = riskMatrixIdParsed.ToString(); model.Risks.Where(x => x.RiskId == riskMatrixIdParsed) .Select(s => s.ResponsePlanActivity) .FirstOrDefault() .Add(activity); } return(PartialView("~/Areas/RiskMatrix/Views/Controls/NewActivity.cshtml", model)); }