public ActionResult LetterPreview(Guid id) { var repo = new DrugPrimaryRepository(); var correspondence = repo.GetCorespondence(id.ToString()); var reportTemplate = ""; switch (correspondence.EXP_DIC_CorespondenceSubject.Code) { case EXP_DIC_CorespondenceSubject.Remarks: reportTemplate = "~/Reports/DrugPrimary/Corespondence.mrt"; break; case EXP_DIC_CorespondenceSubject.RefuseByPayment: reportTemplate = "~/Reports/DrugPrimary/RefuseByPaymentLetter.mrt"; break; default: reportTemplate = ""; break; } var reportPath = Server.MapPath(reportTemplate); string fileType; string fileName; var file = repo.GetCorespondenceFilePreview(id, reportPath, out fileType, out fileName); return(File(file, fileType, fileName)); }
public ActionResult SendExpertiseDocumentToAgreement(Guid docId, string documentType, Guid?executorId = null, string taskType = null) { taskType = string.IsNullOrEmpty(taskType) ? null : taskType; var db = new ncelsEntities(); var repository = new DrugDeclarationRepository(); var stageRepo = new ExpertiseStageRepository(); var activityManager = new ActivityManager(); switch (documentType) { case Dictionary.ExpAgreedDocType.EXP_DrugFinalDocument: var declarationInfo = db.EXP_ExpertiseStageDosage.FirstOrDefault(e => e.Id == docId); var finalDocExecutorsIds = stageRepo.GetExecutorsByDicStageId(declarationInfo.EXP_ExpertiseStage.StageId, declarationInfo.EXP_ExpertiseStage.EXP_DrugDeclaration.TypeId) .Select(e => e.Id).ToArray(); activityManager.SendToExecution(Dictionary.ExpActivityType.FinalDocAgreement, docId, Dictionary.ExpAgreedDocType.EXP_DrugFinalDocument, taskType ?? Dictionary.ExpTaskType.Agreement, declarationInfo.EXP_DrugDosage.RegNumber, declarationInfo.EXP_DrugDosage.EXP_DrugDeclaration.CreatedDate, finalDocExecutorsIds); var primaryDocStatus = repository.GetPrimaryFinalDocumentStatus(docId); return(Json(primaryDocStatus.Name, JsonRequestBehavior.AllowGet)); case Dictionary.ExpAgreedDocType.Letter: var primaryRepo = new DrugPrimaryRepository(); bool isSigning = taskType == Dictionary.ExpTaskType.Signing; var letter = primaryRepo.GetCorespondence(docId.ToString()); if (isSigning) { var stageSupervisor = stageRepo.GetStageSupervisor(letter.StageId, letter.EXP_DrugDeclaration.TypeId); activityManager.SendToExecution(Dictionary.ExpActivityType.ExpertiseLetterSigning, docId, Dictionary.ExpAgreedDocType.Letter, Dictionary.ExpTaskType.Signing, letter.NumberLetter, letter.DateCreate, stageSupervisor.Id); return(Json( DictionaryHelper.GetDicItemByCode(CodeConstManager.STATUS_ONSIGNING, CodeConstManager.STATUS_ONSIGNING).Name, JsonRequestBehavior.AllowGet)); } else { var letterExecutorsIds = stageRepo.GetExecutorsByDicStageId(letter.StageId, letter.EXP_DrugDeclaration.TypeId).Select(e => e.Id).ToArray(); activityManager.SendToExecution(Dictionary.ExpActivityType.ExpertiseLetterAgreement, docId, Dictionary.ExpAgreedDocType.Letter, Dictionary.ExpTaskType.Agreement, letter.NumberLetter, letter.DateCreate, letterExecutorsIds); return(Json( DictionaryHelper.GetDicItemByCode(CodeConstManager.STATUS_ONAGREEMENT, CodeConstManager.STATUS_ONAGREEMENT).Name, JsonRequestBehavior.AllowGet)); } case Dictionary.ExpAgreedDocType.CertificateOfCompletion: var coc = db.EXP_CertificateOfCompletion.FirstOrDefault(e => e.Id == docId); if (coc != null) { var certExecutorsIds = stageRepo.GetExecutorsByDicStageId(coc.DicStageId.Value, coc.EXP_DrugDeclaration.TypeId).Select(e => e.Id).ToArray(); activityManager.SendToExecution(Dictionary.ExpActivityType.CertificateOfComplitionAgreement, docId, Dictionary.ExpAgreedDocType.CertificateOfCompletion, taskType ?? Dictionary.ExpTaskType.Agreement, string.Empty, coc.CreateDate, certExecutorsIds); } return(Json(DictionaryHelper.GetDicItemByCode(CodeConstManager.STATUS_ONAGREEMENT, CodeConstManager.STATUS_ONAGREEMENT).Name, JsonRequestBehavior.AllowGet)); } return(null); }
public FileStreamResult ExportFile(Guid id) { var db = new ncelsEntities(); var repo = new DrugPrimaryRepository(); var correspondence = repo.GetCorespondence(id.ToString()); var reportTemplate = ""; switch (correspondence.EXP_DIC_CorespondenceSubject.Code) { case EXP_DIC_CorespondenceSubject.Remarks: switch (correspondence.StageId) { case CodeConstManager.STAGE_PHARMACOLOGICAL: case CodeConstManager.STAGE_SAFETYREPORT: reportTemplate = "~/Reports/DrugPrimary/CorespondencePharmacological.mrt"; break; case CodeConstManager.STAGE_TRANSLATE: reportTemplate = "~/Reports/DrugPrimary/CorespondenceTranslate.mrt"; break; case CodeConstManager.STAGE_PHARMACEUTICAL: reportTemplate = "~/Reports/DrugPrimary/CorespondencePharmaceutical.mrt"; break; default: reportTemplate = "~/Reports/DrugPrimary/Corespondence.mrt"; break; } break; case EXP_DIC_CorespondenceSubject.RefuseByPayment: reportTemplate = "~/Reports/DrugPrimary/RefuseByPaymentLetter.mrt"; break; default: reportTemplate = ""; break; } var reportPath = Server.MapPath(reportTemplate); string fileType; string fileName; var file = repo.GetCorespondenceFilePreview(id, reportPath, out fileType, out fileName); return(File(file, fileType, fileName)); }