コード例 #1
0
        public IHttpActionResult Resend(int Id, RecreateDocumentUnifyModel recreateModel)
        {
            string UserId = Request.Headers.GetValues("UserId").FirstOrDefault();

            recreateModel.UserId = Convert.ToInt32(UserId);
            var result = handler.ReCreate(Id, recreateModel);

            return(Ok(result));
        }
コード例 #2
0
 public Response <DocumentUnifyModel> ReCreate(int UnifyId, RecreateDocumentUnifyModel createModel)
 {
     try
     {
         using (var unitOfWork = new UnitOfWork())
         {
             DocumentUnify entity = unitOfWork.GetRepository <DocumentUnify>().GetById(UnifyId);
             if (entity == null)
             {
                 return(new Response <DocumentUnifyModel>(0, "Id is not valid", null));
             }
             if (entity.IsFinished == 1)
             {
                 return(new Response <DocumentUnifyModel>(0, "thống nhất đã kết thúc rồi!", null));
             }
             if (entity.CreatedByUserId != createModel.UserId)
             {
                 return(new Response <DocumentUnifyModel>(0, "Bạn không phải là tác giả", null));
             }
             //change message
             entity.Status         = 2;
             entity.Description    = createModel.Message;
             entity.FinishedOnDate = DateTime.Now.AddDays(createModel.ExtraDays);
             entity.UpdatedOnDate  = DateTime.Now;
             unitOfWork.GetRepository <DocumentUnify>().Update(entity);
             //delete responses
             foreach (var item in unitOfWork.GetRepository <QH_DocumentUnify_User>().GetMany(d => d.DocumentUnifyId == UnifyId))
             {
                 unitOfWork.GetRepository <QH_DocumentUnify_User>().Delete(item);
             }
             //update message
             var exsisted_mess = unitOfWork.GetRepository <TaskMessage>().GetMany(t => t.ModuleId == createModel.ModuleId && t.TaskType == (int)TaskType.UNIFY && t.RelatedId == UnifyId);
             foreach (var item in exsisted_mess)
             {
                 unitOfWork.GetRepository <TaskMessage>().Delete(item);
             }
             //
             foreach (var item in entity.UserList.Split(','))
             {
                 int         user_id = Convert.ToInt32(item.Trim());
                 TaskMessage message = new TaskMessage
                 {
                     CreatedByUserId = entity.CreatedByUserId,
                     Deadline        = entity.FinishedOnDate,
                     TaskType        = (int)TaskType.UNIFY,
                     Title           = "Thống nhất lại: " + entity.Name,
                     UserId          = user_id,
                     CreatedOnDate   = DateTime.Now,
                     RelatedId       = entity.UnifyId,
                     ModuleId        = entity.ModuleId
                 };
                 unitOfWork.GetRepository <TaskMessage>().Add(message);
             }
             //
             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));
     }
 }