public ActionResult Create(ContactUser m) { m.AllRoles = Roles.GetRoles(); if (m.UserRoles == null) m.UserRoles = new List<string>(); var logic = new ContactBUS(); if (ModelState.IsValid) { logic.CreateContact(m.Contact); if (m.IsUser) { var userHelper = UserHelper.Create(); var contact = logic.GetContacts().Where(c => c.Username == m.Contact.Username).SingleOrDefault(); userHelper.CreateUser(contact.Id); if (m.UserRoles.Count() > 0) { foreach (var role in m.UserRoles) userHelper.AddUserToRole(contact.Id, role); } } return RedirectToAction("List"); } else return View(m); }
public ActionResult Index(FacetContactViewModel model) { if(model.ContactSearchParams == null) model.ContactSearchParams = new ContactSearchParams(); var logic = new ContactBUS(); var usernames = Membership.GetAllUsers().Cast<MembershipUser>().Select(m=>m.UserName).ToList(); model.UsernameMap = logic.UsernameMap(usernames, model.ContactSearchParams); model.UserAccountMap = logic.UserAccountMap(usernames, model.ContactSearchParams); model.FriendsMap = logic.FriendsMap(usernames, model.ContactSearchParams); model.FriendsCount = new FriendsBUS().FriendsCount(); var results = from c in logic.Contacts where (model.ContactSearchParams.SelectedUserAccountStatus.Count() == 0 || (usernames.Contains(c.Username) && model.ContactSearchParams.SelectedUserAccountStatus.Contains(ContactUserAccountStatus.UserAccount)) || (!usernames.Contains(c.Username) && model.ContactSearchParams.SelectedUserAccountStatus.Contains(ContactUserAccountStatus.NoUserAccount))) && ( model.ContactSearchParams.SelectedUsernameLetters.Count() == 0 || model.ContactSearchParams.SelectedUsernameLetters.Contains(c.Username.Substring(0, 1)) ) && (model.ContactSearchParams.SelectedFriendsStatus.Count() == 0 || (c.Friends.Count > 0 && model.ContactSearchParams.SelectedFriendsStatus.Contains(ContactFriendsStatus.HasFriends)) || (c.Friends.Count == 0 && model.ContactSearchParams.SelectedFriendsStatus.Contains(ContactFriendsStatus.NoFriends))) select c; model.Contacts = results.ToList(); return View(model); }
public ActionResult Search(string username, string term) { var contacts = new ContactBUS().GetContacts(term); return new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = contacts.Select(c=>new{id=c.Id, label=c.Username}) }; }
// // GET: /AlphaContact/ public ActionResult Index(string alpha) { var logic = new ContactBUS(); var model = new ContactListAlphaViewModel(); var dictionary = logic.GetContacts().GroupBy(g => g.Username.Substring(0, 1).ToUpper()).ToDictionary(g => g.Key, g => g.Count()); foreach (var key in dictionary.Keys) model.LetterDictionary[key] = dictionary[key]; model.Contacts = logic.GetContacts().Where(c => c.Username.ToUpper().StartsWith(alpha)).ToList(); model.SelectedLetter = alpha; return View(model); }
public ActionResult Index(string username) { var contact = new ContactBUS().GetContacts().Where( c => c.Username.ToLower() == username.ToLower()).SingleOrDefault(); var friends = new List<Contact>(); if (contact != null) friends = new FriendsBUS().GetFriends(contact); var model = new FriendsListViewModel {You = contact, YourFriends = friends}; return View(model); }
public ActionResult AddFriend(string username, int contactId) { var contact = new ContactBUS().GetContacts().Where( c => c.Username.ToLower() == username.ToLower()).SingleOrDefault(); var friends = new List<Contact>(); if (contact != null) { friends = new FriendsBUS().GetFriends(contact); friends.Add(new ContactBUS().GetContact(contactId)); new FriendsBUS().SetFriends(contact, friends); } return RedirectToAction("Index", new { username = username }); }
public ActionResult Edit(int id) { var contactLogic = new ContactBUS(); var model = new FriendEditViewModel { Contact = contactLogic.GetContact(id) }; var friendIds = model.Contact.Friends.Select(f => f.Id).ToList(); friendIds.Add(id);//can't add friend to himself. model.ContactsSelectListItems = contactLogic.Contacts.Where(c => !friendIds.Contains(c.Id)).Select( c => new SelectListItem {Text = c.FullName, Value = c.Id.ToString()}).ToList().OrderBy(item => item.Text).ToList(); return View(model); }
public ActionResult AddMultiple(AddMultipleViewModel model) { if (this.ModelState.IsValid) { var logic = new ContactBUS(); foreach (var contact in model.Contacts) { logic.CreateContact(contact); } TempData["model"] = model; return RedirectToAction("Confirmation"); } else { return View(model); } }
public ActionResult AddUserToRole(int id, string role) { var logic = new ContactBUS(); UserHelper.Create().AddUserToRole(id, role); var contact = logic.GetContact(id); TempData["message"] = String.Format("User Account for {0} has been added to {1} Role", contact.Username, role); var model = new ContactUser { AllRoles = Roles.GetRoles(), Contact = contact, IsAdmin = true, IsUser = true, UserRoles = Roles.GetRolesForUser(contact.Username).ToList() }; return View("ListMembershipControls", model); //return RedirectToAction("List", new { page = page }); }
public ActionResult Knockout(AddMultipleViewModel model) { var errors = new Dictionary<string, ModelErrorCollection>(); foreach(var key in this.ModelState.Keys) errors.Add(key, this.ModelState[key].Errors); this.ViewData["Errors"] = errors; if(this.ModelState.IsValid) { var logic = new ContactBUS(); foreach(var contact in model.Contacts) logic.CreateContact(contact); TempData["model"] = model; return RedirectToAction("Confirmation"); } return View(model); }
public ActionResult CreateAccount(int id) { var logic = new ContactBUS(); UserHelper.Create().CreateUser(id); var contact = logic.GetContact(id); TempData["message"] = String.Format("User Account for {0} has been created.", contact.Username); var model = new ContactUser { AllRoles = Roles.GetRoles(), Contact = contact, IsAdmin = true, IsUser = true, UserRoles = new List<string>() }; return View("ListMembershipControls", model); //return RedirectToAction("List", new { page = page }); }
public ActionResult Grid(GridSortOptions gridSortOptions, int? page) { var logic = new ContactBUS(); var contacts = logic.GetContacts().AsQueryable(); if (string.IsNullOrEmpty(gridSortOptions.Column)) gridSortOptions.Column = "FirstName"; var contactPagedList = contacts .OrderBy(gridSortOptions.Column, gridSortOptions.Direction) .AsPagination(page ?? 1, 10); var model = new ContactGridModel { ContactPagedList = contactPagedList, GridSortOptions = gridSortOptions }; return View(model); }
public ActionResult Delete(Contact contact) { var logic = new ContactBUS(); logic.DeleteContact(contact); return RedirectToAction("List"); }
public ActionResult Edit(int id) { var logic = new ContactBUS(); var contact = logic.GetContact(id); var exists = Membership.UserExists(contact.Username); var model = new ContactUser { AllRoles = Roles.GetRoles().ToList(), Contact = contact, IsUser = exists, UserRoles = !exists ? new List<string>() :Roles.GetRolesForUser(contact.Username) .ToList() }; return View(model); }
public ActionResult Edit(int id) { var contactLogic = new ContactBUS(); var contact = contactLogic.GetContact(id); return View(contact); }
public ActionResult Edit(ContactUser m) { m.AllRoles = Roles.GetRoles().ToList(); if(m.UserRoles == null) m.UserRoles = new List<string>(); var logic = new ContactBUS(); var exists = Membership.UserExists(m.Contact.Username); if (ModelState.IsValid) { logic.EditContact(m.Contact); var userHelper = UserHelper.Create(); if (m.IsUser && !exists) userHelper.CreateUser(m.Contact.Id); else if(!m.IsUser && exists) userHelper.DeleteUser(m.Contact.Id); if(m.IsUser) { foreach(var role in m.AllRoles) { if(m.UserRoles.Contains(role)) { if(!Roles.UserHasRole(m.Contact.Username, role)) userHelper.AddUserToRole(m.Contact.Id, role); } if (!m.UserRoles.Contains(role)) { if(Roles.UserHasRole(m.Contact.Username, role)) userHelper.RemoveUserFromRole(m.Contact.Id, role); } } } return RedirectToAction("List"); } else return View(m); }
public ActionResult List(int page = 1) { var logic = new ContactBUS(); var pageSize = 50; var contacts = logic.GetContacts().Skip((page - 1)*pageSize).Take(pageSize).ToList(); var model = new ContactListViewModel(); model.AllRoles = Roles.GetRoles(); model.IsAdmin = Roles.UserHasRole("Admin"); foreach(var contact in contacts) { if(Membership.UserExists(contact.Username)) model.UserNameRoles.Add(contact.Username.ToLower(), Roles.GetRolesForUser(contact.Username).ToList()); } model.Contacts = contacts; model.CurrentPage = page; model.MaxPages = (int) Math.Ceiling(logic.GetContactsCount()/(double) pageSize); return View(model); }