public async Task <ServiceResponse <GetShelterDogDto> > AddShelterDog(UploadShelterDogDto shelterDogDto, IFormFile picture) { var serviceResponse = new ServiceResponse <GetShelterDogDto>(); var shelterDog = mapper.Map <ShelterDog>(shelterDogDto); byte[] data; if (picture is null) { serviceResponse.Successful = false; serviceResponse.StatusCode = StatusCodes.Status400BadRequest; serviceResponse.Message = "No picture was provided!"; } else { var pictureValidationResult = securityService.IsPictureValid(picture); if (pictureValidationResult.Successful) { using (var ms = new MemoryStream()) { picture.CopyTo(ms); data = ms.ToArray(); } shelterDog.Picture = new PictureDog() { FileName = picture.FileName, FileType = picture.ContentType, Data = data }; var repoResponse = await shelterDogRepository.AddShelterDog(shelterDog); serviceResponse = mapper.Map <ServiceResponse <GetShelterDogDto> >(repoResponse); if (!serviceResponse.Successful) { serviceResponse.StatusCode = StatusCodes.Status400BadRequest; } } else { serviceResponse.Successful = false; serviceResponse.StatusCode = StatusCodes.Status400BadRequest; serviceResponse.Message = pictureValidationResult.Message; } } return(serviceResponse); }
public async void AddingShelterDogSuccessfulForValidDogInfo() { var result = await shelterDogRepository.AddShelterDog(GetValidShelterDog()); Assert.True(result.Successful); }