Esempio n. 1
0
        public ActionResult Edit(CMS_RoleModels model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Edit", model));
                }

                var Id  = "";
                var msg = "";
                model.CreatedBy = CurrentUser.UserId;
                model.UpdatedBy = CurrentUser.UserId;
                var result = _factory.CreateOrUpdate(model, ref Id, ref msg);
                if (result)
                {
                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError("Name", msg);
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Edit", model));
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Edit", model));
            }
        }
Esempio n. 2
0
        public ActionResult Create()
        {
            CMS_RoleModels model = new CMS_RoleModels();

            model.ListPermission = _factory.GetListModule();
            return(PartialView("_Create", model));
        }
Esempio n. 3
0
        public ActionResult Delete(CMS_RoleModels model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Delete", model));
                }

                var msg    = "";
                var result = _factory.Delete(model.Id, ref msg);
                if (result)
                {
                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError("Name", msg);
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Delete", model));
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Delete", model));
            }
        }
Esempio n. 4
0
        public CMS_RoleModels GetDetail(string Id)
        {
            NSLog.Logger.Info("RoleGetDetail", Id);
            CMS_RoleModels result = null;

            try
            {
                using (var cxt = new CMS_Context())
                {
                    var data = cxt.CMS_Role.Where(o => o.ID == Id && o.Status != (byte)Commons.EStatus.Deleted)
                               .Select(o => new CMS_RoleModels
                    {
                        Id       = o.ID,
                        StoreID  = o.StoreID,
                        Name     = o.Name,
                        IsActive = o.IsActive ?? false,
                    }).FirstOrDefault();

                    /* get list module */
                    var listModule = cxt.CMS_Module.OrderBy(o => o.Code)
                                     .Select(o => new CMS_PermissionModels()
                    {
                        ModuleID   = o.ID,
                        ModuleName = o.Name,
                        ModuleCode = o.Code,
                    }).ToList();

                    /* get list permission*/
                    var listPermission = cxt.CMS_ModulePermission.Where(o => o.RoleID == Id).ToList();
                    listModule.ForEach(o =>
                    {
                        o.Id       = listPermission.Where(p => p.ModuleID == o.ModuleID).Select(p => p.ID).FirstOrDefault();
                        o.IsAction = listPermission.Where(p => p.ModuleID == o.ModuleID).Select(p => p.IsAction).FirstOrDefault() ?? false;
                        o.IsView   = listPermission.Where(p => p.ModuleID == o.ModuleID).Select(p => p.IsView).FirstOrDefault() ?? false;
                    });

                    data.ListPermission = listModule;
                    result = data;

                    NSLog.Logger.Info("ResponseRoleGetDetail", result);
                }
            }
            catch (Exception ex)
            {
                NSLog.Logger.Error("ErrorRoleGetDetail", ex);
            }
            return(result);
        }
Esempio n. 5
0
        public bool CreateOrUpdatePermission(CMS_RoleModels model)
        {
            NSLog.Logger.Info("RoleCreateOrUpdatePermission", model);

            var result = false;

            try
            {
                using (var cxt = new CMS_Context())
                {
                    var listInsertPermission = model.ListPermission.Where(o => string.IsNullOrEmpty(o.Id)).ToList();
                    if (listInsertPermission.Count > 0) /* insert */
                    {
                        var listInrtPerDB = new List <CMS_ModulePermission>();
                        listInsertPermission.ForEach(o =>
                        {
                            listInrtPerDB.Add(new CMS_ModulePermission()
                            {
                                ID           = Guid.NewGuid().ToString(),
                                ModuleID     = o.ModuleID,
                                RoleID       = model.Id,
                                StoreID      = model.StoreID,
                                IsView       = o.IsView,
                                IsAction     = o.IsAction,
                                IsActive     = true,
                                Status       = (byte)Commons.EStatus.Actived,
                                CreatedDate  = DateTime.Now,
                                CreatedUser  = model.CreatedBy,
                                ModifiedUser = model.CreatedBy,
                                LastModified = DateTime.Now,
                            });
                        });
                        cxt.CMS_ModulePermission.AddRange(listInrtPerDB);
                    }

                    var listUpdatePermission = model.ListPermission.Where(o => !string.IsNullOrEmpty(o.Id)).ToList();
                    if (listUpdatePermission.Count > 0) /* update permission */
                    {
                        var listModulePerID = listUpdatePermission.Select(o => o.Id).ToList();
                        var listPerDB       = cxt.CMS_ModulePermission.Where(o => listModulePerID.Contains(o.ID)).ToList();
                        foreach (var per in listPerDB)
                        {
                            var updatePer = listUpdatePermission.Where(o => o.Id == per.ID).FirstOrDefault();
                            per.IsAction     = updatePer.IsAction;
                            per.IsView       = updatePer.IsView;
                            per.ModifiedUser = model.CreatedBy;
                            per.LastModified = DateTime.Now;
                        }
                    }

                    if (cxt.SaveChanges() > 0)
                    {
                        result = true;
                    }
                    NSLog.Logger.Info("ResponseRolemodelCreateOrUpdatePermission", new { result });
                }
            }
            catch (Exception ex)
            {
                result = false;
                NSLog.Logger.Error("ErrorRoleCreateOrUpdatePermission", ex);
            }
            return(result);
        }
Esempio n. 6
0
        public bool CreateOrUpdate(CMS_RoleModels model, ref string Id, ref string msg)
        {
            NSLog.Logger.Info("RoleCreateOrUpdate", model);
            var Result = true;

            using (var cxt = new CMS_Context())
            {
                try
                {
                    model.Name = model.Name.Trim();
                    if (string.IsNullOrEmpty(model.Id)) /* insert */
                    {
                        Id       = Guid.NewGuid().ToString();
                        model.Id = Id;
                        var checkDup = cxt.CMS_Role.Where(o => o.Name.Trim() == model.Name.Trim()).FirstOrDefault();
                        if (checkDup == null)
                        {
                            var e = new CMS_Role
                            {
                                ID           = Id,
                                StoreID      = model.StoreID,
                                Name         = model.Name,
                                IsActive     = model.IsActive,
                                Status       = (byte)Commons.EStatus.Actived,
                                CreatedDate  = DateTime.Now,
                                CreatedUser  = model.CreatedBy,
                                ModifiedUser = model.CreatedBy,
                                LastModified = DateTime.Now,
                            };
                            cxt.CMS_Role.Add(e);
                        }
                        else
                        {
                            msg    = "Duplicate Name";
                            Result = false;
                        }
                    }
                    else /* updated */
                    {
                        var checkDupCode = cxt.CMS_Role.Where(o => o.Name.Trim() == model.Name.Trim() && o.ID != model.Id).FirstOrDefault();
                        if (checkDupCode == null)
                        {
                            var e = cxt.CMS_Role.Find(model.Id);
                            if (e != null)
                            {
                                e.Name         = model.Name;
                                e.IsActive     = model.IsActive;
                                e.Status       = (byte)Commons.EStatus.Actived;
                                e.ModifiedUser = model.CreatedBy;
                                e.LastModified = DateTime.Now;
                            }
                            else
                            {
                                Result = false;
                                msg    = "Unable to find role.";
                            }
                        }
                        else
                        {
                            msg    = "Duplicate name";
                            Result = false;
                        }
                    }

                    if (cxt.SaveChanges() > 0 && Result == true)
                    {
                        /* insert list module permission */
                        CreateOrUpdatePermission(model);
                    }

                    NSLog.Logger.Info("ResponseRoleCreateOrUpdate", new { Result, msg });
                }
                catch (Exception ex)
                {
                    Result = false;
                    msg    = "System Error.";
                    NSLog.Logger.Error("ErrorRoleCreateOrUpdate", ex);
                }
            }
            return(Result);
        }