예제 #1
0
        public async Task <Guid> Create([FromBody] AnimalSaveDto animalSaveDto)
        {
            var userEmail = User.FindFirstValue(ClaimTypes.Name);
            var user      = await userAppService.Get(userEmail);

            return(await animalAppService.Create(animalSaveDto, user));
        }
예제 #2
0
        public async Task <Guid> Create(AnimalSaveDto animalSaveDto, UserDto userDto)
        {
            var files = animalSaveDto.Files
                        .Select(f => new { FileDTO = f, File = fileBuilder.Build(f) })
                        .ToArray();

            await Task.WhenAll(files.Select(f => fileStorageService.Save(
                                                new MemoryStream(Convert.FromBase64String(f.FileDTO.FileInBase64)),
                                                f.File.WayToFile)));

            var animal = animalBuilder.Build(animalSaveDto, files.Select(f => f.File)
                                             .ToArray(), userBuilder.Build(userDto));

            await animalDataService.AddAsync(animal);

            return(animal.Id);
        }
예제 #3
0
 public Animal Build(AnimalSaveDto animal, IEnumerable <File> files, User owner)
 {
     return(new Animal
     {
         Id = Guid.NewGuid(),
         AnimalType = animal.AnimalType,
         BDate = animal.BDate,
         Description = animal.Description,
         Name = animal.Name,
         Passport = animal.Passport,
         Sterilization = animal.Sterilization,
         Vaccination = animal.Vaccination,
         Kind = animal.Kind,
         Sex = (Sex)animal.Sex,
         Files = files.ToArray(),
         UserId = owner.Id
     });
 }