Exemple #1
0
        public static string ExportOrdersByEmployee(FastFoodDbContext context, string employeeName, string orderType)
        {
            var sb   = new StringBuilder();
            var type = Enum.Parse <OrderType>(orderType);

            var employeeee = context.Employees
                             .Include(e => e.Orders)
                             .ThenInclude(o => o.OrderItems)
                             .Where(e => e.Name == employeeName).ToArray();

            EmployeeDto emp = new EmployeeDto();

            emp.Name = employeeee[0].Name;

            foreach (var order in employeeee[0].Orders.Where(o => o.Type == type))
            {
                var orderDto = new OrderDto()
                {
                    Customer = order.Customer
                };

                foreach (var item in order.OrderItems)
                {
                    var itemDto = new ItemDto()
                    {
                        Name     = item.Item.Name,
                        Price    = item.Item.Price,
                        Quantity = item.Quantity
                    };
                    orderDto.Items.Add(itemDto);
                }

                emp.Orders.Add(orderDto);
            }
            var result = emp.Orders.OrderByDescending(o => o.TotalPrice).ThenBy(o => o.Items.Count);
            //.Select(e=> new
            //{
            //	Name = e.Name,
            //	EmployeeId = e.Id,
            //	Orders = context.Orders
            //		.Where(o=>o.Type==type&& o.EmployeeId==e.Id)
            //		.Select(o=> new
            //		{
            //			Customer = o.Customer,
            //			Items = context.OrderItems.Where(oi=>oi.ItemId==o.Id)
            //				.Select(oi=> new
            //				{
            //					Name = context.Items.Where(i=>i.Id== oi.ItemId).Select(i=>i.Name),
            //					Price = context.Items.Where(i => i.Id == oi.ItemId).Select(i => i.Price),
            //				}).ToArray()
            //		}).ToArray()
            //}).ToArray();

            var json = JsonConvert.SerializeObject(result, Formatting.Indented);

            return(json);
        }
Exemple #2
0
		public static string ExportOrdersByEmployee(FastFoodDbContext context, string employeeName, string orderType)
		{
            var employees = context.Employees.Include(e => e.Orders).ThenInclude(e => e.OrderItems).ThenInclude(e => e.Item);

            var employee = employees.FirstOrDefault(e => e.Name == employeeName);
            var orders = employee.Orders.Where(e => e.Type == Enum.Parse<OrderType>(orderType)).ToList();

            var validOrderds = new List<OrderDto>();

            foreach (var order in orders)
            {
                decimal totalPrice = 0;
                var validItems = new List<ItemDto>();
                foreach (var item in order.OrderItems)
                {
                    var name = item.Item.Name;
                    var price = item.Item.Price;
                    var quantity = item.Quantity;
                    var itemDto = new ItemDto()
                    {
                        Name = name,
                        Price = price,
                        Quantity = quantity
                    };
                    totalPrice += item.Item.Price * item.Quantity;
                    validItems.Add(itemDto);
                }


                var orderDto = new OrderDto()
                {
                    Customer = order.Customer,
                    TotalPrice = totalPrice,
                    Items = validItems
                };
                validOrderds.Add(orderDto);
            }

            var result = new EmployeeOrderDto()
            {
                Name = employee.Name,
                Orders = validOrderds.OrderByDescending(e=>e.TotalPrice).ThenByDescending(e => e.Items.Count).ToList(),
                TotalMade = validOrderds.Sum(e => e.TotalPrice)
            };

            //var orderedResult = result.Orders.OrderByDescending(e => e.TotalPrice).ThenByDescending(e => e.Items.Count).ToList();

            var json = JsonConvert.SerializeObject(result,Formatting.Indented);
            return json;
		}
Exemple #3
0
        private static Category FindOrCreateCategory(FastFoodDbContext context, ItemDto itemDto)
        {
            var category = context.Categories.SingleOrDefault(c => c.Name == itemDto.Category);

            if (category == null)
            {
                var categ = new Category
                {
                    Name = itemDto.Category
                };

                context.Categories.Add(categ);
                context.SaveChanges();
            }

            return(category);
        }
Exemple #4
0
        private static Category GetCategory(FastFoodDbContext context, ItemDto itemDto)
        {
            var searchedCategory = context.Categories.FirstOrDefault(c => c.Name == itemDto.Category);

            if (searchedCategory == null)
            {
                var category = new Category
                {
                    Name = itemDto.Category
                };

                context.Categories.Add(category);
                context.SaveChanges();
                searchedCategory = category;
            }

            return(searchedCategory);
        }