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)); }
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); }
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 }); }