コード例 #1
0
        public async Task <IActionResult> Create([FromBody] CustomerCreateUpdateDto customerDTO)
        {
            try
            {
                if (customerDTO == null)
                {
                    return(BadRequest());
                }

                var customerDomain = this.mapper.Map <Customer>(customerDTO);
                await this.customerRepository.CreateAsync(customerDomain);

                return(Ok());
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex.Message);
                return(StatusCode(500));
            }
        }
コード例 #2
0
        public IActionResult CreateUpdateCustomer(int?customerId, CustomerCreateUpdateDto customerCreateUpdateDto)
        {
            Customer customer = null;

            if (customerCreateUpdateDto == null)
            {
                return(BadRequest());
            }

            if (customerId != null)
            {
                customer = _customerRepo.GetCustomer(customerId);

                if (customer == null)
                {
                    return(StatusCode(404));
                }
            }
            else
            {
                customer = new Customer();
            }

            List <Order> newOrders = new List <Order>();

            if (customerCreateUpdateDto.Orders != null)
            {
                foreach (Order order in customerCreateUpdateDto.Orders)
                {
                    if (order.Id > 0)
                    {
                        Order existingOrder = _orderRepo.GetOrder(order.Id);
                        newOrders.Add(existingOrder);
                    }
                    else
                    {
                        newOrders.Add(order);
                    }
                }
                customer.Orders = newOrders;
            }

            if (customerCreateUpdateDto.Agent != null)
            {
                if (customerCreateUpdateDto.Agent.Id > 0)
                {
                    customer.Agent = _agentRepo.GetAgent(customerCreateUpdateDto.Agent.Id);
                }
                else
                {
                    customer.Agent = customerCreateUpdateDto.Agent;
                }
            }

            customer.Grade       = customerCreateUpdateDto.Grade;
            customer.City        = customerCreateUpdateDto.City;
            customer.Name        = customerCreateUpdateDto.Name;
            customer.PhoneNumber = customerCreateUpdateDto.PhoneNumber;
            customer.WorkingArea = customerCreateUpdateDto.WorkingArea;

            if (customer.Id > 0 ? _customerRepo.UpdateCustomer(customer) : _customerRepo.CreateCustomer(customer))
            {
                return(Ok(customer));
            }
            return(StatusCode(500));
        }
コード例 #3
0
        public async Task <IActionResult> Update([FromRoute][Range(1, int.MaxValue)][Required] int id, [FromBody] CustomerCreateUpdateDto customerDTO)
        {
            try
            {
                var custumers = await this.customerRepository.FindAsync(x => x.Id == id);

                var customer = custumers.FirstOrDefault();

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

                customer = this.mapper.Map <Customer>(customerDTO);
                await this.customerRepository.UpdateAsync(customer);

                return(Ok());
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex.Message);
                return(StatusCode(500));
            }
        }