Exemplo n.º 1
0
        public static bool AllowEdit(Models.TMT_Requirements Model, int UserID)
        {
            if (Model.CreateUserID != UserID)
            {
                return(false);
            }
            var AllowStatus = new Models.DBEnums.RequirementStatus[] {
                Models.DBEnums.RequirementStatus.稿件,
                Models.DBEnums.RequirementStatus.驳回,
                Models.DBEnums.RequirementStatus.通过
            };

            if (!AllowStatus.Contains(Model.Status))
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 2
0
        public static bool AllowView(Models.TMT_Requirements Model, int UserID)
        {
            if (Model.Status == Models.DBEnums.RequirementStatus.稿件 && Model.CreateUserID == UserID)
            {
                return(true);
            }
            var AllowStatus = new Models.DBEnums.RequirementStatus[] {
                Models.DBEnums.RequirementStatus.待审,
                Models.DBEnums.RequirementStatus.驳回,
                Models.DBEnums.RequirementStatus.通过,
                Models.DBEnums.RequirementStatus.归档
            };

            if (AllowStatus.Contains(Model.Status))
            {
                return(true);
            }
            return(false);
        }
Exemplo n.º 3
0
 public IActionResult Add(int?RequirementID)
 {
     Models.TMT_Requirements Model = null;
     if (RequirementID.HasValue)
     {
         Model = DB.TMT_Requirements.Find(RequirementID);
         if (!Test.Requirement.AllowEdit(Model, G.User.UserID))
         {
             return(NoPermission());
         }
     }
     if (Model == null)
     {
         ViewBag.IsDraftEdit = true;
     }
     else
     {
         ViewBag.IsDraftEdit = Test.Requirement.IsDraftEdit(Model);
     }
     return(View(Model));
 }
Exemplo n.º 4
0
 public IActionResult Save(ParamModels.Requirement.Requirement_Add_Model Model)
 {
     try
     {
         Models.TMT_Requirements Re = null;
         if (string.IsNullOrWhiteSpace(Model.Title))
         {
             return(Json("[需求标题]不可为空!"));
         }
         if (!Model.RequirementID.HasValue)
         {
             if (!Model.MType.HasValue)
             {
                 return(Json("[类型]必须选择!"));
             }
             if (Model.ModuleID < 1)
             {
                 return(Json("[模块]必须选择!"));
             }
             if (Model.AuditorUserID < 1)
             {
                 return(Json("[评审人]必须选择!"));
             }
             Re = new Models.TMT_Requirements
             {
                 Title          = Model.Title,
                 EmergencyLevel = Model.EmergencyLevel,
                 MType          = Model.MType.Value,
                 Status         = Models.DBEnums.RequirementStatus.稿件,
                 ProjectID      = G.NowProject.ProjectID,
                 ModuleID       = Model.ModuleID,
                 AuditorUserID  = Model.AuditorUserID,
                 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_Requirements.Add(Re);
         }
         else
         {
             Re = DB.TMT_Requirements.Find(Model.RequirementID);
             if (!Test.Requirement.AllowEdit(Re, G.User.UserID))
             {
                 return(Json("当前文档状态不可编辑或没有编辑权限!"));
             }
             if (Re.Status == Models.DBEnums.RequirementStatus.驳回 || Re.Status == Models.DBEnums.RequirementStatus.稿件)
             {
                 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.Title          = Model.Title;
                 Re.EmergencyLevel = Model.EmergencyLevel;
                 Re.AuditorUserID  = Model.AuditorUserID;
                 Re.MType          = Model.MType.Value;
                 Re.ModuleID       = Model.ModuleID;
                 Re.AuditorUserID  = Model.AuditorUserID;
             }
             else if (Re.Status == Models.DBEnums.RequirementStatus.通过)
             {
                 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.RequirementID,
                     UserID  = G.User.UserID,
                     Content = "[需求#" + Re.RequirementID + "]更新至第<div class=\"ui label horizontal mini\">" + Re.NowVersion + "</div>版本!",
                 });
             }
             Re.LastUPDate = DateTime.Now;
         }
         DB.SaveChanges();
         return(Success(Re.RequirementID.ToString()));
     }
     catch (Exception Ex)
     {
         return(Json(Ex.Message));
     }
 }
Exemplo n.º 5
0
 public static bool IsDraftEdit(Models.TMT_Requirements Model)
 {
     return(Model.Status == Models.DBEnums.RequirementStatus.稿件 || Model.Status == Models.DBEnums.RequirementStatus.驳回);
 }
Exemplo n.º 6
0
 public static bool AllowAddLog(Models.TMT_Requirements Model, int UserID)
 {
     return(Model.Status == Models.DBEnums.RequirementStatus.通过 && (Model.CreateUserID == UserID || Model.AuditorUserID == UserID));
 }
Exemplo n.º 7
0
 public static bool AllowSealUP(Models.TMT_Requirements Model, int UserID)
 {
     return(Model.Status == Models.DBEnums.RequirementStatus.通过 && Model.AuditorUserID == UserID);
 }
Exemplo n.º 8
0
 public static bool AllowHandOverAndReview(Models.TMT_Requirements Model, int UserID)
 {
     return(Model.Status == Models.DBEnums.RequirementStatus.待审 && Model.AuditorUserID == UserID);
 }
Exemplo n.º 9
0
 public static bool AllowSubmitAndDelete(Models.TMT_Requirements Model, int UserID)
 {
     return((Model.Status == Models.DBEnums.RequirementStatus.驳回 || Model.Status == Models.DBEnums.RequirementStatus.稿件) && Model.CreateUserID == UserID);
 }