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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }