예제 #1
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var order = Mapper.Map <OrderDTO>(await OrderGetService.GetAsync(new OrderIndentityModel((int)id)));

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

            var updateDto = new OrderUpdateDTO
            {
                Id         = order.Id,
                Arrived    = order.Arrived,
                CustomerId = order.Customer.Id,
                BookId     = order.Book.Id,
                Date       = order.Date
            };

            ViewData["BookId"]     = new SelectList(Mapper.Map <IEnumerable <BookDTO> >(await BookGetService.GetAsync()), "Id", "Title", updateDto.BookId);
            ViewData["CustomerId"] = new SelectList(Mapper.Map <IEnumerable <CustomerDTO> >(await CustomerGetService.GetAsync()), "Id", "FullName", updateDto.CustomerId);
            return(View(updateDto));
        }
예제 #2
0
        public async Task <OrderDTO> PatchAsync(OrderUpdateDTO order)
        {
            this.Logger.LogTrace($"{nameof(this.PutAsync)} called");

            var result = await this.OrderUpdateService.UpdateAsync(this.Mapper.Map <OrderUpdateModel>(order));

            return(this.Mapper.Map <OrderDTO>(result));
        }
예제 #3
0
        public async Task <IActionResult> Edit(int id, OrderUpdateDTO orderUpdate)
        {
            if (id != orderUpdate.Id)
            {
                return(NotFound());
            }

            var order = Mapper.Map <OrderDTO>(await OrderUpdateService.UpdateAsync(Mapper.Map <OrderUpdateModel>(orderUpdate)));

            return(Redirect($"/orders/{order.Id}"));
        }
예제 #4
0
        public void Update(Guid id, OrderUpdateDTO item)
        {
            if (id != item.Id)
            {
                return;
            }

            var order = _mapper.Map <Order>(item);

            _context.Update(order);
            _context.SaveChanges();
        }
예제 #5
0
        public async Task <IActionResult> Update([FromBody] OrderUpdateDTO orderDTO)
        {
            const string API_LOCATE = CONTROLLER_LOCATE + ".Update";

            try
            {
                var order = await _repository.GetOrder(orderDTO.OrderId);

                if (order is null)
                {
                    return(LogBadRequest(
                               _logger,
                               API_LOCATE,
                               customError: $"Что-то пошло не так, не удалось найти заказ.\n\tНомер заказа: {orderDTO.OrderId}"
                               ));
                }

                var status = await _repository.GetStatus(orderDTO.StatusId);

                if (status is null)
                {
                    return(LogBadRequest(
                               _logger,
                               API_LOCATE,
                               customError: $"Что-то пошло не так, не удалось найти данный статус заказа.\n\tНомер статуса: {orderDTO.StatusId}"
                               ));
                }

                order.Status      = status;
                order.Description = orderDTO.Description;

                await _repository.UpdateOrder(order);

                return(Success(true));
            }
            catch (Exception ex)
            {
                return(LogBadRequest(
                           _logger,
                           API_LOCATE,
                           exception: ex
                           ));
            }
        }