public IActionResult Add(int?TaskID) { Models.TMT_Tasks Model = null; if (TaskID.HasValue) { Model = DB.TMT_Tasks.Find(TaskID); if (!Test.Teaks.AllowEdit(Model, G.User.UserID)) { return(NoPermission()); } } ViewBag.Requirements = DB.TMT_Requirements.Where(c => c.ProjectID == G.NowProject.ProjectID && c.Status == Models.DBEnums.RequirementStatus.通过); ViewBag.IsDraftEdit = Test.Teaks.IsDraftEdit(Model); return(View(Model)); }
public static bool AllowEdit(Models.TMT_Tasks Model, int UserID) { if (Model.CreateUserID != UserID) { return(false); } var AllowStatus = new Models.DBEnums.TasksStatus[] { Models.DBEnums.TasksStatus.稿件, Models.DBEnums.TasksStatus.进行 }; if (!AllowStatus.Contains(Model.Status)) { return(false); } return(true); }
public static bool AllowView(Models.TMT_Tasks Model, int UserID) { if (Model.Status == Models.DBEnums.TasksStatus.稿件 && Model.CreateUserID == UserID) { return(true); } var AllowStatus = new Models.DBEnums.TasksStatus[] { Models.DBEnums.TasksStatus.进行, Models.DBEnums.TasksStatus.终止, Models.DBEnums.TasksStatus.完成 }; if (AllowStatus.Contains(Model.Status)) { return(true); } return(false); }
public IActionResult Save(ParamModels.Tasks.Tasks_Add Model) { try { Models.TMT_Tasks Re = null; if (string.IsNullOrWhiteSpace(Model.Title)) { return(Json("[任务标题]不可为空!")); } if (!Model.TaskID.HasValue) { if (!Model.MType.HasValue) { return(Json("[类型]必须选择!")); } if (Model.ModuleID < 1) { return(Json("[模块]必须选择!")); } if (Model.ExecutorUserID < 1) { return(Json("[负责人]必须选择!")); } Re = new Models.TMT_Tasks { RequirementID = Model.RequirementID, Title = Model.Title, EmergencyLevel = Model.EmergencyLevel, MType = Model.MType.Value, Status = Models.DBEnums.TasksStatus.稿件, ProjectID = G.NowProject.ProjectID, ModuleID = Model.ModuleID, ExecutorUserID = Model.ExecutorUserID, CreateUserID = G.User.UserID, LastUPDate = DateTime.Now, NowVersion = 1, Detailes = new List <Models.TMT_Detaile>(), Logs = new List <Models.TMT_Logs>() }; Re.Detailes.Add(new Models.TMT_Detaile() { Content = string.IsNullOrWhiteSpace(Model.Content) ? "" : Model.Content, Version = Re.NowVersion, CreateDate = DateTime.Now }); DB.TMT_Tasks.Add(Re); } else { Re = DB.TMT_Tasks.Find(Model.TaskID); if (!Test.Teaks.AllowEdit(Re, G.User.UserID)) { return(Json("当前文档状态不可编辑或没有编辑权限!")); } if (Re.Status == Models.DBEnums.TasksStatus.稿件) { var Detaile = Re.Detailes.FirstOrDefault(c => c.TagID == Re.RequirementID && c.Version == Re.NowVersion); if (Detaile != null) { Detaile.Content = string.IsNullOrWhiteSpace(Model.Content) ? "" : Model.Content; Detaile.CreateDate = DateTime.Now; } Re.RequirementID = Model.RequirementID; Re.Title = Model.Title; Re.EmergencyLevel = Model.EmergencyLevel; Re.MType = Model.MType.Value; Re.ModuleID = Model.ModuleID; Re.ExecutorUserID = Model.ExecutorUserID; } else if (Re.Status == Models.DBEnums.TasksStatus.进行) { Re.NowVersion += 1; Re.Detailes.Add(new Models.TMT_Detaile { Content = string.IsNullOrWhiteSpace(Model.Content) ? "" : Model.Content, Version = Re.NowVersion, CreateDate = DateTime.Now }); Re.Logs.Add(new Models.TMT_Logs { LogType = Models.DBEnums.LogType.任务, TagID = Re.TaskID, UserID = G.User.UserID, Content = "[任务#" + Model.TaskID + "]更新至第<div class=\"ui label horizontal mini\">" + Re.NowVersion + "</div>版本!" }); } Re.LastUPDate = DateTime.Now; } DB.SaveChanges(); return(Success(Re.TaskID.ToString())); } catch (Exception Ex) { return(Json(Ex.Message)); } }
public static bool AllowAddLog(Models.TMT_Tasks Model, int UserID) { return(Model.Status == Models.DBEnums.TasksStatus.进行 && (Model.CreateUserID == UserID || Model.ExecutorUserID == UserID)); }
public static bool AllowHandOverAndDone(Models.TMT_Tasks Model, int UserID) { return(Model.Status == Models.DBEnums.TasksStatus.进行 && Model.ExecutorUserID == UserID); }
public static bool AllowSubmitAndDelete(Models.TMT_Tasks Model, int UserID) { return(Model.Status == Models.DBEnums.TasksStatus.稿件 && Model.CreateUserID == UserID); }
public static bool IsDraftEdit(Models.TMT_Tasks Model) { return(Model == null || Model.Status == Models.DBEnums.TasksStatus.稿件); }