Esempio n. 1
0
        public ActionResult NewUser(AppUserViewModel user)
        {
            lock (_lock) {
                LoadViewBagItems();

                if (user.Id > 0)
                {
                    return(EditUser(user));
                }

                var curUser = Thread.CurrentPrincipal.Identity.Name;
                var appUser = user.ToEntity();
                appUser.Status = (int)EntityStatusType.Current;
                var regUser = user.ToRegistringUser();
                regUser.Password = "******";

                try {
                    using (var scope = new TransactionScope()) {
                        using (var adminUow = DependencyResolver.Current.GetService <IAdminUnitOfWork>()) {
                            var roleName =
                                adminUow.CodeRepository.GetRolesList().FirstOrDefault(r => r.RoleId == user.RoleId);
                            if (roleName != null)
                            {
                                regUser.Role = roleName.RoleName;
                            }

                            var contact = Contact(user, curUser);

                            adminUow.UserRepository.CreateAppUserWithMembership(appUser, regUser, contact);
                            adminUow.Commit();
                        }
                        scope.Complete();
                    }
                }
                catch (Exception ex) {
                    _logger.ErrorException("Can't Create New User.", ex);
                    Response.StatusCode = 500;
                    return(new ContentResult {
                        Content = string.Format("Error creating a new user: Error:{0}", ex.Message)
                    });
                }

                return(Json("admin.vm.sites();", "text/html", JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 2
0
        private ActionResult EditUser(AppUserViewModel user)
        {
            try
            {
                using (var adminUow = DependencyResolver.Current.GetService <IAdminUnitOfWork>())
                {
                    var usr     = adminUow.UserRepository.GetById(user.Id);
                    var appUser = user.ToEntity();
                    appUser.Contact = usr.Contact;

                    appUser.Status = (int)EntityStatusType.Current;
                    var additionaUserInfo = user.ToRegistringUser();

                    var roleName = adminUow.CodeRepository.GetRolesList().FirstOrDefault(r => r.RoleId == user.RoleId);
                    if (roleName != null)
                    {
                        additionaUserInfo.Role = roleName.RoleName;
                    }
                    appUser.Contact.FirstName = user.FirstName;
                    appUser.Contact.LastName  = user.LastName;
                    appUser.Contact.IsActive  = user.IsActive;

                    adminUow.UserRepository.UpdateAppUser(appUser, additionaUserInfo);
                    adminUow.Commit();
                }
                return(Json("alert('ok');", JsonRequestBehavior.DenyGet));
            }
            catch (Exception ex)
            {
                _logger.Debug(ex.Message);
                using (var uow = DependencyResolver.Current.GetService <IUtilUnitOfWork>())
                {
                    uow.ErrorLogRepository.Log(ex.Message, ex.StackTrace);
                    uow.Commit();
                }
                return(Json(ex.Message, JsonRequestBehavior.DenyGet));
            }
        }