예제 #1
0
 public List <Score> HistoryOfScoreByUserId(int userId)
 {
     using (PechkaContext work = new PechkaContext())
     {
         return(work.Scores.Where(u => u.UserId == userId).ToList());
     }
 }
예제 #2
0
 public Order GetUserOrderByDateAndUserId(DateTime date, int userId)
 {
     using (var work = new PechkaContext())
     {
         return
             (work.Orders.Include(u => u.Menu)
              .Include(u => u.User)
              .FirstOrDefault(u => u.UserId == userId && u.Menu.Date == date));
     }
 }
예제 #3
0
 public OrdersDTO GetOrdersForAdmin(DateTime date)
 {
     using (var work = new PechkaContext())
     {
         var result = new OrdersDTO();
         result.Orders = work.Orders.Include(u => u.User).Where(u => u.Menu.Date == date).ToList();
         result.Date   = date;
         result.CountOrdersWithFirst    = result.Orders.Count(u => u.WithFirst == true);
         result.CountOrdersWithoutFirst = result.Orders.Count(u => u.WithoutFirst == true);
         return(result);
     }
 }
예제 #4
0
 public bool UpdateUserOrder(MenuForUserDTO model, int userId)
 {
     using (var work = new PechkaContext())
     {
         var orderForUpdate = work.Orders.FirstOrDefault(u => u.MenuId == model.MenuId && u.UserId == userId);
         orderForUpdate.WithFirst    = model.OrderWithFirst != 0;
         orderForUpdate.WithoutFirst = model.OrderWithoutFirst != 0;
         work.Orders.AddOrUpdate(orderForUpdate);
         work.SaveChanges();
         return(true);
     }
 }
예제 #5
0
 public List <MenuDTO> GetAllMenuForAdmin()
 {
     using (var work = new PechkaContext())
     {
         var intermediateResult = work.Meny;
         var result             = intermediateResult.ToList().Select(item => item.ToMenuDTO()).ToList();
         result.Sort();
         result.Reverse();
         result.Add(new MenuDTO());
         return(result);
     }
 }
예제 #6
0
        public int?ChangeScoreByUserId(int userId, decimal newMoney)
        {
            var newScore = newMoney.ToScore(userId);

            using (PechkaContext work = new PechkaContext())
            {
                work.Scores.Add(newScore);
                work.SaveChanges();
                var temp = work.Scores.Where(u => u.UserId == userId).ToArray();
                return(temp[temp.Length - 1].Id);
            }
        }
예제 #7
0
        public void AddNewScore(int id)
        {
            Score newScore = new Score();

            newScore.Date   = DateTime.Now;
            newScore.Money  = 0;
            newScore.UserId = id;
            using (PechkaContext work = new PechkaContext())
            {
                work.Scores.Add(newScore);
            }
        }
예제 #8
0
 public bool AddNewOrder(MenuForUserDTO model, int userId)
 {
     using (var work = new PechkaContext())
     {
         var orderToAdd = new Order();
         orderToAdd.UserId       = userId;
         orderToAdd.MenuId       = model.MenuId;
         orderToAdd.WithoutFirst = model.OrderWithoutFirst != 0;
         orderToAdd.WithFirst    = model.OrderWithFirst != 0;
         work.Orders.Add(orderToAdd);
         work.SaveChanges();
         return(true);
     }
 }
예제 #9
0
 public MenuDTO GetMenu(int id)
 {
     using (var work = new PechkaContext())
     {
         var item = work.Meny.FirstOrDefault(u => u.Id == id);
         if (item != null)
         {
             return(item.ToMenuDTO());
         }
         else
         {
             return(null);
         }
     }
 }
예제 #10
0
 public bool UpdateMenu(MenuDTO model)
 {
     using (var work = new PechkaContext())
     {
         try
         {
             var thismenu = work.Meny.FirstOrDefault(u => u.Id == model.Id);
             thismenu.IsCompleted = model.ToMenu().IsCompleted;
             work.Meny.AddOrUpdate(thismenu);
             work.SaveChanges();
             return(true);
         }
         catch
         {
             return(false);
         }
     }
 }
예제 #11
0
 public List <MenuForUserDTO> GetMenuForUser(string email)
 {
     using (var work = new PechkaContext())
     {
         var userId = work.Users.FirstOrDefault(u => u.Email == email).Id;
         var menu   = work.Meny.ToList();
         foreach (var item in menu)
         {
             var elem = work.Reviews.Include(u => u.User).Where(u => u.MenuId == item.Id);
             item.Reviews = elem.Count() != 0 ? elem.ToList() : null;
             var order = work.Orders.FirstOrDefault(u => u.UserId == userId && u.MenuId == item.Id);
             if (order != null)
             {
                 item.Order.Add(order);
             }
         }
         return(menu.ToUserMenuDto());
     }
 }
예제 #12
0
 public bool AddNewMenu(MenuDTO model)
 {
     using (var work = new PechkaContext())
     {
         try
         {
             if (work.Meny.FirstOrDefault(u => u.Date == model.Date) == null)
             {
                 work.Meny.Add(model.ToMenu());
                 work.SaveChanges();
                 return(true);
             }
             return(false);
         }
         catch
         {
             return(false);
         }
     }
 }
예제 #13
0
        public bool AddNewReview(int userId, int menuId, string body)
        {
            var reviewToAdd = new Review();

            reviewToAdd.UserId = userId;
            reviewToAdd.MenuId = menuId;
            reviewToAdd.Body   = body;
            using (var work = new PechkaContext())
            {
                try
                {
                    work.Reviews.Add(reviewToAdd);
                    work.SaveChanges();
                    return(true);
                }
                catch
                {
                    return(false);
                }
            }
        }