Exemple #1
0
        public ActionResult PlaceOrder(int id, PlaceOrderDTO placeOrder)
        {
            try
            {
                ApplicationUser user = _userRepository.GetUserBy(User.Identity.Name);
                if (user is null || !user.Type.Equals(UserType.PASSENGER))
                {
                    return(Unauthorized());
                }

                Order order = new Order();
                placeOrder.OrderLines.ToList().ForEach(ol =>
                {
                    Product prod   = _shopRepository.GetProductById(ol.ProductId);
                    OrderLine line = new OrderLine(prod, ol.Amount);
                    order.OrderLines.Add(line);
                });
                order.Customer = (Passenger)user;
                _shopRepository.PlaceOrder(id, order);
                _shopRepository.SaveChanges();

                return(Ok(OrderDTO.FromOrder(order)));
            } catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemple #2
0
        public int PlaceOrder(PlaceOrderDTO dto, int userid)
        {
            var cart  = JsonConvert.DeserializeObject <List <CartDesc> >(dto.Cart);
            var order = new Order()
            {
                CustomerId    = userid,
                OrderDate     = DateTime.Now,
                PaymentType   = dto.PaymentType,
                Total         = dto.Total,
                OrderStatusId = (int)EnumOrderStatus.WaitingForConfirmation,
            };

            dBContext.Orders.Add(order);
            dBContext.SaveChanges();
            foreach (var item in cart)
            {
                dBContext.OrderDetails.Add(new OrderDetail()
                {
                    OrderId   = order.Id,
                    ProductId = item.ProductId,
                    Quantity  = item.Quantity
                });
            }

            dBContext.SaveChanges();

            return(order.Id);
        }
        public IActionResult PlaceOrder([FromBody] PlaceOrderDTO order, [FromServices] PlaceOrderCommand placeOrderCommand)
        {
            placeOrderCommand.Order = order;
            placeOrderCommand.Execute();

            return(NoContent());
        }
Exemple #4
0
 public Boolean PlaceOrder(PlaceOrderDTO placeOrderDto)
 {
     try
     {
         return(_ordersService.SaveOrder(placeOrderDto));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         return(false);
     }
 }
        public IActionResult Thankyou(PlaceOrderVM placeOrderVM)
        {
            var           config = new MapperConfiguration(cfg => cfg.CreateMap <PlaceOrderVM, PlaceOrderDTO>());
            var           mapper = new Mapper(config);
            PlaceOrderDTO dto    = mapper.DefaultContext.Mapper.Map <PlaceOrderDTO>(placeOrderVM);

            ViewBag.OrderId    = _userService.PlaceOrder(dto, placeOrderVM.User.Id);
            ViewBag.CustomerId = placeOrderVM.User.Id;
            _userService.SaveCard(placeOrderVM.User.Id, placeOrderVM.CardNo, placeOrderVM.CardExpiry, placeOrderVM.Cvv);
            ShowToaster("Order Placed successfully", ToasterLevel.Success);
            ViewBag.menu = JsonConvert.SerializeObject(GetCategory());
            return(View());
        }
Exemple #6
0
 public IHttpActionResult Post([FromBody] PlaceOrderDTO placeOrderDTO)
 {
     if (placeOrderDTO.Email != null)
     {
         if (cartBusinessOperations.CheckUserProductListBusiness(placeOrderDTO.Email))
         {
             return(Ok("Order(s) placed successfully!!"));
         }
         else
         {
             return(Ok("Order list is empty!!"));
         }
     }
     else
     {
         return(BadRequest("Login Again!!"));
     }
 }
Exemple #7
0
        public Boolean SaveOrder(PlaceOrderDTO placeOrderDto)
        {
            //payment
            String  paymentId = Guid.NewGuid().ToString();
            Payment payment   = new Payment();

            payment.paymentId = paymentId;
            //todo: add payment status initially
            payment.status = "NOT";
            db.Payments.Add(payment);
            db.SaveChanges();

            string orderId = Guid.NewGuid().ToString();
            Order  order   = new Order();

            order.orderId = orderId;
            //todo: set status
            order.status     = "INIT";
            order.customerId = placeOrderDto.customerId;
            order.paymentId  = paymentId;
            db.Orders.Add(order);
            db.SaveChanges();

            foreach (OrderItem orderItem in placeOrderDto.orderItemList)
            {
                OrderDetail orderDetail = new OrderDetail();
                string      detailId    = Guid.NewGuid().ToString();
                orderDetail.detailId = detailId;
                orderDetail.orderId  = orderId;
                orderDetail.price    = orderItem.price;
                orderDetail.qty      = orderItem.qty;
                orderDetail.itemCode = orderItem.itemCode;
                db.OrderDetails.Add(orderDetail);
                db.SaveChanges();
            }

            return(true);
        }