public ActionResult Contacts(UserContactVm userContact) { UrlsContact(); userContact = userContact ?? new UserContactVm(); userContact.Contacts = userContact.Contacts ?? new List <Contact>(); return(PartialView("_Contacts", userContact.Contacts)); }
public ActionResult Edit(UserContactVm model) { try { ModelState.Remove("Cpf"); ModelState.Remove("RolesIds"); if (!ModelState.IsValid) { ViewBag.Erros = ErrorController.Get(ModelState); return(View(model).Error(ModelState)); } var oldUser = _db.Users .Include(i => i.Contacts) .Include(i => i.Roles) .FirstOrDefault(f => f.UserId == Account.Current.UserId); oldUser.Update(model.FirstName, model.LastName); throw new Exception("Não implementado"); } catch (Exception e) { return(View(model).Error(e.Message)); } }
public ActionResult Create(UserContactVm userContact) { try { if (!ModelState.IsValid) { return(View(userContact).Error(ModelState)); } var user = userContact.GetUser(); if (userContact.Contacts != null && userContact.Contacts.Any(a => a.ContactType == ContactType.Email)) { var contatos = user.Contacts.Where(f => f.ContactType == ContactType.Email); foreach (var contato in contatos) { var emailIsInUse = _db.Contacts.Any(x => x.Description.Equals(contato.Description)); if (emailIsInUse) { throw new Exception($"Este Email '{contato.Description}' já está em uso"); } } } var cpfIsInUse = _db.Users.Any(x => x.Cpf.Equals(user.Cpf)); if (cpfIsInUse) { throw new Exception($"Este CPF '{user.Cpf}' já está em uso"); } user.EncryptPassword("111111"); user.Roles = new List <Role>(); var roles = _db.Roles.Where(x => userContact.RolesIds.Any(r => r == x.RoleId)); foreach (var role in roles) { if (userContact.RolesIds != null && userContact.RolesIds.Any(x => x.Equals(role.RoleId))) { user.Roles.Add(role); } } user.UserId = Guid.NewGuid(); _db.Users.Add(user); _db.SaveChanges(); return(RedirectToAction("Index").Success(Success.Saved)); } catch (Exception e) { GetDrops(userContact.RolesIds?.FirstOrDefault()); return(View(userContact).Error(e.Message)); } }
public ActionResult AddContact(UserContactVm userContact) { userContact.Contacts = userContact.Contacts ?? new List <Contact>(); userContact.Contacts.Add(new Contact { Description = userContact.Description, ContactType = userContact.ContactType }); userContact.Description = string.Empty; userContact.ContactType = 0; UrlsContact(); return(PartialView("_Contacts", userContact.Contacts)); }
private void SetViewBags(UserContactVm model = null) { var roles = _db.Roles .OrderBy(x => x.Name) .AsNoTracking(); model = model ?? new UserContactVm(); foreach (var role in roles) { var item = new SelectListItemVm( role.RoleId, role.Name?.Replace("_", " "), model.RolesIds?.Any(x => x == role.RoleId) ?? false); model.SelectListRole.Add(item); } model.RolesIds = model.Roles?.Select(s => s.RoleId).ToArray(); ViewBag.Roles = model.SelectListRole; }
public ActionResult Edit(UserContactVm model, string rolesIds) { try { if (string.IsNullOrWhiteSpace(rolesIds)) { throw new Exception("Campo Permissões é obrigatório."); } model.RolesIds = rolesIds.Split(',').Select(id => Convert.ToInt32(id)).ToArray(); ModelState.Remove(nameof(model.RolesIds)); if (!ModelState.IsValid || !model.IsValid()) { SetViewBags(model); return(View(model).Error(ModelState)); } var oldUser = _db.Users .Include(c => c.Roles) .Include(c => c.Contacts) .FirstOrDefault(x => x.UserId == model.UserId); if (oldUser == null) { return(RedirectToAction("Index").Success(Success.Saved)); } var newUser = model.GetUser(_db); newUser.SetInfo(oldUser); BalanceRoles(oldUser, newUser, model.RolesIds); BalanceContacts(oldUser, newUser); _db.Entry(oldUser).CurrentValues.SetValues(newUser); _db.SaveChanges(); return(RedirectToAction("Index").Success(Success.Saved)); } catch (Exception ex) { SetViewBags(model); return(View(model).Error(ex.Message)); } }
public ActionResult Edit() { var user = _db.Users .Include(i => i.Contacts) .FirstOrDefault(f => f.UserId == Account.Current.UserId); if (user == null) { return(RedirectToAction("Index", "Home").Error("Usuário não encontrado")); } var userContact = new UserContactVm { UserId = user.UserId, Cpf = user.Cpf, FirstName = user.FirstName, LastName = user.LastName, IsActive = user.IsActive, Contacts = user.Contacts.ToList() }; return(View(userContact)); }
private static UserContactVm GetCrudVm(User user) { var model = new UserContactVm { FirstName = user.FirstName, LastName = user.LastName, Contacts = user.Contacts.ToList(), AccessFailed = user.AccessFailed, Cpf = user.Cpf, IsActive = user.IsActive, CreateOn = user.CreateOn, UserId = user.UserId, Roles = user.Roles, RolesIds = user.Roles.Select(s => s.RoleId).ToArray() }; if (user.Contacts != null) { model.Contacts = new List <Contact>(user.Contacts); } return(model); }
public ActionResult Edit(UserContactVm model) { try { ModelState.Remove("Cpf"); ModelState.Remove("RolesIds"); if (!ModelState.IsValid) { ViewBag.Erros = ErrorController.Get(ModelState); return(View(model).Error(ModelState)); } var oldUser = _db.Users .Include(c => c.Roles) .Include(c => c.Contacts) .FirstOrDefault(x => x.UserId == model.UserId); if (oldUser == null) { return(RedirectToAction("Details").Success("Conta atualizada com sucesso")); } oldUser.Update(model.FirstName, model.LastName); var newUser = model.GetUser(_db); newUser.SetPassword(oldUser.Password); newUser.SetInfo(oldUser); BalanceContacts(oldUser, newUser); BalanceRoles(oldUser, newUser, model.RolesIds); _db.Entry(oldUser).CurrentValues.SetValues(newUser); _db.SaveChanges(); return(RedirectToAction("Details").Success("Conta atualizada com sucesso")); } catch (Exception e) { return(View(model).Error(e.Message)); } }
public ActionResult RemoveContact(UserContactVm userContact, int index) { UrlsContact(); userContact.Contacts?.RemoveAt(index); return(PartialView("_Contacts", userContact.Contacts)); }
public ActionResult Create(UserContactVm model, string rolesIds) { try { if (string.IsNullOrWhiteSpace(rolesIds)) { throw new Exception("Campo Permissões é obrigatório."); } model.RolesIds = rolesIds.Split(',').Select(id => Convert.ToInt32(id)).ToArray(); ModelState.Remove(nameof(model.RolesIds)); if (!ModelState.IsValid || !model.IsValid()) { SetViewBags(model); return(View(model).Error(ModelState)); } var user = model.GetUser(_db); if (model.Contacts != null && model.Contacts.Any(a => a.ContactType == ContactType.Email)) { var contatos = user.Contacts.Where(f => f.ContactType == ContactType.Email); foreach (var contato in contatos) { var emailIsInUse = _db.Contacts.Any(x => x.Description.Equals(contato.Description)); if (emailIsInUse) { throw new Exception($"Este Email '{contato.Description}' já está em uso"); } } } var cpfIsInUse = _db.Users.Any(x => x.Cpf.Equals(user.Cpf)); if (cpfIsInUse) { throw new Exception($"Este CPF '{user.Cpf}' já está em uso"); } user.ResetPassword(); user.Roles = new List <Role>(); var roles = _db.Roles.Where(x => model.RolesIds.Any(r => r == x.RoleId)); foreach (var role in roles) { if (model.RolesIds != null && model.RolesIds.Any(x => x.Equals(role.RoleId))) { user.Roles.Add(role); } } user.UserId = Guid.NewGuid(); _db.Users.Add(user); _db.SaveChanges(); return(RedirectToAction("Index").Success(Success.Saved)); } catch (Exception e) { SetViewBags(model); return(View(model).Error(e.Message)); } }