Exemple #1
0
 public DogEntity ConvertToEntity(DogDto dogDto) =>
 new DogEntity
 {
     Name      = dogDto.Name,
     Breed     = dogDto.Breed,
     ImageData = dogDto.ImageData?.ToImageEntity(),
     ImageUrl  = dogDto.ImageUrl,
 };
Exemple #2
0
        private IDictionary <string, object> GetLinkedResourceToReturn(DogDto dogToReturn, string fields)
        {
            var links = CreateLinksForDogForOwner(dogToReturn.Id, dogToReturn.OwnerId, fields);
            var linkedResourceToReturn = dogToReturn.ShapeData(null) as IDictionary <string, object>;

            linkedResourceToReturn.Add("links", links);

            return(linkedResourceToReturn);
        }
Exemple #3
0
        private double GetCostAdopt(DogDto dog)
        {
            var adoptPrice = 0.0;

            if (dog.Race.Name != "Chihuahua")
            {
                adoptPrice = HowLongInDogHouse(dog) * tax;
            }
            return(adoptPrice);
        }
Exemple #4
0
        private int HowLongInDogHouse(DogDto dog)
        {
            var months = 0;

            if (dog.IsInDogHouse)
            {
                months = (int)(DateAndTime.DateDiff(DateInterval.Month, dog.DepositAt, DateTime.UtcNow));
            }
            return(months);
        }
Exemple #5
0
        public string GetTicket(string userName, DogDto dog, double price, string action)
        {
            var messageTicket = string.Concat(MessagesDogs.DogSeparator, Environment.NewLine,
                                              string.Format(MessagesDogs.DogTicket, userName, action), Environment.NewLine,
                                              string.Format(MessagesDogs.DogDescription, dog.Description), Environment.NewLine,
                                              string.Format(MessagesDogs.DogPayCashRegister, price), Environment.NewLine,
                                              MessagesDogs.DogSeparator, Environment.NewLine);

            return(messageTicket);
        }
Exemple #6
0
        public ActionResult <DogDto> Save([FromBody] DogDto data)
        {
            if (data == null)
            {
                return(new BadRequestResult());
            }

            DogDto result = _dogService.Save(data);

            return(Ok(result));
        }
        private async Task GetSuggestion()
        {
            DogSuggestion = null;

            var apiResponse =
                await httpClient.GetAsync($"api/Dog?random=1");

            var response = await ApiResponse <List <DogDto> > .Create(apiResponse);

            DogSuggestion = response.Data.FirstOrDefault();
        }
Exemple #8
0
        private async Task LoadDogInformation()
        {
            DogInformation =
                await httpClient.GetFromJsonAsync <DogDto>($"/api/dog/getbyid?id={DogId}");

            DogPicture =
                Convert.ToBase64String(DogInformation.PictureFile);
            var extension = DogInformation.Picture.Substring(DogInformation.Picture.LastIndexOf(".") + 1);

            DogPictureType = extension == "svg" ? "svg+xml" : extension;
        }
Exemple #9
0
        public IActionResult EditADog(int id, DogDto dogDto)
        {
            var dog = GetDog(id);

            dog.Name   = dogDto.Name;
            dog.Age    = dogDto.Age;
            dog.Breed  = GetBreed(dogDto.BreedName);
            dog.Colour = GetColour(dogDto.ColourName);

            this.context.SaveChanges();
            return(RedirectToAction("ShowAllDogs"));
        }
Exemple #10
0
        private DogDto ConvertDogToDto(Dog dog)
        {
            DogDto dogDto = new DogDto();

            dogDto.Id         = dog.Id;
            dogDto.Name       = dog.Name;
            dogDto.Age        = dog.Age;
            dogDto.BreedName  = dog.Breed.Name;
            dogDto.ColourName = dog.Colour.Name;

            return(dogDto);
        }
Exemple #11
0
 public static Dog MapDogToEntity(DogDto dogDto)
 {
     return(new Dog
     {
         Age = dogDto.Age,
         DepositAt = dogDto.DepositAt,
         DogHouseId = dogDto.DogHouseId,
         Name = dogDto.Name,
         IsInDogHouse = dogDto.IsInDogHouse,
         Race = MapDogBreedToEntity(dogDto.Race)
     });
 }
Exemple #12
0
        public void PostDogWithInvalidImageShouldReturnBadRequest()
        {
            var dogDto = new DogDto

            {
                Breed     = DogBreed.German_Shepherd,
                Name      = "Major",
                ImageData = "invalid-base64-image",
            };

            Assert.Throws <BadRequestException>(() =>
                                                Controller.PostDog(dogDto, apiVersion));
        }
Exemple #13
0
        public void PutNonExistingDogShouldReturnNotFound()
        {
            var dogDto = new DogDto

            {
                Breed     = DogBreed.German_Shepherd,
                Name      = "Major",
                ImageData = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",
            };

            Assert.Throws <NotFoundException>(() =>
                                              Controller.PutDog(1, dogDto, apiVersion));
        }
Exemple #14
0
        public void PostDogShouldReturnCreated()
        {
            var dogDto = new DogDto

            {
                Breed     = DogBreed.German_Shepherd,
                Name      = "Major",
                ImageData = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",
            };

            var result = Controller.PostDog(dogDto, apiVersion);

            Assert.IsType <CreatedAtRouteResult>(result);
        }
Exemple #15
0
        public IActionResult CreateADog(DogDto dogDto)
        {
            Dog dog = new Dog();

            dog.Name   = dogDto.Name;
            dog.Age    = dogDto.Age;
            dog.Breed  = GetBreed(dogDto.BreedName);
            dog.Colour = GetColour(dogDto.ColourName);

            this.context.Dogs.Add(dog);
            this.context.SaveChanges();

            return(RedirectToAction("ShowAllDogs"));
        }
        public IActionResult PutDog([FromRoute] int id, [FromBody] DogDto dog)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != dog.Id)
            {
                return(BadRequest());
            }

            _dogService.Update(dog);

            return(NoContent());
        }
Exemple #17
0
        public void GetExistingDogShouldReturnOk()
        {
            var dogDto = new DogDto

            {
                Breed     = DogBreed.German_Shepherd,
                Name      = "Major",
                ImageData = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",
            };

            _ = Controller.PostDog(dogDto, apiVersion);

            var result = Controller.GetDog(1, apiVersion);

            Assert.IsType <OkObjectResult>(result);
        }
Exemple #18
0
        public IHttpActionResult CreateDog(DogDto dogDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var dog = Mapper.Map <DogDto, Dog>(dogDto);

            context.Dogs.Add(dog);
            context.SaveChanges();

            dogDto.Id = dog.Id;

            return(Created(new Uri(Request.RequestUri + "/" + dog.Id), dogDto));
        }
Exemple #19
0
        public void DepositDog_When_Dog_IsCallZoo()
        {
            var dalsy = new DogDto()
            {
                Name = "DALSY",
                Race = new DogBreedDto {
                    Name = "Rotweiler"
                },
                Age = 35
            };

            var dogService = new DogService(new RefactorDogMockRepository(), new TicketService());
            var message    = dogService.DepositDog(dalsy, "Esteve");

            Assert.AreEqual(message, MessagesDogs.DogCallZoo);
        }
Exemple #20
0
 public bool InsertDog(DogDto dog)
 {
     if (dog.Breeds != null)
     {
         dog.Breed = "Mixed Breed";
     }
     //Later return guid to determine success
     try
     {
         dogRepository.InsertRecord <DogDto>("Dog", dog);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
        public void Can_get_an_entity_from_a_dto()
        {
            var dto = new DogDto()
            {
                Id = 1, Age = 10, Name = "New Dog"
            };
            var expected = new Dog()
            {
                Id = 1, Age = 10, Name = "New Dog"
            };

            Expect.Call(_instancePlugin.Translate <DogDto, Dog>(dto)).Return(expected);
            _mockery.ReplayAll();

            var actual = Mechanisms.Translation.Translate.This(dto).Into <Dog>();

            _mockery.VerifyAll();
        }
Exemple #22
0
        // PUT api/dogs/5
        public IHttpActionResult UpdateDog(int id, DogDto dogDto)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            var dogFromDb = context.Dogs.FirstOrDefault(d => d.Id == id);

            if (dogFromDb == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            Mapper.Map(dogDto, dogFromDb);

            context.SaveChanges();
            return(Ok());
        }
Exemple #23
0
 public DogViewModel(DogDto dog)
 {
     Id            = dog.Id;
     Name          = dog.Name;
     Birthday      = dog.Birthday;
     Gender        = dog.Gender;
     Breed         = dog.Breed;
     Color         = dog.Color;
     ContactEmail  = dog.ContactEmail;
     ContactName   = dog.ContactName;
     GoodWithCats  = dog.GoodWithCats;
     GoodWithKids  = dog.GoodWithKids;
     CrateTrained  = dog.CrateTrained;
     Zipcode       = dog.Zipcode;
     Description   = dog.Description;
     StateLocation = dog.StateLocation;
     CityLocation  = dog.CityLocation;
     StreetAddress = dog.StreetAddress;
 }
Exemple #24
0
        public DogDto Save(DogDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException();
            }
            if (dto.DogId <= 0)
            {
                dto.DogId = 0;
                Dog dbo = _mapper.Map <Dog>(dto);
                _dogRepository.Insert(dbo);
            }
            else
            {
                Dog dbo = _dogRepository.GetById(dto.DogId);
                _mapper.Map(dto, dbo);
            }

            _uow.SaveChanges(new UnitOfWorkOptions());
            return(_mapper.Map <DogDto>(dbo));
        }
        //protected override async Task OnInitializedAsync()
        //{
        //    IsLoading = true;
        //    await GetSuggestion();
        //    await GetDogInformation();
        //}

        private async Task GetDogInformation()
        {
            DogData = null;

            var apiResponse =
                await httpClient.GetAsync($"api/Dog/{id}");

            var response = await ApiResponse <DogDto> .Create(apiResponse);

            if (response.Error != null)
            {
                navManager.NavigateTo("/dogs");
            }
            else
            {
                DogData        = response.Data;
                DogPicture     = Convert.ToBase64String(DogData.PictureFile);
                DogPictureType = DogData.Extension == "svg" ? "svg+xml" : DogData.Extension;
                IsLoading      = false;
            }
        }
Exemple #26
0
        public IActionResult PutDog(
            int id,
            [FromBody] DogDto dogDto,
            ApiVersion apiVersion)
        {
            if (dogDto == null)
            {
                throw new BadRequestException(ErrorMessage.INVALID_REQUEST);
            }

            if (dogDto.ImageData != null && dogDto.ImageUrl != null)
            {
                throw new BadRequestException(ErrorMessage.TOO_MANY_IMAGES);
            }

            DogEntity existingDog = _entityManager.GetDog(id);

            if (existingDog == null)
            {
                throw new NotFoundException();
            }

            try
            {
                existingDog.UpdateFromDto(dogDto);
            }
            catch (System.FormatException)
            {
                throw new BadRequestException(ErrorMessage.INVALID_IMAGE);
            }

            _entityManager.UpdateDog(id, existingDog);
            _entityManager.Save();

            return(CreatedAtRoute(
                       nameof(GetDog),
                       new { id, version = apiVersion.ToString() },
                       _dogMapper.ConvertToDto(existingDog, Url, apiVersion)));
        }
Exemple #27
0
        public void DeleteAllDogsShouldRemoveDog()
        {
            var dogDto = new DogDto

            {
                Breed     = DogBreed.German_Shepherd,
                Name      = "Major",
                ImageData = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",
            };

            for (int i = 0; i < 100; ++i)
            {
                _ = Controller.PostDog(dogDto, apiVersion);
            }

            var result = Controller.DeleteAllDogs(apiVersion);

            Assert.IsType <NoContentResult>(result);

            Assert.Throws <NotFoundException>(() =>
                                              Controller.GetDog(1, apiVersion));
        }
Exemple #28
0
        public bool Update(DogDto dog)
        {
            var dogEntity = _mapper.Map <DogDto, DogEntity>(dog);

            return(_dogRepository.Update(dogEntity));
        }
Exemple #29
0
        protected override async Task OnInitializedAsync()
        {
            await base.OnInitializedAsync();

            _dog = await DogEndpoint.Get(Name);
        }
Exemple #30
0
 private double GetCostDeposit(DogDto dog)
 {
     return((10 * dog.Age) * tax);
 }