public ActionResult DocumentRegister(DocumentModel document)
        {
            if (document != null)
            {
                Document baseDocument = db.Documents.Find(document.Id);
                if (baseDocument == null)
                {
                    baseDocument = new Document()
                    {
                        Id           = document.Id,
                        DocumentType = 4,
                        ProjectType  = document.ProjectType,
                        CreatedDate  = DateTime.Now,
                        ModifiedDate = DateTime.Now,
                        TemplateId   = new Guid("C3292589-A25B-4CEF-8CB5-C7E64946C1D3")
                    };
                    db.Documents.Add(baseDocument);
                }
                baseDocument              = document.GetDocument(baseDocument);
                baseDocument.StateType    = 1;
                baseDocument.DocumentDate = baseDocument.DocumentDate ?? DateTime.Now;
                //baseDocument.ExecutionDate = baseDocument.ExecutionDate ?? baseDocument.DocumentDate.Value.AddDays(15);
                baseDocument.RegistratorId      = UserHelper.GetCurrentEmployee().Id.ToString();
                baseDocument.RegistratorValue   = UserHelper.GetCurrentEmployee().DisplayName;
                baseDocument.FirstExecutionDate = baseDocument.ExecutionDate;
                baseDocument.ModifiedDate       = DateTime.Now;
                Registrator.SetNumber(baseDocument);
                if ((baseDocument.ProjectType == 5 || baseDocument.ProjectType == 2) && baseDocument.ApplicantType != 1)
                {
                    if (UserHelper.CheckGuide(baseDocument.ExecutorsId))
                    {
                        baseDocument.ApplicantType = 1;
                    }
                }
                if (!document.RemarkId.HasValue)
                {
                    LogHelper.Log.Error("Не указан тип замечания");
                    throw new Exception("Не указан тип замечания");
                }
                var remarkType = db.RemarkTypes.First(x => x.Code == document.RemarkId.Value.ToString());
                baseDocument.RemarkId    = remarkType.Id;
                baseDocument.RemarkText1 = document.RemarkText1;
                baseDocument.RemarkText2 = document.RemarkText2;
                baseDocument.RemarkText3 = document.RemarkText3;
                db.SaveChanges();
                GenerateActivity(baseDocument);
                DocumentModel model = new DocumentModel(baseDocument);
                return(Content(JsonConvert.SerializeObject(new { State = true, document = model }, Formatting.Indented, new JsonSerializerSettings()
                {
                    DateFormatString = "dd.MM.yyyy HH:mm"
                })));

                return(Json(new { State = true, document = model }, JsonRequestBehavior.AllowGet));
            }
            return(Content(bool.FalseString));
        }
Beispiel #2
0
        public ActionResult DocumentRegister(DocumentModel document)
        {
            if (document != null)
            {
                if (!CheckSecurity(document))
                {
                    return(Content(JsonConvert.SerializeObject(new { State = false, document = "" }, Formatting.Indented, new JsonSerializerSettings()
                    {
                        DateFormatString = "dd.MM.yyyy HH:mm"
                    })));
                }

                Document baseDocument = db.Documents.Find(document.Id);
                if (baseDocument == null)
                {
                    baseDocument = new Document()
                    {
                        Id           = document.Id,
                        ProjectType  = document.ProjectType,
                        DocumentType = 5,
                        CreatedDate  = DateTime.Now,
                        ModifiedDate = DateTime.Now
                    };
                    db.Documents.Add(baseDocument);
                }
                baseDocument              = document.GetDocument(baseDocument);
                baseDocument.StateType    = 1;
                baseDocument.DocumentDate = baseDocument.DocumentDate ?? DateTime.Now;
                //baseDocument.ExecutionDate = baseDocument.ExecutionDate ?? baseDocument.DocumentDate.Value.AddDays(15);
                baseDocument.RegistratorId      = UserHelper.GetCurrentEmployee().Id.ToString();
                baseDocument.RegistratorValue   = UserHelper.GetCurrentEmployee().DisplayName;
                baseDocument.FirstExecutionDate = baseDocument.ExecutionDate;
                baseDocument.ModifiedDate       = DateTime.Now;
                Registrator.SetNumber(baseDocument);
                if (baseDocument.ApplicantType != 1)
                {
                    if (UserHelper.CheckGuide(baseDocument.ExecutorsId))
                    {
                        baseDocument.ApplicantType = 1;
                    }
                }
                db.SaveChanges();
                DocumentModel model = new DocumentModel(baseDocument);
                return(Content(JsonConvert.SerializeObject(new { State = true, document = model }, Formatting.Indented, new JsonSerializerSettings()
                {
                    DateFormatString = "dd.MM.yyyy HH:mm"
                })));

                return(Json(new { State = true, document = model }, JsonRequestBehavior.AllowGet));
            }
            return(Content(bool.FalseString));
        }
Beispiel #3
0
        /// <summary>
        /// Отправка договора в ЦОЗ
        /// </summary>
        /// <param name="contract"></param>
        /// <returns>Статус договора</returns>
        public Dictionary SendContractToProcessing(Guid contractId)
        {
            Document   baseDocument = AppContext.Documents.FirstOrDefault(m => m.Id == contractId);
            var        baseContract = AppContext.Contracts.First(o => o.Id == contractId);
            Dictionary contractStatus;

            if (baseDocument == null)
            {
                contractStatus = DictionaryHelper.GetDicItemByCode(Dictionary.ContractStatus.DicCode,
                                                                   Database.DataModel.Contract.StatusInQueue);
                var user = UserHelper.GetCurrentEmployee();
                baseContract.Status = 1;
                Document document = new Document()
                {
                    Id                  = contractId,
                    DocumentType        = 4,
                    ExecutionDate       = DateTime.Now.AddDays(30),
                    DocumentDate        = DateTime.Now,
                    AttachPath          = FileHelper.GetObjectPathRoot(),
                    CorrespondentsInfo  = user.DisplayName,
                    CorrespondentsId    = user.Id.ToString(),
                    CorrespondentsValue = user.DisplayName,
                    TemplateId          = new Guid("C3292589-A25B-4CEF-8CB5-C7E64946C1D3"),
                    IsTradeSecret       = false,
                    StateType           = 1,
                    ProjectType         = baseContract.Type.Value,
                    RegistratorId       = user.Id.ToString(),
                    RegistratorValue    = user.DisplayName,
                    ModifiedDate        = DateTime.Now,
                    FirstExecutionDate  = DateTime.Now.AddDays(30)
                };
                Registrator.SetNumber(document);
                AppContext.Documents.Add(document);
            }
            else
            {
                contractStatus = DictionaryHelper.GetDicItemByCode(Dictionary.ContractStatus.DicCode,
                                                                   Database.DataModel.Contract.StatusCorrected);
            }
            baseContract.StatusId = contractStatus.Id;
            AppContext.SaveChanges();
            return(contractStatus);
        }
        public ActionResult DocumentRegister(DocumentModel document)
        {
            try
            {
                if (document != null)
                {
                    Document baseDocument = db.Documents.Find(document.Id);
                    if (baseDocument == null)
                    {
                        baseDocument = new Document()
                        {
                            Id                = document.Id,
                            DocumentType      = 0,
                            CreatedDate       = DateTime.Now,
                            ModifiedDate      = DateTime.Now,
                            CompareConterDate = DateTime.Now
                        };

                        db.Documents.Add(baseDocument);
                    }
                    baseDocument = document.GetDocument(baseDocument);
                    baseDocument.OrganizationId     = UserHelper.GetCurrentEmployee().OrganizationId;
                    baseDocument.DocumentDate       = DateTime.Now;
                    baseDocument.ModifiedDate       = DateTime.Now;
                    baseDocument.CompareConterDate  = DateTime.Now;
                    baseDocument.RegistratorId      = UserHelper.GetCurrentEmployee().Id.ToString();
                    baseDocument.RegistratorValue   = UserHelper.GetCurrentEmployee().DisplayName;
                    baseDocument.FirstExecutionDate = baseDocument.ExecutionDate;
                    //db.SaveChanges();
                    baseDocument.StateType = 1;
                    //	baseDocument.ExecutionDate = baseDocument.ExecutionDate ?? baseDocument.DocumentDate.Value.AddDays(15);
                    var pp = db.PriceProjects.FirstOrDefault(x => x.Id == baseDocument.Id);
                    if (pp != null)
                    {
                        pp.Status = (int)PriceProjectStatus.Registered;
                    }

                    //Проверка для того чтобы не менялся номер у изменений цены
                    if (pp == null ||
                        (pp.Type != (int)PriceProjectType.RePriceImn && pp.Type != (int)PriceProjectType.RePriceLs) ||
                        pp.PriceProjectId == null)
                    {
                        if (baseDocument.RepeaterId.HasValue)
                        {
                            Registrator.SetRepeaterNumber(baseDocument);
                        }
                        else
                        {
                            Registrator.SetNumber(baseDocument);
                        }
                    }
                    else
                    {
                    }


                    db.SaveChanges();

                    ncelsEntities dbVew = UserHelper.GetCn();
                    baseDocument = dbVew.Documents.Find(document.Id);
                    DocumentModel model = new DocumentModel(baseDocument);

                    return
                        (Content(JsonConvert.SerializeObject(new { State = true, document = model }, Formatting.Indented,
                                                             new JsonSerializerSettings()
                    {
                        DateFormatString = "dd.MM.yyyy HH:mm"
                    })));
                    //return Json(new { State = true, document = model }, JsonRequestBehavior.AllowGet);
                }
                return(Content(JsonConvert.SerializeObject(new { State = false }, Formatting.Indented,
                                                           new JsonSerializerSettings()
                {
                    DateFormatString = "dd.MM.yyyy HH:mm"
                })));
            }
            catch (Exception ex)
            {
                return(Content(JsonConvert.SerializeObject(new { State = false }, Formatting.Indented,
                                                           new JsonSerializerSettings()
                {
                    DateFormatString = "dd.MM.yyyy HH:mm"
                })));
            }
        }
Beispiel #5
0
        public ActionResult SendProjectContract(RequestModel request)
        {
            Document baseDocument = db.Documents.FirstOrDefault(m => m.Id == request.Contract.Id);

            if (baseDocument == null)
            {
                var      user     = UserHelper.GetCurrentEmployee();
                Document document = new Document()
                {
                    Id                  = request.Contract.Id,
                    DocumentType        = 4,
                    ExecutionDate       = DateTime.Now.AddDays(20),
                    DocumentDate        = DateTime.Now,
                    AttachPath          = FileHelper.GetObjectPathRoot(),
                    CorrespondentsInfo  = UserHelper.GetCurrentEmployee().DisplayName,
                    CorrespondentsId    = user.Id.ToString(),
                    CorrespondentsValue = user.DisplayName,
                    ExecutorsId         = user.Id.ToString(),
                    ExecutorsValue      = user.DisplayName,
                    TemplateId          = new Guid("C3292589-A25B-4CEF-8CB5-C7E64946C1D3"),
                    IsTradeSecret       = false
                };
                var project = db.Contracts.First(o => o.Id == request.Contract.Id);

                project.Status        = 1;
                document.DocumentDate = document.DocumentDate ?? DateTime.Now;
                document.StateType    = 1;
                document.ProjectType  = project.Type.Value;
                //baseDocument.ExecutionDate = baseDocument.ExecutionDate ?? baseDocument.DocumentDate.Value.AddDays(15);
                document.RegistratorId      = UserHelper.GetCurrentEmployee().Id.ToString();
                document.RegistratorValue   = UserHelper.GetCurrentEmployee().DisplayName;
                document.FirstExecutionDate = document.ExecutionDate;
                document.ModifiedDate       = DateTime.Now;
                Registrator.SetNumber(document);
                db.Documents.Add(document);
                db.SaveChanges();
            }
            else
            {
                baseDocument.IsTradeSecret = false;
                Document baseDocument2 = db.Documents.Where(m => m.DocumentType == 1).OrderByDescending(m => m.CreatedDate).FirstOrDefault(m => m.AnswersId == request.Contract.Id.ToString());
                if (baseDocument2 != null && baseDocument2.AnswersId != null)
                {
                    Activity activity = new Activity
                    {
                        Id = Guid.NewGuid(),
                        //ParentTask = task.Id,
                        DocumentId     = baseDocument.Id,
                        AuthorId       = UserHelper.GetCurrentEmployee().Id.ToString(),
                        AuthorValue    = UserHelper.GetCurrentEmployee().DisplayName,
                        ExecutorsId    = baseDocument2.CreatedUserId,
                        ExecutorsValue = baseDocument2.CreatedUserValue,
                        //ResponsibleId = DictionaryHelper.GetItemsId(taskAction.ResponsibleId),
                        //ResponsibleValue = DictionaryHelper.GetItemsName(taskAction.ResponsibleId),
                        Type        = 2,
                        IsParrent   = false,
                        CreatedDate = DateTime.Now,
                        //ParentId = task.ActivityId,
                        ExecutionDate = DateTime.Now.AddDays(20),
                        Text          = "Замечания исправлены",
                        IsNotActive   = false,
                        //TypeEx = task.Stage,
                        //IsMainLine = task.IsMainLine
                    };
                    db.Activities.Add(activity);
                    db.SaveChanges();
                }
            }
            return(Json("Ок"));
        }