示例#1
0
        public async Task <ActionResult> AddForwardingOrder([FromBody] ForwardingOrder forwardingOrder)
        {
            var addForwardingOrderResult = await forwardingOrderService.AddForwardingOrder(forwardingOrder);

            if (!addForwardingOrderResult.IsSuccessful)
            {
                return(BadRequest(addForwardingOrderResult));
            }

            return(Ok(addForwardingOrderResult));
        }
示例#2
0
        public async Task <ActionResult> UpdateForwardingOrder([FromBody] ForwardingOrder forwardingOrder, [FromRoute] int id)
        {
            var updateForwardingOrderResult = await forwardingOrderService.UpdateForwardingOrder(forwardingOrder, id);

            if (!updateForwardingOrderResult.IsSuccessful)
            {
                return(BadRequest(updateForwardingOrderResult));
            }

            return(Ok(updateForwardingOrderResult));
        }
示例#3
0
        public async Task <GenericResponse> UpdateForwardingOrder(ForwardingOrder forwardingOrder, int id)
        {
            if (forwardingOrder == null)
            {
                return(new GenericResponse(false, "Forwarding order has not been provided."));
            }

            var forwardingOrderToUpdate = await unitOfWork.ForwardingOrderRepository.GetForwardingOrderByIdAsync(id);

            if (forwardingOrderToUpdate == null)
            {
                return(new GenericResponse(false, "Forwarding order with given id does not exist."));
            }

            if (forwardingOrder.ForwardingOrderNumber != forwardingOrderToUpdate.ForwardingOrderNumber)
            {
                return(new GenericResponse(false, "Forwarding order number can't be modified."));
            }

            if (forwardingOrder.CreateDate != forwardingOrderToUpdate.CreateDate)
            {
                return(new GenericResponse(false, "Create date can't be modified."));
            }

            forwardingOrderToUpdate.AdditionalDescription = forwardingOrder.AdditionalDescription;
            forwardingOrderToUpdate.ForwarderId           = forwardingOrder.ForwarderId;

            try
            {
                await unitOfWork.ForwardingOrderRepository.UpdateForwardingOrder(forwardingOrderToUpdate);
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(new GenericResponse(false, ex.InnerException.Message));
            }
            catch (DbUpdateException ex)
            {
                return(new GenericResponse(false, ex.InnerException.Message));
            }
            return(new GenericResponse(true, "Forwarding order has been updated."));
        }
示例#4
0
        public async Task <ForwardingOrderResponse> AddForwardingOrder(ForwardingOrder forwardingOrder)
        {
            if (forwardingOrder == null)
            {
                return(new ForwardingOrderResponse(false, "No forwarding order has been provided.", null));
            }

            if (forwardingOrder.ForwardingOrderNumber != null)
            {
                return(new ForwardingOrderResponse(false, "Forwarding order number can't be provided manually.", null));
            }

            if (forwardingOrder.CreateDate != null)
            {
                return(new ForwardingOrderResponse(false, "Create date can't be provided manually.", null));
            }

            forwardingOrder.ForwardingOrderNumber = await GenerateForwardingOrderNumber();

            forwardingOrder.CreateDate = DateTime.Now;

            try
            {
                await unitOfWork.ForwardingOrderRepository.AddForwardingOrderAsync(forwardingOrder);
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(new ForwardingOrderResponse(false, ex.InnerException.Message, null));
            }
            catch (DbUpdateException ex)
            {
                return(new ForwardingOrderResponse(false, ex.InnerException.Message, null));
            }

            int?forwardingOrderId = forwardingOrder?.Id;

            return(new ForwardingOrderResponse(true, $"Utworzono zlecenie spedycji {forwardingOrder.ForwardingOrderNumber}", forwardingOrderId));
        }
示例#5
0
 public async Task RemoveForwardingOrder(ForwardingOrder forwardingOrder)
 {
     context.ForwardingOrders.Remove(forwardingOrder);
     await context.SaveChangesAsync();
 }
示例#6
0
 public async Task UpdateForwardingOrder(ForwardingOrder forwardingOrder)
 {
     context.ForwardingOrders.Update(forwardingOrder);
     await context.SaveChangesAsync();
 }
示例#7
0
        public async Task AddForwardingOrderAsync(ForwardingOrder forwardingOrder)
        {
            await context.ForwardingOrders.AddAsync(forwardingOrder);

            await context.SaveChangesAsync();
        }