示例#1
0
        /// <summary>
        /// Создание заявки
        /// </summary>
        public async Task <Order> CreateOrder(OrderCreationData data)
        {
            var orderId = Guid.NewGuid();

            var order = new Order
            {
                Id          = orderId,
                ProductId   = data.ProductId,
                ApplicantId = data.ApplicantId,
                State       = OrderState.New,
                DateAdd     = data.DateAdd
            };

            var context = new OrderContext
            {
                Ip                = data.Ip,
                OrderId           = orderId,
                Utm               = data.Utm,
                GoogleAnalyticsId = data.GoogleAnalyticsId,
                Region            = data.Region,
                Browser           = data.Browser,
                BrowserUserAgent  = data.BrowserUserAgent
            };

            await _ordersRepository.CreateOrder(order, context);

            return(order);
        }
 public static Dal.OrderCreationData ToDalOrderCreationData(this OrderCreationData creationData)
 {
     return(new Dal.OrderCreationData
     {
         Customer = creationData.Customer,
         Items = creationData.Items.Select(x => x.ToDalOrderItemManagementData()).ToList()
     });
 }
        public IActionResult Create(OrderCreationData request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Client client = GetClient();

            if (client == null)
            {
                return(Unauthorized());
            }

            int orders = _context.Orders
                         .Count(c => c.Id == client.Id && c.Status != 4);

            if (orders >= 5)
            {
                return(BadRequest(new
                {
                    message = "Vienu metu klientams leidžiama turėti maksimaliai 5 vykdomus užsakymus."
                }));
            }

            Order order = new Order
            {
                AddressId = request.AddressId,
                ClientId  = client.Id
            };

            foreach (int bookId in request.Books)
            {
                Book book = _context.Books.SingleOrDefault(c => c.Id == bookId);
                if (book == null)
                {
                    return(BadRequest(new
                    {
                        message = "Klaida kuriant užsakymą."
                    }));
                }

                order.Ordered.Add(new Ordered
                {
                    BookId  = book.Id,
                    OrderId = order.Id
                });
            }

            _context.Orders.Add(order);
            _context.SaveChanges();
            return(Ok(new
            {
                message = "Užsakymas sėkmingai sukurtas.",
                orderId = order.Id
            }));
        }
 public new void SetupTest()
 {
     _homePage = new HomePage(AutomatedBrowser.WebDriverInstance);
     _homeData = new HomeData();
     _resturantSelectionData  = new ResturantSelectionData();
     _resturantSelectionPage  = new ResturantSelectionPage(AutomatedBrowser.WebDriverInstance);
     _orderCreationPage       = new OrderCreationPage(AutomatedBrowser.WebDriverInstance);
     _orderCreationData       = new OrderCreationData();
     _paymentDetailsData      = new PaymentDetailsData();
     _paymentDetailsPage      = new PaymentDetailsPage(AutomatedBrowser.WebDriverInstance);
     _paymentConfirmationPage = new PaymentConfirmationPage(AutomatedBrowser.WebDriverInstance);
     _orderVerificationPage   = new OrderVerificationPage(AutomatedBrowser.WebDriverInstance);
 }
        public int Create(OrderCreationData creationData)
        {
            var orders = GetOrdersFromSession();
            int id     = new Random().Next();

            orders.Add(new Order
            {
                Id           = id,
                CreationDate = creationData.CreationDate,
                Customer     = creationData.Customer,
                Items        = creationData.Items.Select(x => x.ToOrderItem()).ToList(),
                Status       = creationData.Status
            });

            return(id);
        }
        public Task <int> Handle(CreateOrderCommand request, CancellationToken cancellationToken)
        {
            OrderCreationData dalOrderData = request.ToDalOrderCreationData();

            dalOrderData.CreationDate = DateTime.Now;
            dalOrderData.Status       = (short)OrderStatus.Pending;

            foreach (OrderItemManagementData item in dalOrderData.Items)
            {
                Product product = this.productsDataProvider.GetById(item.ProductId);

                item.ProductTitle = product.Title;
                item.Price        = product.Price;
            }

            return(Task.FromResult(this.ordersDataProvider.Create(dalOrderData)));
        }
示例#7
0
        public int Create(OrderCreationData order)
        {
            using (IDbConnection db = new SqlConnection(MsSqlHelper.GetConnectionString()))
            {
                string insertOrderQuery = @"INSERT INTO [dbo].[Orders]([CreationDate], [CustomerName], [CustomerPhone], [Status]) VALUES (@CreationDate, @CustomerName, @CustomerPhone, @Status); SELECT CAST(SCOPE_IDENTITY() as int);";

                int orderId = db.Query <int>(insertOrderQuery, new
                {
                    CreationDate  = order.CreationDate,
                    CustomerName  = order.Customer.Name,
                    CustomerPhone = order.Customer.Phone,
                    Status        = order.Status
                }).First();

                InsertOrderItems(db, order.Items, orderId);

                return(orderId);
            }
        }
        public int Create([FromBody] OrderCreationData order)
        {
            Dal.OrderCreationData dalOrderData = order.ToDalOrderCreationData();

            dalOrderData.CreationDate = DateTime.Now;
            dalOrderData.Status       = (short)OrderStatus.Pending;

            foreach (Dal.OrderItemManagementData item in dalOrderData.Items)
            {
                Product product = MessageQueue.SendMessage <Product>("GetProduct", new
                {
                    ProductId = item.ProductId
                }).Result;

                item.ProductTitle = product.Title;
                item.Price        = product.Price;
            }

            return(this.ordersDataProvider.Create(dalOrderData));
        }
        public int Create(OrderCreationData order)
        {
            int id = new Random().Next();

            GetOrdersSet().InsertOne(new Order
            {
                Id           = id,
                CreationDate = order.CreationDate,
                Customer     = order.Customer,
                Items        = order.Items.Select(x => new OrderModels.OrderItem
                {
                    Price        = x.Price,
                    ProductId    = x.ProductId,
                    ProductTitle = x.ProductTitle,
                    Quantity     = x.Quantity
                }).ToList(),
                Status = order.Status
            });

            return(id);
        }
        public async Task <int> Create(OrderCreationData order)
        {
            Identity identity = await this.restClient.Post <Identity>($"{this.ordersServiceApiUrl}/Create", order);

            return(int.Parse(identity.Id));
        }