Esempio n. 1
0
        public ActionResult UserUpdate(AclUserUpdateModel model)
        {
            try
            {
                using (var dataContext = new HuntingEntities())
                {
                    int languageId = (int)Session[LocalizationAttribute.SESSION_LANGUAGE_ID];
                    var userName   = User.Identity.Name;
                    var user       = AclUserContext.GetDetail(dataContext, userName);
                    if (user.AccountTypeEx != AccountTypeEnum.Admin)
                    {
                        return(RedirectToAction("Index", "Home"));
                    }

                    AclUser updateItem = null;
                    if (model.IsCreate == false)
                    {
                        updateItem = AclUserContext.GetDetail(dataContext, model.Id);
                        if (updateItem == null)
                        {
                            return(RedirectToAction("Index", "Admin"));
                        }
                    }
                    else
                    {
                        var isUsed = AclUserContext.IsEmailUsed(dataContext, model.Email, model.Id);
                        if (isUsed)
                        {
                            ModelState.AddModelError("Email", AdminRes.VALIDATION_EMAIL_USED);
                        }
                    }
                    if (ModelState.IsValid)
                    {
                        var itemId = AclUserContext.Update(dataContext, updateItem, model, user.Id);
                        if (itemId.HasValue)
                        {
                            return(RedirectToAction("UserDetail", "Admin", new { id = itemId.Value }));
                        }
                        ModelState.AddModelError("", GlobalRes.VALIDATION_UPDATE_FAILED);
                    }
                    model.FillCodeLists(languageId);
                    return(View(model));
                }
            }
            catch (Exception exception)
            {
                logger.Error(exception, "AdminController");
                return(RedirectToAction("Index", "Home"));
            }
        }
Esempio n. 2
0
 public static int?Update(HuntingEntities dataContext, AclUser updateItem, AclUserUpdateModel model, int userId)
 {
     try
     {
         if (model.IsCreate)
         {
             updateItem = new AclUser()
             {
                 SysCreated = DateTime.Now,
                 EmailCode  = Guid.NewGuid().ToString(),
             };
             dataContext.AclUsers.Add(updateItem);
         }
         updateItem.Email         = model.Email;
         updateItem.AccountTypeEx = model.AccountType;
         updateItem.Fullname      = model.Fullname;
         if (updateItem.AccountTypeEx == AccountTypeEnum.Admin)
         {
             updateItem.MaxTerritoryCount = -1;
         }
         else if (updateItem.AccountTypeEx == AccountTypeEnum.Standard)
         {
             updateItem.MaxTerritoryCount = 0;
         }
         else
         {
             updateItem.MaxTerritoryCount = int.Parse(model.MaxTerritoryCount);
         }
         updateItem.SysEditor  = userId;
         updateItem.SysUpdated = DateTime.Now;
         if (model.IsCreate)
         {
             EmailContext.CreateRegistrationEmail(dataContext, updateItem, userId);
         }
         dataContext.SaveChanges();
         return(updateItem.Id);
     }
     catch (Exception exception)
     {
         logger.Error(exception, "Update");
     }
     return(null);
 }
Esempio n. 3
0
        // GET: UserUpdate/id
        public ActionResult UserUpdate(int?id)
        {
            try
            {
                using (var dataContext = new HuntingEntities())
                {
                    int languageId = (int)Session[LocalizationAttribute.SESSION_LANGUAGE_ID];
                    var userName   = User.Identity.Name;
                    var user       = AclUserContext.GetDetail(dataContext, userName);
                    if (user.AccountTypeEx != AccountTypeEnum.Admin)
                    {
                        ContextUtils.CreateActionStateCookie(Response, ActionTypeEnum.Danger, GlobalRes.ERROR_NOT_ALLOWED);
                        return(RedirectToAction("Index", "Home"));
                    }

                    AclUserUpdateModel model;
                    if (id.HasValue)
                    {
                        var aclUser = AclUserContext.GetDetail(dataContext, id.Value);
                        model = new AclUserUpdateModel(aclUser);
                    }
                    else
                    {
                        model = new AclUserUpdateModel()
                        {
                            IsCreate = true,
                        };
                    }
                    model.FillCodeLists(languageId);
                    return(View(model));
                }
            }
            catch (Exception exception)
            {
                logger.Error(exception, "AdminController");
                ContextUtils.CreateActionStateCookie(Response, ActionTypeEnum.Danger, GlobalRes.ERROR_EXCEPTION);
                return(RedirectToAction("Index", "Home"));
            }
        }