public virtual ActionResult GetFindingsAndRecommendations(string operationNumber) { bool isEditable; var findingsAndRecommendations = findingAndRecommendationsRepository.GetFindingsAndRecommendations( operationNumber, IDBContext.Current.CurrentLanguage, out isEditable); // AJAX calls don't include the operation number in the HttpRequeest.RouteData // so we need to setup the operation number forced IDBContext.Current.Operation = operationNumber; FindingRecommendationHeaderModel model = new FindingRecommendationHeaderModel { FindingRecommendations = findingsAndRecommendations, IsEditable = isEditable, IsCurrentPcrTaskLessThanFive = PCRHelpers.IsCurrentTaskLessThanFive( ReportsRepository, PCRWorkflowStatusRepository), HasFindingsWritePermission = IDBContext.Current.HasPermission( Permission.FINDINGS_WIRTE), HasRMAdministratorRole = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR), OperationNumber = operationNumber }; return(new JsonResult { Data = model }); }
public virtual ActionResult Details(string operationNumber, MessageNotificationCodes messageStatus = MessageNotificationCodes.VoidMessage) { var currentOperation = operation.GetOperationByOperationNumber(operationNumber); string[] masterDataItems = new string[] { "RISK_STATUS", "RISK_TYPE", "RISK_TARGET_AUDIENCE", "RISK_PROBABILITY", "RISK_IMPACT", "RISK_LEVEL" }; var masterDataDetail = operation.GetMasterDataDetails(masterDataItems, Lang); this.ViewBag.listrisktype = masterDataDetail["RISK_TYPE"]; this.ViewBag.listrisktargetaudience = masterDataDetail["RISK_TARGET_AUDIENCE"]; this.ViewBag.listriskstatus = masterDataDetail["RISK_STATUS"]; this.ViewBag.listriskprobability = operation.GetRiskProbability(masterDataDetail["RISK_PROBABILITY"]); this.ViewBag.listriskimpact = operation.RiskImpact(masterDataDetail["RISK_IMPACT"]); this.ViewBag.listrangerisklevel = operation.RangeRiskLevel(); var operationmodel = operation.GetAllOperationRisks(currentOperation, Lang, masterDataDetail); ViewData["SelectedRiskType"] = string.Empty; ViewData["DescriptionFilter"] = string.Empty; ViewData["RiskLevelFilter"] = string.Empty; ViewData["RiskTargetFilter"] = string.Empty; ViewData["RiskStatusFilter"] = string.Empty; ViewData["OperationNumberFilter"] = string.Empty; ViewData["Message"] = null; if (messageStatus != MessageNotificationCodes.VoidMessage) { MessageConfiguration message = MessageHandler.setMessage(messageStatus, true, 5); ViewData["message"] = message; } ViewBag.isLessTaskFive = PCRHelpers.IsCurrentTaskLessThanFive( ClientGenericRepository, PCRWorkflowStatusRepository, currentOperation.OperationId); ViewBag.RMAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR); return(View(operationmodel)); }
private string TestPCRForDebugg(Operation operation) { var operationId = operation.OperationId; var averageScore = string.Empty; var isPCRPublished = operation.OpIsPCRCompleted(); var pcrWorkFlow = _pcrWorkflowStatusRepository.GetOne(x => x.OperationId == operationId); if (isPCRPublished == false && (pcrWorkFlow != null && pcrWorkFlow.IsRequired)) { averageScore = Localization.GetText("CS.Monitoring.TBD"); } if (isPCRPublished == false && (pcrWorkFlow == null || (pcrWorkFlow != null && !pcrWorkFlow.IsRequired))) { averageScore = Localization.GetText("CS.Monitoring.NotAvailable"); } if (isPCRPublished == true && (pcrWorkFlow != null && !pcrWorkFlow.IsRequired)) { averageScore = Localization.GetText("CS.Monitoring.NotAvailable"); } if (isPCRPublished == true && (pcrWorkFlow != null && pcrWorkFlow.IsRequired)) { var filteredPCRList = _pcrRepository.GetByCriteria(x => x.Operation.OperationId == operationId && x.ValidateDate.HasValue).OrderByDescending(x => x.ValidateDate).ToList(); var currentPCR = filteredPCRList.FirstOrDefault(); if (currentPCR != null) { if (currentPCR.PCRStage == null) { _pcrRepository.Reload(currentPCR, "PCRStage", "PCRValidationStage", "Operation"); if (filteredPCRList.Count >= 2) { PCRHelpers.CopyNavigationPropertyToNewPCR(filteredPCRList.ElementAt(1), currentPCR); } } var calculateSummaryByStageDTO = _pcrCalculationService.CalculateSummaryByStage(currentPCR); var category = string.Empty; switch (calculateSummaryByStageDTO.Category) { case OperationScoreCategoryEnum.FullAchievement: category = Localization.GetText("PCR.Summary.CoreCriterion.FullAchievement"); break; case OperationScoreCategoryEnum.HighAchievement: category = Localization.GetText("PCR.Summary.CoreCriterion.HighAchievement"); break; case OperationScoreCategoryEnum.PartialAchievement: category = Localization.GetText("PCR.Summary.CoreCriterion.PartialAchievement"); break; case OperationScoreCategoryEnum.LowAchievement: category = Localization.GetText("PCR.Summary.CoreCriterion.LowAchievement"); break; case OperationScoreCategoryEnum.NoAchievement: category = Localization.GetText("PCR.Summary.CoreCriterion.NoAchievement"); break; } averageScore = string.Format("{0:0.00}", calculateSummaryByStageDTO.AverageScore) + (!string.IsNullOrWhiteSpace(category) ? " - " : null) + category; var isTestCaseManagerAviable = ConfigurationServiceFactory.Current.GetApplicationSettings().TestCaseManagerAviable; if (isTestCaseManagerAviable) { averageScore = "0.72 - Partial Achievement"; } } } return(averageScore); }
public virtual ActionResult DetailsFindingRecommendation( string operationNumber, int State = 0, string Dimensions = "0", string Categories = "0", string Stages = "0", string cycleIdList = null) { if (cycleIdList == "null") { cycleIdList = null; } var Model = findingAndRecommendationsRepository.GetFindingAdittional(operationNumber, Language.EN, Dimensions, Categories, Stages, cycleIdList); ViewBag.IsCurrentCycleTable = true; foreach (var AllValues in Model.FindingRecommendations) { ViewBag.IsCurrentCycleTable = AllValues.IsCurrentCycle; } var ListDimensions = findingAndRecommendationsRepository.GetDimensions(Language.EN); var ListCategories = findingAndRecommendationsRepository.GetCategories(Language.EN); var ListStages = findingAndRecommendationsRepository.GetStages(Language.EN); var ListCycles = findingAndRecommendationsRepository.GetCycles(Language.EN, operationNumber); ListDimensions.Reverse(); ListDimensions.Add(new MW.Domain.Models.Architecture.MasterDefinitions.ConvergenceMasterDataModel() { ConvergenceMasterDataId = 0, Name = Localization.GetText("Dimensions") }); ListDimensions.Reverse(); ListCategories.Reverse(); ListCategories.Add(new MW.Domain.Models.Architecture.MasterDefinitions.ConvergenceMasterDataModel() { ConvergenceMasterDataId = 0, Name = Localization.GetText("Categories") }); ListCategories.Reverse(); ListStages.Reverse(); ListStages.Add(new MW.Domain.Models.Architecture.MasterDefinitions.ConvergenceMasterDataModel() { ConvergenceMasterDataId = 0, Name = Localization.GetText("Stages") }); ListStages.Reverse(); ListCycles.Reverse(); ListCycles.RemoveAt(0); ListCycles.Reverse(); ListCycles.Add(new FilterItemModel { ItemId = int.MaxValue, Name = Localization.GetText("All Cycles") }); ListCycles.Add(new FilterItemModel { ItemId = 0, Name = Localization.GetText("Current Cycle") }); ListCycles.Reverse(); string[,] CategoriesDimensions = new string[2, ListDimensions.Count]; int count = 0; foreach (var data_ in ListDimensions) { if (data_.ConvergenceMasterDataId == 0) { CategoriesDimensions[0, count] = data_.ConvergenceMasterDataId.ToString(); CategoriesDimensions[1, count] += "<option value='" + data_.ConvergenceMasterDataId + "' selected='selected'>" + Localization.GetText("Categories") + "</option>"; } else { CategoriesDimensions[1, count] += "<option value='0' selected='selected'>" + Localization.GetText("Categories") + "</option>"; var ListCategoriesFilter = findingAndRecommendationsRepository.GetCategoriesFilter(Language.EN, data_.ConvergenceMasterDataId).ToList(); foreach (var data__ in ListCategoriesFilter) { CategoriesDimensions[0, count] = data_.ConvergenceMasterDataId.ToString(); CategoriesDimensions[1, count] += "<option value='" + data__.ConvergenceMasterDataId + "' >" + data__.Name + "</option>"; } } count++; } ViewBag.ListDimensions = new SelectList(ListDimensions, "ConvergenceMasterDataID", "Name"); ViewBag.ListCategories = new SelectList(ListCategories, "ConvergenceMasterDataID", "Name"); ViewBag.ListStages = new SelectList(ListStages, "ConvergenceMasterDataID", "Name"); ViewBag.ListCycles = new SelectList(ListCycles, "ItemId", "Name"); ViewBag.CategoriesDimensions = CategoriesDimensions; if (State != 0) { MessageConfiguration message = MessageHandler.setMessageFindingOverallProjectManagement(State, false, 2); ViewData["message"] = message; } ViewBag.isLessTaskFive = PCRHelpers.IsCurrentTaskLessThanFive( ReportsRepository, PCRWorkflowStatusRepository); ViewBag.RMAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR); return(View(Model)); }
public virtual ActionResult DetailsDelays(string operationNumber, int State = 0, string Type = "0", string Name = "Name", string Solved = "null", string cycleIdList = null) //DETAILS: /Delays { if (cycleIdList == "null") { cycleIdList = null; } var ModelDelaysArchitecture = ClientDelayArchievementRepository.GetDelays(operationNumber, Language.EN, Type, Name, Solved, cycleIdList); var ListCycles = ClientDelayArchievementRepository.GetCycles(Language.EN, operationNumber); ViewBag.IsCurrentCycleTableOne = true; ViewBag.IsCurrentCycleTableTwo = true; foreach (var itemAchievementDelays in ModelDelaysArchitecture.AchievementDelays) { itemAchievementDelays.StateIsSolved = itemAchievementDelays.IsSolved == true?Localization.GetText("Yes") : Localization.GetText("No"); ViewBag.IsCurrentCycleTableOne = itemAchievementDelays.IsCurrentCycle; } foreach (var itemOtherDelays in ModelDelaysArchitecture.OtherDelays) { itemOtherDelays.StateIsSolved = itemOtherDelays.IsSolved == true?Localization.GetText("Yes") : Localization.GetText("No"); ViewBag.IsCurrentCycleTableTwo = itemOtherDelays.IsCurrentCycle; } if (State != 0) { MessageConfiguration message = MessageHandler.setMessageFindingDelays(State, false, 2); ViewData["message"] = message; } /*FILTER ELEMENTS*/ var ListDelaysType = ClientDelayArchievementRepository.GetTypesDelay(Language.EN); Dictionary <int, string> ListOutputs = new Dictionary <int, string>(); Dictionary <int, string> ListOutcomes = new Dictionary <int, string>(); ListOutputs.Add(0, Localization.GetText("Name")); ListOutcomes.Add(0, Localization.GetText("Name")); var ResultOP = ClientDelayArchievementRepository.GetListOutputs(operationNumber); var ResultOC = ClientDelayArchievementRepository.GetListOutComes(operationNumber); foreach (var data in ResultOP) { if (data.Key != 0) { ListOutputs.Add(data.Key, data.Value); } } foreach (var data in ResultOC) { if (data.Key != 0) { ListOutcomes.Add(data.Key, data.Value); } } var ListIsSolved = new Dictionary <string, string>(); Dictionary <int, string> ListOutputsss = new Dictionary <int, string>(); ListDelaysType.Reverse(); ListDelaysType.Add(new MW.Domain.Models.Architecture.MasterDefinitions.ConvergenceMasterDataModel() { ParentConvergenceMasterDataId = -1, Name = @Localization.GetText("Type of delay") }); ListDelaysType.Reverse(); ListIsSolved.Add("null", Localization.GetText("Is the issue solved?")); ListIsSolved.Add(true.ToString(), Localization.GetText("Yes")); ListIsSolved.Add(false.ToString(), Localization.GetText("No")); ListCycles.Reverse(); ListCycles.RemoveAt(0); ListCycles.Reverse(); ListCycles.Add(new FilterItemModel { ItemId = int.MaxValue, Name = Localization.GetText("All Cycles") }); ListCycles.Add(new FilterItemModel { ItemId = 0, Name = Localization.GetText("Current Cycle") }); ListCycles.Reverse(); ViewBag.ListDelaysType = new SelectList(ListDelaysType, "ConvergenceMasterDataID", "Name"); ViewBag.ListIsSolved = new SelectList(ListIsSolved, "key", "value"); ViewBag.ListOutputs = new SelectList(ListOutputs, "value", "value"); ViewBag.ListOutcomes = new SelectList(ListOutcomes, "value", "value"); ViewBag.ListCycles = new SelectList(ListCycles, "ItemId", "Name"); /*FILTER ELEMENTS*/ ViewBag.isLessTaskFive = PCRHelpers.IsCurrentTaskLessThanFive( ReportsRepository, PCRWorkflowStatusRepository); ViewBag.RMAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR); return(View(ModelDelaysArchitecture)); }
public virtual ActionResult Index( string operationNumber, int state = 0, int filter = 0, bool showInactive = false) { SynchronizationHelper.AccessToResources( RMIndicatorValues.CANCEL, RMIndicatorValues.URL_RM_IMPACTS, operationNumber, IDBContext.Current.UserLoginName); new IDB.Presentation.MVC4.Controllers.CommonDocument().Log(LogType.Debug, "MVC4(IMP_1S) - CALL WCF MODELS EVERNEXT", "FindOneOperationModel -> BEFORE = OPERATION NUMBER:{0} ", operationNumber); // Retrieve OperationModel var operationModel = _clientResultsMatrix .FindOneOperationModel(new OperationSpecification() { OperationNumber = operationNumber }); new IDB.Presentation.MVC4.Controllers.CommonDocument().Log(LogType.Debug, "MVC4(IMP_1E) - CALL WCF MODELS EVERNEXT", "FindOneOperationModel -> AFTER = RESPONSE ", operationModel); // Retrieve ResultsMatrix associated to last PMR Cycle ResultsMatrixModel resultMatrixModel = null; // Get ResultsMatrix associated to last PMR Cycle if (operationModel != null) { operationModel.AccessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR); ViewBag.isLessTaskFive = PCRHelpers.IsCurrentTaskLessThanFive( ClientGenericRepository, PCRWorkflowStatusRepository); new IDB.Presentation.MVC4.Controllers.CommonDocument().Log(LogType.Debug, "MVC4(IMP_2S) - CALL WCF MODELS SERVICE", "GetResultsMatrixModel -> BEFORE = OPERATION NUMBER:{0} ", operationModel); if (!showInactive) { resultMatrixModel = _cacheData.Get <ResultsMatrixModel>(_impactsCacheName) ?? _cacheData.Add(_impactsCacheName, _clientResultsMatrix.GetResultsMatrixModel(operationModel, showInactive), _timeCachingVal); resultMatrixModel.AccessedByAdministrator = operationModel.AccessedByAdministrator; } else { resultMatrixModel = _clientResultsMatrix .GetResultsMatrixModel(operationModel, showInactive); } resultMatrixModel.showInactiveImpacts = showInactive; PutResultMatrixEopInCache(_resultMatrixEOPCacheName, resultMatrixModel); new IDB.Presentation.MVC4.Controllers.CommonDocument().Log(LogType.Debug, "MVC4(IMP_2E) - CALL WCF MODELS SERVICE", "GetResultsMatrixModel -> AFTER = RESPONSE: ", resultMatrixModel); } ViewData["filter"] = filter; if (state != 0) { MessageConfiguration message = MessageHandler.setMessageRMImpacts(state, false, 1); ViewData["message"] = message; } if (resultMatrixModel != null) { resultMatrixModel.DEMLockReviewProcessData = _demLockModulesService .BuildLockReviewProcessDEMDataModel(operationNumber); } return(View(resultMatrixModel)); }
public virtual ActionResult Index( string operationNumber, string cycleIds = null, string sectionIds = null, string changeIds = null, string subChangeIds = null, bool editView = false) { var operation = _operationRepository.GetOne(o => o.OperationNumber == operationNumber, o => o.ResultsMatrices); ViewBag.isLessTaskFive = PCRHelpers.IsCurrentTaskLessThanFive( ClientGenericRepository, PCRWorkflowStatusRepository, operation.OperationId); ViewBag.RMAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR); ViewBag.ModelIndicators = new LinkPredefinesIndicatorViewModel { Name = string.Empty }; ResultsMatrixModel searchResults = null; if (string.IsNullOrEmpty(cycleIds)) { searchResults = _clientResultsMatrixChanges.GetResultsMatrixModel(new OperationModel() { OperationNumber = operationNumber, AccessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR) }, operation); if (editView) { return(View("Edit", searchResults)); } searchResults.DEMLockReviewProcessData = _demLockModulesService .BuildLockReviewProcessDEMDataModel(operationNumber); return(View(searchResults)); } List <int> selectedCycles = new List <int>(); selectedCycles = cycleIds.Split(',').Select(x => int.Parse(x)).ToList <int>(); List <int> selectedSections = new List <int>(); List <FilterItemModel> typesBySection = new List <FilterItemModel>(); if (!string.IsNullOrEmpty(sectionIds)) { selectedSections = sectionIds.Split(',').Select(x => int.Parse(x)).ToList <int>(); typesBySection = _clientResultsMatrixChanges .GetMatrixChangeTypesBySectionId( selectedSections, IDBContext.Current.CurrentLanguage).ToList(); } List <int> selectedChanges = new List <int>(); List <FilterItemModel> subTypesByChange = new List <FilterItemModel>(); if (!string.IsNullOrEmpty(changeIds)) { selectedChanges = changeIds.Split(',').Select(x => int.Parse(x)).ToList <int>(); subTypesByChange = _clientResultsMatrixChanges .GetMatrixChangeSubTypesByChangeTypeId( selectedChanges, IDBContext.Current.CurrentLanguage).ToList(); } List <int> selectedSubChanges = new List <int>(); if (!string.IsNullOrEmpty(subChangeIds)) { selectedSubChanges = subChangeIds.Split(',').Select(x => int.Parse(x)).ToList <int>(); } searchResults = _clientResultsMatrixChanges.Search(new ResultsMatrixModel() { OperationNumber = operationNumber, PmrCycleIds = selectedCycles, SectionIds = selectedSections, TypeOfChangeIds = selectedChanges, SubTypeOfChangeIds = selectedSubChanges, AccessedByAdministrator = IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR) }, operation); searchResults.PmrCycleIds = selectedCycles; searchResults.SectionIds = selectedSections; searchResults.TypeOfChangeIds = selectedChanges; searchResults.SubTypeOfChangeIds = selectedSubChanges; searchResults.TypeOfChanges = typesBySection; searchResults.SubtypeOfChanges = subTypesByChange; if (editView) { return(View("Edit", searchResults)); } searchResults.DEMLockReviewProcessData = _demLockModulesService .BuildLockReviewProcessDEMDataModel(operationNumber); return(View(searchResults)); }