示例#1
0
        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));
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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));
            }
        }
示例#4
0
        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));
            }
        }
示例#5
0
        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);
        }