示例#1
0
 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));
 }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
 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));
     }
 }
示例#5
0
 public static bool AllowAddLog(Models.TMT_Tasks Model, int UserID)
 {
     return(Model.Status == Models.DBEnums.TasksStatus.进行 && (Model.CreateUserID == UserID || Model.ExecutorUserID == UserID));
 }
示例#6
0
 public static bool AllowHandOverAndDone(Models.TMT_Tasks Model, int UserID)
 {
     return(Model.Status == Models.DBEnums.TasksStatus.进行 && Model.ExecutorUserID == UserID);
 }
示例#7
0
 public static bool AllowSubmitAndDelete(Models.TMT_Tasks Model, int UserID)
 {
     return(Model.Status == Models.DBEnums.TasksStatus.稿件 && Model.CreateUserID == UserID);
 }
示例#8
0
 public static bool IsDraftEdit(Models.TMT_Tasks Model)
 {
     return(Model == null || Model.Status == Models.DBEnums.TasksStatus.稿件);
 }