public IHttpActionResult DeleteOrganizationContactPerson(int id) { OrganizationContactPerson organizationContactPerson = new OrganizationContactPerson(); try { UnitOfWork unitOfWork = new UnitOfWork(factory); OrganizationContactPerson person = unitOfWork.OrganizationContactPersonsRepository .Get(d => d.Id == id).FirstOrDefault(); person.Deleted = true; unitOfWork.OrganizationContactPersonsRepository.Update(person); unitOfWork.Save(); return(Ok(person.ToDTO())); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public void DeleteContactPerson_ShouldDeleteAndReturnOk() { var personsTestData = new List <OrganizationContactPerson>() { new OrganizationContactPerson { Id = 1, OrganizationId = 2 }, new OrganizationContactPerson { Id = 2, Deleted = true, OrganizationId = 2 }, new OrganizationContactPerson { Id = 3, OrganizationId = 3 } }; var persons = MockHelper.MockDbSet(personsTestData); var contactsTestData = new List <OrganizationContactPersonContact>() { new OrganizationContactPersonContact { Id = 1 } }; var contacts = MockHelper.MockDbSet(contactsTestData); persons.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(persons.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); }); var dbContext = new Mock <IAppDbContext>(); dbContext.Setup(m => m.OrganizationContactPersons).Returns(persons.Object); dbContext.Setup(d => d.Set <OrganizationContactPerson>()).Returns(persons.Object); dbContext.Setup(m => m.OrganizationContactPersonContacts).Returns(contacts.Object); dbContext.Setup(d => d.Set <OrganizationContactPersonContact>()).Returns(contacts.Object); var factory = new Mock <IDbContextFactory>(); factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object); OrganizationContactPerson passport = new OrganizationContactPerson { Id = 3, OrganizationId = 3 }; var controller = new OrganizationContactPersonsController(factory.Object); var result = controller.DeleteOrganizationContactPerson(3) as OkNegotiatedContentResult <OrganizationContactPersonDTO>; Assert.IsNotNull(result); Assert.AreEqual(3, result.Content.Id); Assert.AreEqual(3, result.Content.OrganizationId); }
public IHttpActionResult PostOrganizationContactPerson(OrganizationContactPersonDTO organizationContactPerson) { if (organizationContactPerson == null) { return(BadRequest(ModelState)); } try { OrganizationContactPerson person = organizationContactPerson.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); person.Id = person.NewId(unitOfWork); foreach (var item in person.OrganizationContactPersonContact) { item.Id = item.NewId(unitOfWork); } unitOfWork.OrganizationContactPersonsRepository.Insert(person); unitOfWork.Save(); OrganizationContactPersonDTO dto = unitOfWork.OrganizationContactPersonsViewRepository .Get(d => d.Id == person.Id).FirstOrDefault().ToDTO(); if (person == null) { return(NotFound()); } dto.OrganizationContactPersonContact = unitOfWork.OrganizationContactPersonContactsRepository .Get(d => d.Deleted != true && d.OrganizationContactPersonId == person.Id, includeProperties: "ContactType") .Select(d => d.ToDTO()); return(CreatedAtRoute("GetOrganizationContactPerson", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PutOrganizationContactPerson(int id, OrganizationContactPersonDTO organizationContactPerson) { if (organizationContactPerson == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != organizationContactPerson.Id) { return(BadRequest()); } try { OrganizationContactPerson person = organizationContactPerson.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.OrganizationContactPersonsRepository.Update(person); unitOfWork.Save(); OrganizationContactPersonDTO dto = unitOfWork.OrganizationContactPersonsViewRepository .Get(d => d.Id == id).FirstOrDefault().ToDTO(); if (dto == null) { return(NotFound()); } dto.OrganizationContactPersonContact = unitOfWork.OrganizationContactPersonContactsRepository .Get(d => d.Deleted != true && d.OrganizationContactPersonId == id, includeProperties: "ContactType") .Select(d => d.ToDTO()); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public void PostContactPerson_ShoulAddContactPerson() { var personsvTestData = new List <OrganizationContactPerson>() { new OrganizationContactPerson { Id = 1, OrganizationId = 2 }, new OrganizationContactPerson { Id = 2, Deleted = true, OrganizationId = 2 }, new OrganizationContactPerson { Id = 3, OrganizationId = 3 } }; var personsv = MockHelper.MockDbSet(personsvTestData); var personsTestData = new List <OrganizationContactPersonView>() { new OrganizationContactPersonView { Id = 1, OrganizationId = 2 }, new OrganizationContactPersonView { Id = 2, Deleted = true, OrganizationId = 2 }, new OrganizationContactPersonView { Id = 3, OrganizationId = 3 } }; var persons = MockHelper.MockDbSet(personsTestData); var contactsTestData = new List <OrganizationContactPersonContact>() { new OrganizationContactPersonContact { Id = 1 } }; var contacts = MockHelper.MockDbSet(contactsTestData); persons.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(persons.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); }); persons.Setup(d => d.Add(It.IsAny <OrganizationContactPersonView>())).Returns <OrganizationContactPersonView>((contact) => { personsTestData.Add(contact); personsvTestData.Add(new OrganizationContactPerson { Id = contact.Id }); personsv = MockHelper.MockDbSet(personsvTestData); persons = MockHelper.MockDbSet(personsTestData); return(contact); }); personsv.Setup(d => d.Add(It.IsAny <OrganizationContactPerson>())).Returns <OrganizationContactPerson>((contact) => { personsTestData.Add(new OrganizationContactPersonView { Id = contact.Id }); personsvTestData.Add(contact); personsv = MockHelper.MockDbSet(personsvTestData); persons = MockHelper.MockDbSet(personsTestData); return(contact); }); var dbContext = new Mock <IAppDbContext>(); dbContext.Setup(m => m.OrganizationContactPersonViews).Returns(persons.Object); dbContext.Setup(d => d.Set <OrganizationContactPersonView>()).Returns(persons.Object); dbContext.Setup(m => m.OrganizationContactPersonContacts).Returns(contacts.Object); dbContext.Setup(d => d.Set <OrganizationContactPersonContact>()).Returns(contacts.Object); dbContext.Setup(m => m.OrganizationContactPersons).Returns(personsv.Object); dbContext.Setup(d => d.Set <OrganizationContactPerson>()).Returns(personsv.Object); dbContext.Setup(d => d.ExecuteStoredProcedure <int>(It.IsAny <string>(), It.IsAny <object[]>())) .Returns <string, object[]>((query, parameters) => { List <int> list = new List <int>(); if (query.Contains("NewTableId")) { int i = persons.Object.Max(d => d.Id) + 1; list.Add(i); } else { list.Add(0); } return(list); }); var factory = new Mock <IDbContextFactory>(); factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object); OrganizationContactPerson passport = new OrganizationContactPerson { Id = 0, OrganizationId = 3 }; var controller = new OrganizationContactPersonsController(factory.Object); var result = controller.PostOrganizationContactPerson(passport.ToDTO()) as CreatedAtRouteNegotiatedContentResult <OrganizationContactPersonDTO>; Assert.IsNotNull(result); Assert.AreEqual(4, result.Content.Id); }