public IHttpActionResult Create(DocumentPerformCreateModel createModel) { string UserId = Request.Headers.GetValues("UserId").FirstOrDefault(); createModel.CreatedByUserId = Convert.ToInt32(UserId); var result = handler.Create(createModel); return(Ok(result)); }
public Response <DocumentPerformModel> Create(DocumentPerformCreateModel createModel) { try { using (var unitOfWork = new UnitOfWork()) { DocumentPerform entity = new DocumentPerform(); Ultis.TransferValues(entity, createModel); entity.FinishedOnDate = createModel.FinishedOnDate; entity.CreatedOnDate = DateTime.Now; entity.UpdatedOnDate = DateTime.Now; var last = unitOfWork.GetRepository <DocumentPerform>().GetAll().OrderByDescending(u => u.PerformId).FirstOrDefault(); if (last != null) { entity.PerformId = last.PerformId + 1; } else { entity.PerformId = 1; } unitOfWork.GetRepository <DocumentPerform>().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.PERFORM, Title = createModel.Name, UserId = user_id, CreatedOnDate = DateTime.Now, RelatedId = entity.PerformId, 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 <DocumentPerformModel>(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.PerformId; unitOfWork.GetRepository <DocumentProcess>().Update(tmp); if (unitOfWork.Save() >= 1) { return(GetById(entity.PerformId)); } return(new Response <DocumentPerformModel>(0, "Saving data not successful!", null)); } } catch (Exception ex) { return(new Response <DocumentPerformModel>(-1, ex.ToString(), null)); } }