Example #1
0
        public ActionResult Create(UserViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var context = new Context();
                var user = new User
                {
                    Name = viewModel.Name,
                    Username = viewModel.Username.ToUpper(),
                    Password = viewModel.Password
                };

                context.Users.Add(user);
                var exists = (from p in context.Users
                              where p.Username.ToUpper() == viewModel.Username
                              select p).Any();
                if (exists)
                {
                    throw new Exception($"There is already a registered user with the username {user.Username}.");
                }

                context.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(viewModel);
        }
Example #2
0
        public ActionResult Edit(int id)
        {
            var context = new Context();
            var user = context.Users.FirstOrDefault(x => x.Id == id);
            if (user == null)
            {
                throw new Exception($"Usuário com código {id} não encontrado.");
            }
            var viewModel = new UserViewModel
            {
                Id = user.Id,
                Username = user.Username,
                Name = user.Name,
                Password = user.Password
            };

            return View(viewModel);
        }
Example #3
0
        public ActionResult Edit(UserViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var context = new Context();
                var user = context.Users.FirstOrDefault(x => x.Id == viewModel.Id);
                if (user == null)
                {
                    throw new Exception($"User with id {viewModel.Id} not found.");
                }
                user.Username = viewModel.Username;
                user.Name = viewModel.Name;
                if (!string.IsNullOrWhiteSpace(viewModel.Password))
                {
                    user.Password = viewModel.Password;
                }
                try
                {
                    var exists = (from p in context.Users
                                  where p.Username.ToUpper() == user.Username
                                     && p.Id != user.Id
                                  select p).Any();
                    if (exists)
                    {
                        throw new Exception($"There is already a registered user with the username {user.Username}.");
                    }

                    context.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch (Exception exp)
                {
                    ModelState.AddModelError("", exp.Message);
                }
            }
            return View(viewModel);
        }