public virtual ActionResult Index(PMRPublicReportModel model) { if (!IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR)) { Logger.GetLogger().WriteMessage("PMRPublicController", "No RM Administrator in PMR Public. Security issue?"); throw new Exception("You don't have permissions to use PMR Public"); } if (!ModelState.IsValid) { return(View(model)); } int ini = Environment.TickCount; PMRPublicReportModel resultModel = CreateFilteredModel(model); int lapsed = Environment.TickCount - ini; Logger.GetLogger().WriteDebug("PMRPublicController", string.Format("Time lapsed building the model WITH filtering: {0}s", lapsed / 1000)); return(PartialView( "~/Areas/Administration/Views/PMRPublic/Partial/_PMRPublicTablePartial.cshtml", resultModel)); }
private void LoadSectorsAndDivisions(PMRPublicReportModel model) { _filterBusinesslogic = new PMRPublicBusinessLogic(); model.SectorDepartments = _filterBusinesslogic.FilterSectorDepartment(ClientForGenericReports .GetSectorDepartment(IDBContext.Current.CurrentLanguage)); List <int> sectorIds = model.SectorDepartments.Select(x => x.ConvergenceMasterDataId).ToList(); model.Divisions = FilterDivisionsForSectorDepartments(sectorIds); }
public virtual JsonResult PMRPublicFilterCountries(PMRPublicReportModel model) { _filterBusinesslogic = new PMRPublicBusinessLogic(); model.Countries = _filterBusinesslogic.FilterCountries(ClientForGenericReports .GetCountriesFilter( IDBContext.Current.CurrentLanguage, model.SelectedCountryDepartments)); return(new JsonResult() { Data = model.Countries }); }
public virtual ActionResult AuthorizeReports(PMRPublicReportModel model) { if (string.IsNullOrEmpty(model.AuthorizeDocuments)) { return(null); } if (!IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR)) { Logger.GetLogger().WriteMessage( "PMRPublicController", "No RM Administrator in PMR Public. Security issue?"); throw new Exception("You don't have permissions to use PMR Public"); } string[] documentsToSend = model.AuthorizeDocuments.Split('|'); foreach (string document in documentsToSend) { int ini = Environment.TickCount; AuthorizeDocumentInIDBDocs(new AuthorizeDocumentRequest { DocumentNumber = document }); int authTime = Environment.TickCount; AuthorizeDocumentInDatabase(document); int dbTime = Environment.TickCount; Logger.GetLogger().WriteDebug( "PMRPublicController", "--- TOTAL TIME AUTHORIZING PMR DOCUMENT ---"); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "TOTAL: {0}s", (dbTime - ini) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "AUTH IN IDBDOCS: {0}s", (authTime - ini) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "AUTH IN DB: {0}s", (dbTime - authTime) / 1000)); } PMRPublicReportModel resultModel = CreateFilteredModel(model); return(PartialView( "~/Areas/Administration/Views/PMRPublic/Partial/_PMRPublicTablePartial.cshtml", resultModel)); }
private PMRPublicReportModel CreateModel(PMRPublicFilterModel filterModel) { PMRPublicReportModel result = new PMRPublicReportModel(); string language = IDBContext.Current.CurrentLanguage; _filterBusinesslogic = new PMRPublicBusinessLogic(); result.CountryDepartments = _filterBusinesslogic.FilterCountryDepartments( ClientForGenericReports.GetCountryDepartments(language)); result.PMRCycles = ClientPMRForCycleModel .GetPMRCycles(language).OrderByDescending(x => x.StartDate).ToList(); // don't include DRAFT validation stages, no necessary to list them result.PMRValidationStages = _filterBusinesslogic.FilterPMRValidationStages( ClientForGenericReports.GetPMRValidationStages(language)); result.OperationOverallStages = ClientForGenericReports.GetOperationOverallStages(language) .OrderBy(x => x.Name).ToList(); result.Countries = _filterBusinesslogic.FilterCountries( ClientForGenericReports.GetCountries(language)); LoadSectorsAndDivisions(result); List <TriStateFilter> triState = new List <TriStateFilter>(); triState.Add(new TriStateFilter { Name = Localization.GetText("All"), Value = -1 }); triState.Add(new TriStateFilter { Name = Localization.GetText("Yes"), Value = 1 }); triState.Add(new TriStateFilter { Name = Localization.GetText("No"), Value = 0 }); result.IsActive = triState; result.IsAuthorize = triState; result.Table = ClientForPMRPublic.GetPMRPublicTableData(filterModel); return(result); }
public virtual JsonResult PMRPublicFilterDivisions(PMRPublicReportModel model) { if (model.SelectedSectorDepartments.Count > 0) { model.Divisions = FilterDivisionsForSectorDepartments(model.SelectedSectorDepartments); return(new JsonResult() { Data = model.Divisions }); } LoadSectorsAndDivisions(model); return(new JsonResult() { Data = model.Divisions }); }
public virtual ActionResult DeleteDocument(PMRPublicReportModel model) { if (string.IsNullOrEmpty(model.DocumentNumber)) { return(null); } if (!IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR)) { Logger.GetLogger().WriteMessage("PMRPublicController", "No RM Administrator in PMR Public. Security issue?"); throw new Exception("You don't have permissions to use PMR Public"); } int ini = Environment.TickCount; DeleteDocumentInIDBDocs(new DeleteDocumentRequest { DocumentNumber = model.DocumentNumber, VersionId = string.Empty }); int deleteIDBTime = Environment.TickCount; DeleteDocumentInDatabase(model.DocumentNumber); int deleteDBTime = Environment.TickCount; Logger.GetLogger().WriteDebug("PMRPublicController", "--- TOTAL TIME DELETING PMR DOCUMENT ---"); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "TOTAL: {0}s", (deleteDBTime - ini) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "DELETE IN IDBDOCS: {0}s", (deleteIDBTime - ini) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "DELETE IN DB: {0}s", (deleteDBTime - deleteIDBTime) / 1000)); PMRPublicReportModel resultModel = CreateFilteredModel(model); return(PartialView( "~/Areas/Administration/Views/PMRPublic/Partial/_PMRPublicTablePartial.cshtml", resultModel)); }
public virtual ActionResult Index(string operationNumber) { if (!IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR)) { Logger.GetLogger().WriteMessage("PMRPublicController", "No RM Administrator in PMR Public. Security issue?"); throw new Exception("You don't have permissions to use PMR Public"); } int ini = Environment.TickCount; PMRPublicFilterModel filterModel = new PMRPublicFilterModel { Language = IDBContext.Current.CurrentLanguage }; PMRPublicReportModel model = CreateModel(filterModel); int lapsed = Environment.TickCount - ini; Logger.GetLogger().WriteDebug("PMRPublicController", string.Format("Time lapsed building the model without filtering: {0}s", lapsed / 1000)); return(View(model)); }
private PMRPublicReportModel CreateFilteredModel(PMRPublicReportModel model) { PMRPublicFilterModel filterModel = new PMRPublicFilterModel { Language = IDBContext.Current.CurrentLanguage, CountryDepartment = model.SelectedCountryDepartments.Count == 0 ? null : string.Join(",", model.SelectedCountryDepartments), SectorDepartment = model.SelectedSectorDepartments.Count == 0 ? null : string.Join(",", model.SelectedSectorDepartments), PMRCycle = model.PMRCycles[0].PmrCycleId, PMRValidationStage = model.SelectedPMRValidationStages.Count == 0 ? null : string.Join(",", model.SelectedPMRValidationStages), OperationOverallStage = model.SelectedOperationOverallStages.Count == 0 ? null : string.Join(",", model.SelectedOperationOverallStages), Country = model.SelectedCountries.Count == 0 ? null : string.Join(",", model.SelectedCountries), Division = model.SelectedDivisions.Count == 0 ? null : string.Join(",", model.SelectedDivisions), Uploaded = model.IsActive[0].Value == -1 ? null : model.IsActive[0].Value, Authorize = model.IsAuthorize[0].Value == -1 ? null : model.IsAuthorize[0].Value }; return(CreateModel(filterModel)); }
public virtual ActionResult GenerateReportsAndSendToIDBDocs(PMRPublicReportModel model) { if (string.IsNullOrEmpty(model.Operations)) { return(null); } if (!IDBContext.Current.HasRole(Role.RM_ADMINISTRATOR)) { Logger.GetLogger().WriteMessage( "PMRPublicController", "No RM Administrator in PMR Public. Security issue?"); throw new Exception("You don't have permissions to use PMR Public"); } try { string[] operationsToSend = model.Operations.Split('|'); int ini, buildReportTime, createDocTime, addDocToDBTime; foreach (string operation in operationsToSend) { var reportResponse = new ReportResponse(); //Parse the operation information sent string[] operationInfo = operation.Split(';'); string operationId = operationInfo[0]; string operationNumber = operationInfo[1]; ini = Environment.TickCount; var reportCognos = new CognosReportBuilder(); var reportParameter = new GenerationParameter { OutputFormat = CognosGlobalValues.FORMAT_PDF, ReportParameters = new Dictionary <string, string> { { CognosGlobalValues.P_OPER_NUMBER, operationNumber }, { CognosGlobalValues.P_CYCLE, model.PmrCycleId }, { CognosGlobalValues.P_SECTION, CognosGlobalValues.ALL_SECTIONS } } }; reportResponse = reportCognos.Generate(reportParameter); if (!reportResponse.IsValid) { throw new Exception(reportResponse.ErrorMessage); } buildReportTime = Environment.TickCount; string docNum = CreateIDBDocsDocument( new UploadDocumentRequest { OperationNumber = operationNumber, FileStream = reportResponse.Data, FileName = operationNumber + " " + model.PmrCycleName + "-Public Report.pdf", TrusteeList = TRUSTEE_LIST, BusinessAreaCode = BusinessAreaCodeEnum.BA_PMR, AccessInformation = AccessInformationCategoryEnum.PUBLIC, StageCode = "PMR PUBLIC", TypeId = "Report" }); createDocTime = Environment.TickCount; if (!CreateDocumentInDatabase( operationId, operationNumber, docNum, model.PmrCycleId)) { DeleteDocumentInIDBDocs(new DeleteDocumentRequest { DocumentNumber = docNum, VersionId = string.Empty }); throw new Exception( "An error occurred when saving the document in the database." + " Refer to the log for further information"); } addDocToDBTime = Environment.TickCount; Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "--- TOTAL TIME GENERATING PMR DOCUMENT FOR OPERATION {0} ---", operationNumber)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "TOTAL: {0}s", (addDocToDBTime - ini) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "GENERATE REPORT: {0}s", (buildReportTime - ini) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "CREATE DOC IN IDBDOCS: {0}s", (createDocTime - buildReportTime) / 1000)); Logger.GetLogger().WriteDebug("PMRPublicController", string.Format( "CREATE ENTRY IN DATABASE: {0}s", (addDocToDBTime - createDocTime) / 1000)); } PMRPublicReportModel resultModel = CreateFilteredModel(model); return(PartialView( "~/Areas/Administration/Views/PMRPublic/Partial/_PMRPublicTablePartial.cshtml", resultModel)); } catch (Exception e) { Logger.GetLogger().WriteError( "PMRPublicController", "Error when uploading Cognos report", e); throw; } }