예제 #1
0
        public ActionResult SendToApplicant(Guid stageId)
        {
            var repo       = new ExpertiseStageRepository();
            var stage      = repo.GetStage(stageId);
            var repository = new DrugDeclarationRepository();
            var declaraion = repository.GetById(stage.DeclarationId.ToString());

            if (declaraion == null)
            {
                return(Json(new
                {
                    isSuccess = false,
                }));
            }
            declaraion.DesignDate = DateTime.Now;
            declaraion.StatusId   = CodeConstManager.STATUS_EXP_SEND_INSTRUCTION_ID;
            new DrugDeclarationRepository().Update(declaraion);
            var history = new EXP_DrugDeclarationHistory()
            {
                DateCreate        = DateTime.Now,
                DrugDeclarationId = declaraion.Id,
                StatusId          = declaraion.StatusId,
                UserId            = UserHelper.GetCurrentEmployee().Id,
                Note = "Инструкция для согласования"
            };

            new DrugDeclarationRepository().SaveHisotry(history, UserHelper.GetCurrentEmployee().Id);
            var status = new ReadOnlyDictionaryRepository().GetDicStatusById(CodeConstManager.STATUS_EXP_SEND_INSTRUCTION_ID);

            return(Json(new
            {
                isSuccess = true,
                statusName = status.NameRu
            }));
        }
예제 #2
0
        public override void ProcessComplited(Guid documentId, EXP_Activities activity)
        {
            var letter         = _context.EXP_DrugCorespondence.FirstOrDefault(e => e.Id == documentId);
            var declaration    = _context.EXP_DrugDeclaration.FirstOrDefault(e => e.Id == letter.DrugDeclarationId);
            var positiveStatus = DictionaryHelper.GetDicIdByCode(Dictionary.ExpActivityStatus.DicCode,
                                                                 Dictionary.ExpActivityStatus.Executed);

            if (activity.StatusId == positiveStatus)
            {
                letter.StatusId =
                    DictionaryHelper.GetDicIdByCode(CodeConstManager.STATUS_SIGNED, CodeConstManager.STATUS_SIGNED);
                if (letter.EXP_DIC_CorespondenceSubject.Code == EXP_DIC_CorespondenceSubject.RefuseByPayment)
                {
                    var stageRepo = new ExpertiseStageRepository(_context);
                    var stage     = stageRepo.GetStage(declaration.Id, CodeConstManager.STAGE_PRIMARY);
                    stageRepo.RefuseExpertise(stage.Id, false);
                }
            }
            else
            {
                letter.StatusId =
                    DictionaryHelper.GetDicIdByCode(CodeConstManager.STATUS_REJECTED, CodeConstManager.STATUS_REJECTED);
                if (letter.EXP_DIC_CorespondenceSubject.Code == EXP_DIC_CorespondenceSubject.RefuseByPayment)
                {
                    declaration.StatusId = CodeConstManager.STATUS_EXP_SEND_ID;
                }
            }
        }
예제 #3
0
        public ActionResult SendToNextStage(Guid expStageId, int dicStageId, int stageResultId)
        {
            var repo  = new ExpertiseStageRepository();
            var stage = repo.GetStage(expStageId);

            ViewBag.ExpStageId    = expStageId;
            ViewBag.DicStageId    = dicStageId;
            ViewBag.StageResultId = stageResultId;
            ViewBag.RegType       = stage.EXP_DrugDeclaration.TypeId;

            return(PartialView(Guid.NewGuid()));
        }