示例#1
0
 // GET: Users/Edit/5
 public ActionResult Edit(int?id)
 {
     if (id == null)
     {
         throw new NullReferenceException();
     }
     try
     {
         using (var userService = new UserService())
         {
             var foundUser = userService.EagerDisconnectedService.FindByInclude(
                 x => x.Id == id.Value && x.Active, a => a.Address, p => p.PhoneNumber);
             if (!foundUser.Any())
             {
                 throw new Exception("No users found.");
             }
             var userToEdit    = foundUser.First();
             var editViewModel = ModelMapper.MappFrom(userToEdit);
             var arne          = new UserCreateEditViewModel(editViewModel);
             return(View(arne));
         }
     }
     catch (Exception e)
     {
         TempData["ResultMessage"] = e.Message;
         return(View("Error"));
     }
 }
示例#2
0
 internal static void Map(UserCreateEditViewModel userViewModel, User user)
 {
     userViewModel.Id         = user.Id;
     userViewModel.Name       = user.Name;
     userViewModel.Email      = user.Email;
     userViewModel.FilePath   = user.FilePath != null ? user.FilePath : string.Empty;
     userViewModel.SkypeLogin = user.SkypeLogin != null ? user.SkypeLogin : string.Empty;
     userViewModel.Note       = user.Note != null ? user.Note : string.Empty;
 }
示例#3
0
        private UserCreateEditViewModel GetCreateEditViewModel()
        {
            UserCreateEditViewModel viewModel = new UserCreateEditViewModel();

            viewModel.FillVendorsList(_vendorDataAccessor.Get());
            viewModel.FillRolesList(_roleDataAccessor.Get());

            return(viewModel);
        }
示例#4
0
 internal static User Map(UserCreateEditViewModel user)
 {
     return(new User
     {
         Id = user.Id,
         Name = user.Name,
         Email = user.Email,
         FilePath = user.FilePath,
         SkypeLogin = user.SkypeLogin,
         Note = user.Note
     });
 }
示例#5
0
        // GET: User/Edit/5
        public ActionResult Edit(int id)
        {
            var user = _userService.Get(id);

            if (user == null)
            {
                return(HttpNotFound());
            }

            var userViewModel = new UserCreateEditViewModel();

            DomainToUI.Map(userViewModel, user);
            return(View(userViewModel));
        }
示例#6
0
        private IActionResult CreateEditView(int userId)
        {
            User user = _userDataAccessor.Get(userId);

            UserCreateEditViewModel viewModel = new UserCreateEditViewModel
            {
                UserName = user.UserName,
                Roles    = user.UserRoles.Select(r => r.Role.Name).ToList(),
                VendorId = user.VendorId.GetValueOrDefault()
            };

            viewModel.FillVendorsList(_vendorDataAccessor.Get());
            viewModel.FillRolesList(_roleDataAccessor.Get());

            return(View("CreateEdit", viewModel));
        }
示例#7
0
        public async Task <IActionResult> Create(UserCreateEditViewModel userModel)
        {
            IActionResult result;

            if (ModelState.IsValid)
            {
                if (string.IsNullOrWhiteSpace(userModel.Password))
                {
                    ModelState.AddModelError("Password", "Password cannot be blank");
                    result = View("CreateEdit", GetCreateEditViewModel());
                }
                else
                {
                    User user = new User()
                    {
                        UserName = userModel.UserName,
                        VendorId = userModel.VendorId
                    };

                    IdentityResult identityResult = await _userManager.CreateAsync(user, userModel.Password);

                    if (identityResult.Succeeded)
                    {
                        identityResult = await _userManager.AddToRolesAsync(user, userModel.Roles);
                    }
                    if (identityResult.Succeeded)
                    {
                        result = RedirectToAction("Index");
                    }
                    else
                    {
                        foreach (IdentityError error in identityResult.Errors)
                        {
                            ModelState.AddModelError(string.Empty, error.Description);
                        }

                        result = View("CreateEdit", GetCreateEditViewModel());
                    }
                }
            }
            else
            {
                result = View("CreateEdit", GetCreateEditViewModel());
            }

            return(result);
        }
示例#8
0
 public ActionResult Create(UserCreateEditViewModel userCreateViewModel)
 {
     try
     {
         userCreateViewModel.Address.Type     = "Home";
         userCreateViewModel.PhoneNumber.Type = "Mobile";
         var user = DTOMapper.MappFrom((IUser)userCreateViewModel);
         user.Active = true;
         using (UserService userService = new UserService())
         {
             userService.EagerDisconnectedService.Add(user, null);
         }
         return(RedirectToAction("LoginSession", "LoginSession"));
     }
     catch (Exception e)
     {
         TempData["ResultMessage"] = e.Message;
         return(View("Error"));
     }
 }
示例#9
0
        public JsonResult Create(UserCreateEditViewModel user, HttpPostedFileBase file)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new UserCreateEditResultViewModel
                {
                    Id = 0,
                    Message = Resource.NotValidUserModel,
                    HasSaved = false
                }));
            }
            try
            {
                if (file != null && file.ContentLength > 0)
                {
                    user.FilePath = Guid.NewGuid().ToString() + Path.GetExtension(file.FileName);
                    file.SaveAs(Path.Combine(Server.MapPath("~/UploadedImages/"), user.FilePath));
                }

                var userDomain = UIToDomain.Map(user);
                _userService.Create(userDomain);
                user.Id = userDomain.Id;
                return(Json(new UserCreateEditResultViewModel
                {
                    Id = user.Id,
                    Message = Resource.UserSuccessfullySaved,
                    HasSaved = true
                }));
            }
            catch (ArgumentException ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(Json(new UserCreateEditResultViewModel
                {
                    Id = 0,
                    Message = ex.Message,
                    HasSaved = false
                }));
            }
        }
        public ActionResult CreateEdit(int?id)
        {
            if (id == null) // Create
            {
                return(View(new UserCreateEditViewModel()));
            }

            if (id > 0) // Edit
            {
                UserRepository userRepo = new UserRepository();

                User user = userRepo.GetById(id.Value);

                if (user == null)
                {
                    return(HttpNotFound());
                }

                UserCreateEditViewModel u = new UserCreateEditViewModel()
                {
                    Id        = user.Id,
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Username  = user.Username,
                    Email     = user.Email,
                    IsAdmin   = user.IsAdmin
                };

                if (user.ImageName != null)
                {
                    u.ImageName = user.ImageName;
                }

                return(View(u));
            }

            return(RedirectToAction("Index"));
        }
示例#11
0
        public ActionResult Edit(UserCreateEditViewModel createEditViewModel)
        {
            try
            {
                using (var userService = new UserService())
                {
                    if (createEditViewModel == null)
                    {
                        throw new NullReferenceException();
                    }
                    createEditViewModel.Address.Id     = createEditViewModel.AddressId;
                    createEditViewModel.PhoneNumber.Id = createEditViewModel.PhoneNumberId;
                    var convertedViewModel = DTOMapper.MappFrom((IUser)createEditViewModel);
                    userService.EagerDisconnectedService.Update(Session[convertedViewModel.Id] as UserDTO, convertedViewModel);
                }

                return(RedirectToAction("LoginSession", "LoginSession"));
            }
            catch (Exception e)
            {
                TempData["ResultMessage"] = e.Message;
                return(View("Error"));
            }
        }
        public ActionResult CreateEdit(UserCreateEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            User user;


            if (model.Id > 0) // Edit
            {
                user = userRepo.GetById(model.Id);

                if (user == null)
                {
                    return(HttpNotFound());
                }
            }

            else // Create
            {
                user = new User();
            }

            if (model.Image != null && model.Image.ContentLength > 0)
            {
                if (model.Image.ContentType.Contains("image"))
                {
                    model.ImageName = Path.GetFileName(model.Image.FileName);

                    model.ImageName = model.Username + Path.GetExtension(model.ImageName);

                    string imagePath = Server.MapPath("~/Images/" + model.ImageName);

                    model.Image.SaveAs(imagePath);

                    user.ImageName = model.ImageName;
                }

                else
                {
                    ModelState.AddModelError(string.Empty, "Uploaded file isn't an image!");
                    return(View(model));
                }
            }

            user.FirstName = model.FirstName;

            user.LastName = model.LastName;

            user.Password = model.Password;

            user.IsAdmin = model.IsAdmin;

            bool userDoesntExist = true;

            if (model.Username != user.Username)
            {
                User userUsername = userRepo.GetAll(us => us.Username == model.Username).FirstOrDefault();

                if (userUsername != null)
                {
                    ModelState.AddModelError("Username", "Username already exists");

                    userDoesntExist = false;
                }

                user.Username = model.Username;
            }

            if (model.Email != user.Email)
            {
                User userEmail = userRepo.GetAll(us => us.Email == model.Email).FirstOrDefault();

                if (userEmail != null)
                {
                    ModelState.AddModelError("Email", "Email already exists");

                    userDoesntExist = false;
                }

                user.Email = model.Email;
            }

            if (userDoesntExist)
            {
                userRepo.Save(user);

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
示例#13
0
        // GET: User/Create
        public ActionResult Create()
        {
            var user = new UserCreateEditViewModel();

            return(View(user));
        }