Пример #1
0
        public ActionResult UpdateProducer(int id, ProducerCreateDto producerCreateDto)
        {
            var producerFromRepo = repository.GetById(x => x.Id == id, y => y.Products);

            if (producerFromRepo == null)
            {
                return(NotFound());
            }
            mapper.Map(producerCreateDto, producerFromRepo.Result);
            repository.Update(producerFromRepo.Result);
            repository.SaveChanges();
            return(NoContent());
        }
Пример #2
0
        public async Task <ActionResult <ProducerDto> > CreateProducer([FromForm] ProducerCreateDto producerCreateDto)
        {
            var producer = mapper.Map <Producer>(producerCreateDto);

            if (producerCreateDto.Logo != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await producerCreateDto.Logo.CopyToAsync(memoryStream);

                    var content   = memoryStream;
                    var extension = Path.GetExtension(producerCreateDto.Logo.FileName);
                    producer.Logo =
                        await fileStorage.SaveFile(content, extension, containerName);
                }
            }

            repository.Create(producer);
            repository.SaveChangesAsync();
            var producerDto = mapper.Map <ProducerDto>(producer);

            return(CreatedAtRoute(nameof(GetProducerById), new { producerDto.Id }, producerDto));
        }