Example #1
0
        public async Task <ActionResult> Put(int id, [FromForm] CustomerCreationDTO customerCreationDTO)
        {
            var customerDB = await context.Customers.FirstOrDefaultAsync(x => x.Id == id);

            if (customerDB == null)
            {
                return(NotFound());
            }

            customerDB = mapper.Map(customerCreationDTO, customerDB);

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

                    var content   = memoryStream.ToArray();
                    var extension = Path.GetExtension(customerCreationDTO.Image.FileName);
                    customerDB.Image =
                        await fileStorageService.EditFile(content, extension, containerName,
                                                          customerDB.Image,
                                                          customerCreationDTO.Image.ContentType);
                }
            }

            await context.SaveChangesAsync();

            return(NoContent());
        }
Example #2
0
        public async Task <ActionResult> Post([FromForm] CustomerCreationDTO customerCreationDTO)
        {
            var customer = mapper.Map <Customer>(customerCreationDTO);

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

                    var content   = memoryStream.ToArray();
                    var extension = Path.GetExtension(customerCreationDTO.Image.FileName);
                    customer.Image =
                        await fileStorageService.SaveFile(content, extension, containerName,
                                                          customerCreationDTO.Image.ContentType);
                }
            }

            context.Add(customer);
            await context.SaveChangesAsync();

            var customerDTO = mapper.Map <CustomerDTO>(customer);

            return(new CreatedAtRouteResult("getCustomer", new { id = customer.Id }, customerDTO));
        }
        public async Task <bool> CreateCustomer(CustomerCreationDTO customerCreationDTO)
        {
            try
            {
                var _uri = new Uri(_baseUri, ApiStrings.CustomerUrl);
                await _genericRepository.PostAsync(_uri.AbsoluteUri, customerCreationDTO);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
        public async Task <IActionResult> CreateCustomer([FromBody] CustomerCreationDTO customer)
        {
            if (customer == null)
            {
                return(BadRequest());
            }

            var customerEntity = Mapper.Map <Customer>(customer);

            await _customerRepository.AddCustomerAsync(customerEntity);

            if (!await _customerRepository.SaveAsync())
            {
                throw new Exception("Creating a customer failed on save");
            }

            var customerToReturn = Mapper.Map <CustomerDTO>(customerEntity);

            return(CreatedAtRoute("GetCustomer",
                                  new { id = customerToReturn.Id },
                                  customerToReturn));
        }