Exemplo n.º 1
0
        public async Task <IActionResult> EditContact([FromRoute] int id, [FromBody] ContactEditRequestDto contactRequest)
        {
            var fileValid    = string.IsNullOrEmpty(contactRequest.ProfileImageFileName) || ValidFile(contactRequest.ProfileImageFileName);
            var addressValid = ValidAddress(contactRequest.Address);

            if (!ModelState.IsValid || !fileValid || !addressValid)
            {
                return(BadRequest(ModelState));
            }

            var contact = _mapper.Map <Contact>(contactRequest);

            contact.ContactId = id;

            var editResult = _databaseProvider.EditContact(contact);
            await _databaseProvider.Save();


            if (editResult == (int)EditResults.ItemNotFound)
            {
                return(NotFound("Register not found"));
            }
            if (editResult == (int)EditResults.WrongEntityRelation)
            {
                ModelState.AddModelError("Entity Relation Error", "The address provided does not correspond with the contact provided");
                return(BadRequest(ModelState));
            }

            return(Ok(_mapper.Map <ContactSingleResponseDto>(contact)));
        }
Exemplo n.º 2
0
        public async void TestEditContactBadRequest()
        {
            var _provider = InitializeDatabaseProvider();

            var addressDto = new AddressEditDto()
            {
                AddressId         = 1,
                StreetInformation = "TestStreetEdited",
                CityId            = 1,
                StateId           = 1,
            };
            var contactDto = new ContactEditRequestDto()
            {
                Name                = "TestEntityEdited",
                Company             = "TestCompany",
                Email               = "TestingEmail",
                BirthDate           = DateTime.Now,
                Address             = addressDto,
                PersonalPhoneNumber = "1111"
            };
            var _configuration = new Mock <IConfiguration>();
            var controller     = new ContactsController(_configuration.Object, _provider, InitializeMapper());
            var result         = await controller.EditContact(1, contactDto);

            var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.Equal(400, badRequestResult.StatusCode);
        }
Exemplo n.º 3
0
        public async void TestEditContactNotFound()
        {
            var _provider = InitializeDatabaseProvider();
            var state     = new State()
            {
                Name = "TestingState", StateId = 1
            };
            var city = new City()
            {
                Name = "TestingCity", StateId = 1, CityId = 1
            };
            var address = new Address()
            {
                StreetInformation = "TestStreet",
                CityId            = 1,
                StateId           = 1,
                AddressId         = 1
            };
            var contact = new Contact()
            {
                ContactId           = 1,
                Name                = "TestEntity",
                Company             = "TestCompany",
                Email               = "TestingEmail",
                BirthDate           = DateTime.Now,
                AddressId           = 1,
                PersonalPhoneNumber = "1111",
                Address             = address
            };

            _provider.AddState(state);
            _provider.AddCity(city);
            _provider.CreateContact(contact);
            await _provider.Save();

            _provider.DetachEntity <Address>(address);
            _provider.DetachEntity <Contact>(contact);

            var addressDto = new AddressEditDto()
            {
                AddressId         = 1,
                StreetInformation = "TestStreetEdited",
                CityId            = 1,
                StateId           = 1,
            };
            var contactDto = new ContactEditRequestDto()
            {
                Name                = "TestEntityEdited",
                Company             = "TestCompany",
                Email               = "TestingEmail",
                BirthDate           = DateTime.Now,
                Address             = addressDto,
                PersonalPhoneNumber = "1111"
            };
            var _configuration = new Mock <IConfiguration>();
            var controller     = new ContactsController(_configuration.Object, _provider, InitializeMapper());
            var result         = await controller.EditContact(2, contactDto);

            var NotFoundResult = Assert.IsType <NotFoundObjectResult>(result);

            Assert.Equal(404, NotFoundResult.StatusCode);
        }