public async Task <IActionResult> GetRow(long orderId, long rowId)
        {
            OrderRowModel row = await _orders.GetRowInOrder(orderId, rowId);

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

            return(Ok(row));
        }
        public async Task <IActionResult> AddRow(long id, [FromBody] OrderRowModel row)
        {
            try
            {
                OrderRowModel createdRow = await _orders.AddRowToOrder(id, row);

                return(CreatedAtAction(
                           nameof(GetRow), new { orderId = id, rowId = createdRow.Id }, createdRow));
            }
            catch (EntityNotFoundException <OrderModel> )
            {
                return(NotFound());
            }
        }
Exemple #3
0
 public ActionResult Checkout(OrderModel model)
 {
     if (Session["order"] != null)
     {
         OrderModel.AddOrder(OrderModel.ConvertToOrder(model));
         var order = OrderModel.GetLastOrder();
         foreach (var item in Session["order"] as List <OrderRowModel> )
         {
             item.OrderId = order.Id;
             OrderRowModel.AddOrderRow(OrderRowModel.ConvertToOrderRow(item));
         }
         Session["order"] = null;
         return(RedirectToAction("Receipt"));
     }
     return(RedirectToAction("Index", "Home"));
 }
        public async Task <IActionResult> UpdateRow(long orderId, long rowId, [FromBody] OrderRowModel row)
        {
            try
            {
                await _orders.UpdateRowInOrder(orderId, rowId, row);

                return(NoContent());
            }
            catch (EntityNotFoundException <OrderRowModel> )
            {
                return(NotFound());
            }
            catch (EntityNotFoundException <OrderModel> )
            {
                return(NotFound());
            }
        }
        public async Task UpdateRowInOrder(long orderId, long rowId, OrderRowModel updatedRow)
        {
            if (await OrderExists(orderId) == false)
            {
                throw new EntityNotFoundException <OrderModel>(orderId);
            }

            OrderRow row = await _db.OrderRows.FirstOrDefaultAsync(r => r.OrderId == orderId && r.Id == rowId);

            if (row == null)
            {
                throw new EntityNotFoundException <OrderRowModel>(rowId);
            }

            updatedRow.MapTo(row);
            await _db.SaveChangesAsync();
        }
        public async Task <OrderRowModel> AddRowToOrder(long id, OrderRowModel model)
        {
            if (await OrderExists(id) == false)
            {
                throw new EntityNotFoundException <OrderModel>(id);
            }

            var row = new OrderRow();

            model.MapTo(row);

            row.OrderId = id;
            await _db.OrderRows.AddAsync(row);

            await _db.SaveChangesAsync();

            return(row.MapToDto());
        }
Exemple #7
0
        public bool AddOrderRow(OrderRowModel order)
        {
            using (var connection = new SqliteConnection(_connectionString))
            {
                try
                {
                    connection.Execute(
                        "INSERT INTO orderRows " +
                        "(guid, productName, productCount, productPrice) " +
                        "VALUES (@guid, @name, @count, @price)",
                        new { guid = order.Guid, name = order.ProductName, count = order.ProductCount, price = order.ProductPrice });
                }
                catch (Exception)
                {
                    return(false);
                }
            }

            return(true);
        }
Exemple #8
0
 public bool AddOrderRow(OrderRowModel orderRow)
 {
     return(_orderRepository.AddOrderRow(orderRow));
 }