コード例 #1
0
        public IHttpActionResult Create(DocumentUnifyCreateModel createModel)
        {
            string UserId = Request.Headers.GetValues("UserId").FirstOrDefault();

            createModel.CreatedByUserId = Convert.ToInt32(UserId);
            var result = handler.Create(createModel);

            return(Ok(result));
        }
コード例 #2
0
        public Response <DocumentUnifyModel> Create(DocumentUnifyCreateModel createModel)
        {
            try
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    DocumentUnify entity = new DocumentUnify();
                    Ultis.TransferValues(entity, createModel);

                    entity.FinishedOnDate = createModel.FinishedOnDate;
                    entity.CreatedOnDate  = DateTime.Now;
                    entity.UpdatedOnDate  = DateTime.Now;
                    var last = unitOfWork.GetRepository <DocumentUnify>().GetAll().OrderByDescending(u => u.UnifyId).FirstOrDefault();
                    if (last != null)
                    {
                        entity.UnifyId = last.UnifyId + 1;
                    }
                    else
                    {
                        entity.UnifyId = 1;
                    }
                    unitOfWork.GetRepository <DocumentUnify>().Add(entity);
                    foreach (var item in createModel.UserList.Split(','))
                    {
                        int         user_id = Convert.ToInt32(item.Trim());
                        TaskMessage message = new TaskMessage
                        {
                            CreatedByUserId = createModel.CreatedByUserId,
                            Deadline        = createModel.FinishedOnDate,
                            TaskType        = (int)TaskType.UNIFY,
                            Title           = createModel.Name,
                            UserId          = user_id,
                            CreatedOnDate   = DateTime.Now,
                            RelatedId       = entity.UnifyId,
                            ModuleId        = createModel.ModuleId
                        };
                        unitOfWork.GetRepository <TaskMessage>().Add(message);
                    }
                    //

                    var tmp = unitOfWork.GetRepository <DocumentProcess>().Get(d => d.Id == createModel.ProcessId && d.TaskType == createModel.TaskType);
                    if (tmp == null)
                    {
                        return(new Response <DocumentUnifyModel>(0, "Bạn chưa tạo tiến trình xử lý cho tài liệu này", null));
                    }
                    tmp.Status    = (int)DocumentProcessStatus.INPROCESS;
                    tmp.RelatedId = entity.UnifyId;
                    unitOfWork.GetRepository <DocumentProcess>().Update(tmp);

                    if (unitOfWork.Save() >= 1)
                    {
                        return(GetById(entity.UnifyId));
                    }
                    return(new Response <DocumentUnifyModel>(0, "Saving data not successful!", null));
                }
            }
            catch (Exception ex)
            {
                return(new Response <DocumentUnifyModel>(-1, ex.ToString(), null));
            }
        }