Пример #1
0
        public IActionResult Post([FromBody] OrderViewModels model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModels, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }
                    _repository.AddEntity(newOrder);

                    if (_repository.SaveAll())
                    {
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModels>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }

            catch (Exception ex)
            {
                _logger.LogError($"Falha para a salvar uma nova order: {ex}");
            }

            return(BadRequest("Falha para salvar nova ordem"));
        }
Пример #2
0
        public async Task <ActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                var order = _mapper.Map <OrderViewModel, Order>(model);
                if (order.OrderDate == DateTime.MinValue)
                {
                    order.OrderDate = DateTime.Now;
                }
                var currentUser = await _userManager.FindByNameAsync(User.Identity.Name);

                order.User = currentUser;
                _repo.AddEntity(order);
                if (ModelState.IsValid)
                {
                    if (_repo.SaveAll())
                    {
                        return(Created($"http://localhost:5000/api/orders/{order.Id}", _mapper.Map <Order, OrderViewModel>(order)));
                    }
                    return(BadRequest("Couldn't save"));
                }
                return(BadRequest(ModelState));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(BadRequest("Something went wrong"));
            }
        }
Пример #3
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            // add it to the db
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                if (newOrder.OrderDate == DateTime.MinValue)
                {
                    newOrder.OrderDate = DateTime.UtcNow;
                }

                _repository.AddEntity(newOrder);
                if (_repository.SaveAll())
                {
                    var vm = _mapper.Map <Order, OrderViewModel>(newOrder);
                    return(Created($"api/orders/{vm.OrderId}", vm));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to insert order {ex}");
                return(BadRequest($"Failed to insert order"));
            }
            return(BadRequest($"Failed to insert order"));
        }
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // build Order object from passed ViewModel object
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    // override OrderDate if not specified
                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }
                    _repo.AddEntity(newOrder);
                    if (_repo.SaveAll())
                    {
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (System.Exception ex)
            {
                _logger.LogCritical($"Failed to save new order: {ex}");
            }
            return(BadRequest("Failed to save new order"));
        }
Пример #5
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            //add it to db
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    _repository.AddEntity(model);
                    if (_repository.SaveAll())
                    {
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest("Failed to process order"));
        }
Пример #6
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll())
                    {
                        var vm = _mapper.Map <Order, OrderViewModel>(newOrder);
                        // For HTTP POST, we need to use created() instead of Ok() to give a 201 instead of 200
                        return(Created($"/api/orders/{newOrder.Id}", vm));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to get orders: {ex}");
                return(BadRequest("Failed to get orders"));
            }
            return(BadRequest("Failed to save new order"));
        }
Пример #7
0
        public async Task <IActionResult> PostOrder([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    var currentUser = await _userManager.FindByNameAsync(User.Identity.Name);

                    newOrder.User = currentUser;
                    _repository.AddEntity(newOrder);

                    if (_repository.SaveChanges())
                    {
                        return(Created($"/api/Orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }catch (Exception ex)
            {
                _logger.LogInformation($"Could not post the order{ex}!");
                return(BadRequest("Could not post the order"));
            }
            return(BadRequest("Failed to save order"));
        }
Пример #8
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var order = mapper.Map <OrderViewModel, Order>(model);

                    if (order.OrderDate == DateTime.MinValue)
                    {
                        order.OrderDate = DateTime.Now;
                    }

                    var currentUser = await userManager.FindByNameAsync(User.Identity.Name);

                    order.User = currentUser;

                    repository.AddEntity(order);
                    if (repository.SaveAll())
                    {
                        var viewModel = mapper.Map <Order, OrderViewModel>(order);
                        return(Created($"/api/orders/{viewModel.OrderId}", viewModel));
                    }
                }


                return(BadRequest(ModelState));
            }
            catch (Exception exception)
            {
                logger.LogError($"Failed to save a new order: {exception}");
                return(BadRequest());
            }
        }
Пример #9
0
 public IActionResult Post([FromBody] OrderViewModels model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var newOrder = _mapper.Map <OrderViewModels, Order>(model);
             if (newOrder.OrderDate == DateTime.MinValue)
             {
                 newOrder.OrderDate = DateTime.Now;
             }
             _respository.AddEntity(newOrder);
             if (_respository.SaveAll())
             {
                 return(Created($"api/Orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModels>(newOrder)));
             }
             else
             {
                 return(BadRequest($"Failed to save new order"));
             }
         }
         else
         {
             return(BadRequest(ModelState));
         }
     }
     catch (Exception er)
     {
         _logger.LogError($" Failed to save a new order {er}");
         return(BadRequest());
     }
 }
Пример #10
0
 public IActionResult Post([FromBody] OrderViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var newOrder = mapper.Map <OrderViewModel, Order>(model);
             _repository.AddEntity(newOrder);
             if (_repository.SaveAll())
             {
                 return(Created($"/api/orders/{model}", model));
             }
             else
             {
                 return(BadRequest(ModelState));
             }
         }
         else
         {
             return(BadRequest(ModelState));
         }
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.ToString());
         return(BadRequest());
     }
 }
Пример #11
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    repository.AddEntity(newOrder);
                    if (repository.SaveAll())
                    {
                        var vm = mapper.Map <Order, OrderViewModel>(newOrder);
                        return(Created($"/api/orders/{vm.OrderId}", vm));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest("failed to create new order"));
        }
Пример #12
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    await _repository.AddEntity(newOrder);

                    if (await _repository.SaveAll())
                    {
                        return(Created($"/api/Orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save order {ex}");
                return(BadRequest("Failed to save order"));
            }

            return(BadRequest("Not order saved"));
        }
Пример #13
0
 public IActionResult Post([FromBody] OrderViewModel model)
 {
     //add it to database
     try
     {
         //if (ModelState.IsValid)
         //{ }
         var newOrder = new Order()
         {
             OrderDate   = model.OrderDate,
             OrderNumber = model.OrderNumber,
             Id          = model.OrderId
         };
         if (newOrder.OrderDate == DateTime.MinValue)
         {
             newOrder.OrderDate = DateTime.Now;
         }
         _repository.AddEntity(model);
         _repository.SaveAll();
         var vm = new OrderViewModel()
         {
             OrderId     = newOrder.Id,
             OrderDate   = newOrder.OrderDate,
             OrderNumber = newOrder.OrderNumber
         };
         return(Created($"/api/orders/{vm.OrderId}", vm));
     }
     catch (Exception ex)
     {
         _logger.LogError($"Failed to save new order: {ex}");
         return(BadRequest("Failed"));
     }
 }
Пример #14
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            // Add it to the DB.
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    // This means the order date was not specified.
                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }
                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll())
                    {
                        var vm = _mapper.Map <Order, OrderViewModel>(newOrder);
                        return(Created($"/api/orders/{vm.OrderId}", vm));
                    }
                }
                else
                {
                    BadRequest(ModelState);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest("Failed to save a new order"));
        }
Пример #15
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    newOrder.User = await userManager.FindByNameAsync(User.Identity.Name);

                    repository.AddEntity(newOrder);
                    if (repository.SaveAll())
                    {
                        return(Created($"/app/orders/{newOrder.Id}", mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Failed add orders: {ex}");
            }
            return(BadRequest("Failed add orders"));
        }
Пример #16
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    var currentUser = await _userManager.FindByNameAsync(userName : "******");

                    newOrder.User = currentUser;


                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll())
                    {
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }
            return(BadRequest("Failed to save new order"));
        }
Пример #17
0
        [HttpPost]                         //Maps
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            //add it to database
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    //Validate new order
                    if (newOrder.OrderDate == DateTime.Now)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    _repository.AddEntity(newOrder);

                    if (_repository.SaveAll())
                    {
                        //Pass new data through this url
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    BadRequest(ModelState);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save new order: {ex}.");
            }
            return(BadRequest("Failed to save new order."));
        }
Пример #18
0
        public IActionResult Post(int orderId, [FromBody] OrderItemViewModel model)
        {
            try
            {
                // Ensure model state is valid.
                if (ModelState.IsValid)
                {
                    // Creater map the ViewModel back to an OrderItem.
                    var newOrderItem = mapper.Map <OrderItemViewModel, OrderItem>(model);

                    // Add the newOrderItem object into the database.
                    repository.AddEntity(newOrderItem);
                    // return a 201 response if it successfully saves to database.
                    if (repository.SaveAll())
                    {
                        // convert Order back to ViewModel to be returned. Also generate custom URI.
                        return(Created($"/api/orders/{orderId}/items/{newOrderItem.Id}", mapper.Map <OrderItem, OrderItemViewModel>(newOrderItem)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest("Failed to save new order"));
        }
Пример #19
0
        public async Task <IActionResult> AddOrder([FromBody] OrderViewModel orderDetails)
        {
            //we can use [FromQuery] [FromRoute] in function it self
            //for validting the model - we have created new View Model and replaced it in the request
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = new Order()
                    {
                        OrderDate   = orderDetails.OrderDate,
                        OrderNumber = orderDetails.OrderNumber,
                        Id          = orderDetails.OrderId
                    };

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    var currentUser = await _userManager.FindByNameAsync(User.Identity.Name);

                    newOrder.User = currentUser;

                    _repo.AddEntity(newOrder);
                    if (_repo.SaveAll())
                    {
                        var viewModel = new OrderViewModel()
                        {
                            OrderDate   = newOrder.OrderDate,
                            OrderId     = newOrder.Id,
                            OrderNumber = newOrder.OrderNumber
                        };
                        return(Created($"/api/orders/{viewModel.OrderId}", viewModel));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Failed to add the new order: {ex}");
            }
            return(BadRequest($"Failed to add the new order."));
        }
Пример #20
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model) // If tag FromBody is not given the data is tried to get from the url querystring and not from the post body
        {
            // Add to the db
            try
            {
                if (ModelState.IsValid) // Validation is defined in the OrderViewModel
                {
                    // Without AutoMapper convert Order View Model to an order
                    //var newOrder = new Order()
                    //{
                    //    OrderDate = model.OrderDate,
                    //    OrderNumber = model.OrderNumber,
                    //    Id = model.OrderId
                    //};
                    // With AutoMapper convert Order View Model to an order
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    // Validation if OrderDate has been specified
                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    // New orders should be assigned to a specific user
                    // User.Identity.Name is just a claim and not the actual user object from the db; therefore we need to get it
                    var currentUser = await _userManager.FindByNameAsync(User.Identity.Name); // due to await the method must return an async Task

                    newOrder.User = currentUser;

                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll()) // The SaveAll will safe the new order in the db, where it will gets its Id generated
                    {
                        // Without AutoMapper convert the new order back to a order view model
                        //var vm = new OrderViewModel()
                        //{
                        //    OrderId = newOrder.Id,
                        //    OrderDate = newOrder.OrderDate,
                        //    OrderNumber = newOrder.OrderNumber
                        //};
                        //return Created($"/api/orders/{vm.OrderId}", vm); // You have to return Created instead of Ok when a new object has been created

                        // With AutoMapper convert the new order back to a order view model
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder))); // You have to return Created instead of Ok when a new object has been created
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest("Failed to save new order"));
        }
Пример #21
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            // add it to the db
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = mapper.Map <OrderViewModel, Order>(model);

                    //var newOrder = new Order()
                    //{
                    //    OrderDate = model.OrderDate,
                    //    OrderNumber = model.OrderNumber,
                    //    Id = model.OrderId
                    //};

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    var currentUser = await userManager.FindByNameAsync(User.Identity.Name);

                    newOrder.User = currentUser;

                    repository.AddEntity(newOrder);

                    if (repository.SaveAll())
                    {
                        //var vm = mapper.Map<Order, OrderViewModel>(newOrder);

                        //var vm = new OrderViewModel()
                        //{
                        //    OrderId = newOrder.Id,
                        //    OrderNumber = newOrder.OrderNumber,
                        //    OrderDate = newOrder.OrderDate
                        //};

                        return(Created($"/api/orders/{newOrder.Id}", mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception e)
            {
                logger.LogError($"Failed to save a new order: {e}");
            }

            return(BadRequest("Failed to save a new order"));
        }
Пример #22
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //because we are using a viewmodel we have to go through the trouble to create a new model order

                    //var newOrder = new Order
                    //{
                    //    OrderDate = model.OrderDate,
                    //    OrderNumber = model.OrderNumber,
                    //    Id = model.OrderId
                    //};

                    var newOrder = mapper.Map <OrderViewModel, Order>(model);
                    //if user didnt specify a datetime

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }


                    repository.AddEntity(newOrder);

                    if (repository.SaveAll())

                    {
                        //var vm = new OrderViewModel()
                        //{
                        //    OrderId = newOrder.Id,
                        //    OrderDate = newOrder.OrderDate,
                        //    OrderNumber = newOrder.OrderNumber
                        //};

                        //return Created($"/api/orders/{vm.OrderId}", vm);

                        return(Created($"/api/orders/{newOrder.Id}", mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Failed to get orders:{ex}");
            }

            return(BadRequest("Failed to save new order"));
        }
Пример #23
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // Build the order from the view model
                    var newOrder = new Order()
                    {
                        OrderDate   = model.OrderDate,
                        OrderNumber = model.OrderNumber,
                        Id          = model.OrderId
                    };

                    // Order validation and data cleanup
                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    // Get and assign the current user to the order
                    var currentUser = await userManager.FindByNameAsync(User.Identity.Name);

                    newOrder.User = currentUser;

                    // Add Entity
                    repository.AddEntity(newOrder);

                    // If successfully saved extract the new order back int a VM for view return
                    if (repository.SaveAll())
                    {
                        var vm = new OrderViewModel()
                        {
                            OrderId     = newOrder.Id,
                            OrderDate   = newOrder.OrderDate,
                            OrderNumber = newOrder.OrderNumber
                        };

                        return(Created($"api/orders/{vm.OrderId}", vm));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Failed to add to database {ex}");
            }

            return(BadRequest("Failed to add to database"));
        }
Пример #24
0
        public async Task <IActionResult> Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // We can't pass a DTO to a DB so we have to convert it an Order Model
                    //var newOrder = new Order()
                    //{
                    //    OrderDate = model.OrderDate,
                    //    OrderNumber = model.OrderNumber,
                    //    Id = model.OrderId
                    //};

                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    // Check if date specified otherwise set it.
                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.UtcNow;
                    }

                    var currentUser = await _userManager.FindByNameAsync(User.Identity.Name);

                    newOrder.User = currentUser;

                    _repository.AddEntity(newOrder);

                    if (_repository.SaveAll())
                    {
                        // Convert Order back to VM
                        // An alternative of this hole approach is to use AutoMapper
                        //var vm = new OrderViewModel()
                        //{
                        //    OrderId = newOrder.Id,
                        //    OrderDate = newOrder.OrderDate,
                        //    OrderNumber = newOrder.OrderNumber
                        //};
                        return(Created($"/api/orders/{newOrder.Id}", _mapper.Map <Order, OrderViewModel>(newOrder)));
                    }
                }

                return(BadRequest(ModelState));
            }
            catch (Exception e)
            {
                _logger.LogError($"Failed to save the order to the db {e}");
            }
            return(BadRequest("Failed to save the order"));
        }
Пример #25
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            //add it to the DB
            try
            {
                if (ModelState.IsValid)
                {
                    var newOrder = new Order()
                    {
                        OrderDate   = model.OrderDate,
                        OrderNumber = model.OrderNumber,
                        Id          = model.OrderId
                    };

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll())
                    {
                        ;
                    }
                    {
                        var vm = new OrderViewModel()
                        {
                            OrderId     = newOrder.Id,
                            OrderDate   = newOrder.OrderDate,
                            OrderNumber = newOrder.OrderNumber
                        };

                        return(Created($"/api/orders/{vm.OrderId}", vm));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order : {ex}");
            }

            return(BadRequest("failed to Save Orders"));
        }
Пример #26
0
        public async Task <IActionResult> PostOrder([FromBody] OrderViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                else
                {
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    //min means they did not specify anything

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }

                    var currentUser = await _userManager.FindByNameAsync(User.Identity.Name);

                    newOrder.User = currentUser;
                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll())
                    {
                        //var vm = new OrderViewModel()
                        //{
                        //    OrderNumber = newOrder.OrderNumber,
                        //    OrderDate = newOrder.OrderDate,
                        //    OrderId = newOrder.Id
                        //};

                        //created is 201 you could pas the order but below
                        return(CreatedAtAction("GetOrder", new { id = newOrder.Id }, _mapper.Map <Order, OrderViewModel>(newOrder)));
                        //return Created($"/api/orders/{model.Id}", model);
                    }
                    _logger.LogError("Failed to save a new order, something wrong happened");
                    return(null);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
                throw;
            }
        }
        public IActionResult Post([FromBody] Order model)
        {
            //add it to the db
            try
            {
                _repository.AddEntity(model);
                if (_repository.SaveAll())
                {
                    return(Created($"/api/orders/{model.Id}", model));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest("Failed to save the new order"));
        }
Пример #28
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            // FromBody attribute overrides default of grabbing model from URL text.
            try
            {
                if (ModelState.IsValid)
                {
                    // Maps OrderViewModel from request to Order entity for operations.
                    var orderEntity = _mapper.Map <OrderViewModel, Order>(model);

                    // If date not specified, overwrite it.
                    if (orderEntity.OrderDate == DateTime.MinValue)
                    {
                        orderEntity.OrderDate = DateTime.Now;
                    }

                    // Takes data and attaches to context.
                    _repository.AddEntity(orderEntity);

                    // Saves changes made in context.
                    if (_repository.SaveAll())
                    {
                        // Maps Order entity back to OrderViewModel for response request.
                        var returnModel = _mapper.Map <Order, OrderViewModel>(orderEntity);

                        // HTTP requires POST to return 'Created' 201 response if object created.
                        return(Created($"/api/order/{returnModel.OrderId}", returnModel));
                        // URI sent back in case consumer needs to keep track whether they have most recent.
                    }
                }
                else
                {
                    // Exposes errors in model state from the data request to sender.
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Orders.Post(order) failed: {ex}");
            }

            return(BadRequest($"Failed to save a new order"));
        }
Пример #29
0
        public IActionResult Post([FromBody] OrderViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //var newOrder = new Order()
                    //{
                    //    OrderDate = model.OrderDate,
                    //    OrderNumber = model.OrderNumber,
                    //    Id = model.OrderId
                    //};
                    var newOrder = _mapper.Map <OrderViewModel, Order>(model);

                    if (newOrder.OrderDate == DateTime.MinValue)
                    {
                        newOrder.OrderDate = DateTime.Now;
                    }
                    _repository.AddEntity(newOrder);
                    if (_repository.SaveAll())
                    {
                        //var vm = new OrderViewModel()
                        //{
                        //    OrderId = newOrder.Id,
                        //    OrderDate = newOrder.OrderDate,
                        //    OrderNumber = newOrder.OrderNumber
                        //};

                        var vm = _mapper.Map <Order, OrderViewModel>(newOrder);
                        return(Created($"/api/orders/{vm.OrderId}", vm));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }
            return(BadRequest("Failed to save a new order"));
        }
Пример #30
0
        public IActionResult Post([FromBody] Order model)
        {
            _logger.LogInformation("In the post method");
            // add it to the database
            try
            {
                _repository.AddEntity(model);
                if (_repository.SaveAll())
                {
                    return(Created($"/api/orders/{model.Id}", model));
                }
            }
            catch (Exception e)
            {
                _logger.LogError($"The post failed with error {e}");
                return(Problem($"Got an error writing to db {e}"));
            }

            return(BadRequest("Failed to save new order"));
        }