public async Task RemoveContactsFromLists_ListDoesntExist() { //Arange int validContactId = 1; int listIdThatDoesntExist = 10; var model = new ContactListDTO() { ContactIds = new List <int>() { validContactId }, ListIds = new List <int>() { listIdThatDoesntExist } }; //Act var controller = new ContactController(_serviceBusMock.Object, _contactContext.Object); var actionResult = await controller.RemoveContactsFromLists(model); //Assert var result = Assert.IsType <BadRequestResult>(actionResult); Assert.Equal((int)System.Net.HttpStatusCode.BadRequest, result.StatusCode); }
public async Task RemoveContactsFromLists_Ok() { //Arange int validContactId = 1; int validListId = 2; var model = new ContactListDTO() { ContactIds = new List <int>() { validContactId }, ListIds = new List <int>() { validListId } }; //Act var controller = new ContactController(_serviceBusMock.Object, _contactContext.Object); var actionResult = await controller.RemoveContactsFromLists(model); //Assert var result = Assert.IsType <OkResult>(actionResult); Assert.Equal((int)System.Net.HttpStatusCode.OK, result.StatusCode); }
public async Task <object> GetAllContact() { try { var result = dataContext.contacts.Select(x => new Contact { ContactEmail = x.ContactEmail, ContactMessage = x.ContactMessage, Time = x.Time, CauseId = x.CauseId }); var ContactListDTO = new ContactListDTO { contacts = result.ToList() }; res.Data = ContactListDTO; res.Message = "List of Contact"; res.Success = true; return(res); } catch (Exception ex) { throw; } }
public async Task RemoveContactsFromLists(ContactListDTO model) { var uri = API.Contact.RemoveContactsFromLists(_remoteServiceBaseUrl); var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync(uri, content); response.EnsureSuccessStatusCode(); }
public async Task RemoveContactsFromLists_BadRequest_ModelNotValid() { //Arange var model = new ContactListDTO(); //Act var controller = new ContactController(_serviceBusMock.Object, _contactContext.Object); var actionResult = await controller.RemoveContactsFromLists(model); //Assert var result = Assert.IsType <BadRequestObjectResult>(actionResult); Assert.Equal((int)System.Net.HttpStatusCode.BadRequest, result.StatusCode); Assert.IsType <SerializableError>(result.Value); }
public async Task <IActionResult> RemoveFromLists(ContactListViewModel model) { if (!ModelState.IsValid) { model.Contacts = model.ContactIds.Select(c => new SelectListItem("", c.ToString())).ToList(); model.ContactsString = GetSelectedContactsString(model.ContactIds); model.ListsOfContacts = GetListsOfContacts(model.ContactIds); } var dto = new ContactListDTO { ContactIds = model.ContactIds, ListIds = model.ListIds }; await _contactService.RemoveContactsFromLists(dto); TempData.Put("Toast", new Toast(ToastType.Success, string.Format(_stringLocalizer["Contacts are successfully removed from lists"]))); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> AddContacts(ContactListViewModel model) { if (!ModelState.IsValid) { model.Contacts = (await _contactService.GetContacts()).Select(c => new SelectListItem(c.FirstName + " " + c.LastName + "(" + c.Email + ")", c.Id.ToString())).ToList(); model.Lists = model.ListIds.Select(c => new SelectListItem("", c.ToString())).ToList(); model.ListsString = GetSelectedListsString(model.ListIds.ToList()); return(View(model)); } var dto = new ContactListDTO { ContactIds = model.ContactIds, ListIds = model.ListIds }; await _contactService.AddContactsToLists(dto); TempData.Put("Toast", new Toast(ToastType.Success, string.Format(_stringLocalizer["Contacts are successfully added to lists"]))); return(RedirectToAction(nameof(Index))); }
public async Task <object> GetContatByUserEmail(string Email) { try { var result = dataContext.contacts.Where(x => x.ContactEmail == Email.ToString()).AsQueryable().Select(x => new Contact { ContactEmail = x.ContactEmail, CauseId = x.CauseId, ContactMessage = x.ContactMessage, Time = x.Time }); var list = new ContactListDTO { contacts = result.ToList() }; if (list == null) { res.Data = null; res.Message = "No Contact found by this user was found"; res.Success = false; return(res); } else { res.Data = list; res.Message = "List of Contact made by this user returned"; res.Success = true; return(res); } } catch (Exception ex) { throw; } }
public async Task <IActionResult> RemoveContactsFromLists(ContactListDTO model) { if (model.ContactIds == null || model.ListIds == null) { ModelState.AddModelError("ContactIds", "Select at least one contact"); ModelState.AddModelError("ListIds", "Select at least one list"); return(BadRequest(ModelState)); } List <Models.Contact> contacts = new List <Models.Contact>(); //go through all passed contactIds foreach (var contactId in model.ContactIds) { //find contact var contact = await _contactContext.Contacts.Include(c => c.ContactLists).SingleOrDefaultAsync(c => c.Id == contactId); if (contact == null) { return(BadRequest()); } contacts.Add(contact); } List <List> lists = new List <List>(); //go through all passed listIds foreach (var listId in model.ListIds) { //find list var list = await _contactContext.Lists.SingleOrDefaultAsync(l => l.Id == listId); if (list == null) { return(BadRequest()); } lists.Add(list); } foreach (var contact in contacts) { foreach (var list in lists) { var contactList = await _contactContext.ContactLists.SingleOrDefaultAsync(c => c.FContact == contact.Id && c.FList == list.Id); if (contactList != null) { _contactContext.ContactLists.Remove(contactList); } } } try { await _contactContext.SaveChangesAsync(); return(Ok()); } catch (Exception) { return(StatusCode((int)HttpStatusCode.InternalServerError)); } }