Ejemplo n.º 1
0
        public async Task <Guid> AddAsync(Order order)
        {
            var id     = Guid.NewGuid();
            var entity = new DAL.Entities.Order
            {
                CustomerName         = order.CustomerName,
                DateOrderedUtc       = order.DateOrderedUtc,
                ExpectedDeliveryDate = order.ExpectedDeliveryDate,
                Id = id
            };

            await context.AddAsync(entity);

            foreach (var lineItem in order.LineItems)
            {
                var lineItemEntity = new DAL.Entities.LineItem
                {
                    BookId    = lineItem.BookId,
                    Id        = Guid.NewGuid(),
                    BookPrice = lineItem.BookPrice,
                    NumBooks  = lineItem.NumBooks,
                    OrderId   = id
                };

                await context.AddAsync(lineItemEntity);
            }

            return(id);
        }
Ejemplo n.º 2
0
 public static IOrder Assemble(DAL.Entities.Order order)
 {
     return(new Order(order.Number, order.CustomerName, order.CustomerSurname, order.CustomerPhone, order.CustomerEmail,
                      order.City, order.PostDepartment, Assemble(order.PaymentType), Assemble(order.DeliveryType),
                      order.User == null ? null : order.User.Email, Assemble(order.OrderStatus), order.CreatingDateTime,
                      Assemble(order.Items.ToList())));
 }
Ejemplo n.º 3
0
        public IOrder GetOrderByNumber(string number)
        {
            DAL.Entities.Order found = repository.OrderRepository.
                                       GetAll().Where(order => order.Number == number).
                                       Include(order => order.User).
                                       Include(order => order.Items.Select(orderItem => orderItem.Item)).
                                       Include(IncludeNamesPath).
                                       FirstOrDefault();

            return(found == null ? null : Assembler.Assemble(found));
        }
Ejemplo n.º 4
0
        public void Can_Get_All_Orders()
        {
            //preparation - create new dbcontext with in-memory db
            using (var context = new RequestContext(CreateNewContextOptions()))
            {
                Request request = new Request
                {
                    Id        = 1111,
                    Price     = 10,
                    Quantity  = 1,
                    RequestId = 1,
                    ClientId  = 111,
                    Name      = "product1"
                };

                DAL.Entities.Order order = new DAL.Entities.Order
                {
                    OrderId   = 1,
                    ClientId  = request.ClientId,
                    RequestId = request.RequestId,
                    Amount    = request.Price * request.Quantity
                };

                request.Order = order;

                //adding order to db
                context.Requests.Add(request);
                context.Orders.Add(order);

                context.SaveChanges();

                var          service = new OrderService(context);
                List <Order> orders  = service.GetAllOrders().OrdersList;

                //assert - is quantity of orders equal 1
                Assert.AreEqual(1, orders.Count);
                //assert - check correct of insert data
                Assert.AreEqual(111, orders[0].ClientId);
            }
        }
Ejemplo n.º 5
0
 public void CreateOrder(ICreateOrderData createOrderData)
 {
     DAL.Entities.Order assembledOrder = AssembleOrder(createOrderData, orderNumberGenerator.GenerateNumber());
     repository.OrderRepository.Create(assembledOrder);
     repository.Save();
 }
Ejemplo n.º 6
0
 public void Update(Order file)
 {
     _context.Entry(file).State = EntityState.Modified;
 }
Ejemplo n.º 7
0
 public void Create(Order item)
 {
     _context.Set <Order>().Add(item
                                ?? throw new ArgumentNullException("Order must be not null!"));
 }