Example #1
0
        /// <summary>
        /// Update item in db
        /// </summary>
        /// <param name="itUpdated"></param>
        public void UpdateItem(Item itUpdated)
        {
            using (PoolContext db = new PoolContext())
            {
                // Getting the item with given id
                Item toUdpate =
                    db.Items.FirstOrDefault(item => item.ItemId == itUpdated.ItemId);

                if (toUdpate != null)
                {
                    // Update the detaild

                    // Checking if the name have to be updated
                    if (toUdpate.Name != itUpdated.Name)
                    {
                        // Checking that the new name doesn't already exists
                        if (this.DoesItemNameAlreadyExists(itUpdated.Name))
                        {
                            throw new Exception("מוצר עם השם " + itUpdated.Name + " כבר קיים במערכת");
                        }
                    }

                    toUdpate.Name  = itUpdated.Name;
                    toUdpate.Price = itUpdated.Price;

                    // Save changes
                    this.SafeSave(db);
                }
            }
        }
Example #2
0
 public void AddOrder(Order orderToAdd)
 {
     using (PoolContext db = new PoolContext())
     {
         db.Orders.AddObject(orderToAdd);
         db.SaveChanges();
     }
 }
Example #3
0
 public void AddItem(Item itToAdd)
 {
     using (PoolContext db = new PoolContext())
     {
         db.Items.AddObject(itToAdd);
         db.SaveChanges();
     }
 }
Example #4
0
 public void AddItemsToOrder(ItemsToOrder toAdd)
 {
     using (PoolContext db = new PoolContext())
     {
         db.ItemsToOrders.AddObject(toAdd);
         db.SaveChanges();
     }
 }
Example #5
0
 public void AddItems(List <Item> m_lstTempItems)
 {
     using (PoolContext db = new PoolContext())
     {
         foreach (Item item in m_lstTempItems)
         {
             db.Items.AddObject(item);
             db.SaveChanges();
         }
     }
 }
Example #6
0
        public void DeleteItem(Item itToDelete)
        {
            using (PoolContext db = new PoolContext())
            {
                // Getting the item with given id
                Item toDelete =
                    db.Items.First(item => item.ItemId == itToDelete.ItemId);

                db.Items.DeleteObject(toDelete);
                db.SaveChanges();
            }
        }
Example #7
0
 /// <summary>
 /// Save safely data to db
 /// </summary>
 /// <param name="db"></param>
 private void SafeSave(PoolContext db)
 {
     try
     {
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         // TODO: write to log
         throw new Exception("שגיאה ארעה בשמירת הנתונים", ex);
     }
 }
Example #8
0
        public void DeleteOrder(Order orderToDelete)
        {
            using (PoolContext db = new PoolContext())
            {
                // Getting the item with given id
                Order toDelete =
                    db.Orders.First(order => order.OrderId == orderToDelete.OrderId);

                db.Orders.DeleteObject(toDelete);
                db.SaveChanges();
            }
        }
Example #9
0
        /// <summary>
        /// Add order to db
        /// </summary>
        /// <param name="orderToAdd"></param>
        public void AddOrder(Order orderToAdd)
        {
            using (PoolContext db = new PoolContext())
            {
                foreach (ItemsToOrder currentItem in orderToAdd.ItemsToOrder)
                {
                    db.Items.Attach(currentItem.Item);
                }

                db.Orders.AddObject(orderToAdd);
                this.SafeSave(db);
            }
        }
Example #10
0
        public void AddOrder(Order orderToAdd)
        {
            using (PoolContext db = new PoolContext())
            {
                foreach (ItemsToOrder item in orderToAdd.ItemsToOrder)
                {
                    item.Item = null;
                }

                db.Orders.AddObject(orderToAdd);
                db.SaveChanges();
            }
        }
Example #11
0
        public List <Item> GetAllItems()
        {
            List <Item> list = new List <Item>();

            using (PoolContext db = new PoolContext())
            {
                var query = from item in db.Items
                            select item;

                list = query.ToList <Item>();
            }

            return(list);
        }
Example #12
0
        public List <Order> GetAllOrders()
        {
            List <Order> list = new List <Order>();

            using (PoolContext db = new PoolContext())
            {
                var query = from order in db.Orders.Include("ItemsToOrder.Item")
                            select order;

                list = query.ToList <Order>();
            }

            return(list);
        }
Example #13
0
        /// <summary>
        /// Add item to db
        /// </summary>
        /// <param name="itToAdd"></param>
        public void AddItem(Item itToAdd)
        {
            // Checking that item with same name doesn't exist
            if (this.DoesItemNameAlreadyExists(itToAdd.Name))
            {
                throw new Exception("מוצר עם השם " + itToAdd.Name + " כבר קיים במערכת");
            }

            using (PoolContext db = new PoolContext())
            {
                db.Items.AddObject(itToAdd);

                this.SafeSave(db);
            }
        }
Example #14
0
        /// <summary>
        /// Delete item from db
        /// </summary>
        /// <param name="itToDelete"></param>
        public void DeleteItem(Item itToDelete)
        {
            using (PoolContext db = new PoolContext())
            {
                // Getting the item with given id
                Item toDelete =
                    db.Items.FirstOrDefault(item => item.ItemId == itToDelete.ItemId);

                if (toDelete != null)
                {
                    db.Items.DeleteObject(toDelete);
                    this.SafeSave(db);
                }
            }
        }
Example #15
0
        public void UpdateItem(Item itUpdated)
        {
            using (PoolContext db = new PoolContext())
            {
                // Getting the item with given id
                Item toUdpate =
                    db.Items.First(item => item.ItemId == itUpdated.ItemId);

                // Update the detaild
                toUdpate.Name  = itUpdated.Name;
                toUdpate.Price = itUpdated.Price;

                // Save changes
                db.SaveChanges();
            }
        }
Example #16
0
        /// <summary>
        /// Get specific order by date time start and end
        /// </summary>
        /// <param name="dtStart">Start date time</param>
        /// <param name="dtEnd">End date time</param>
        /// <returns></returns>
        public List <Order> GetOrdersByDate(DateTime dtStart, DateTime dtEnd)
        {
            List <Order> list = new List <Order>();

            using (PoolContext db = new PoolContext())
            {
                var query = from order in db.Orders.Include("ItemsToOrder.Item")
                            where order.Date >= dtStart &&
                            order.Date <= dtEnd
                            select order;

                list = query.ToList <Order>();
            }

            return(list);
        }
Example #17
0
        /// <summary>
        /// Checking item with the given name already exists in db
        /// </summary>
        /// <param name="ItemName"></param>
        /// <returns></returns>
        private bool DoesItemNameAlreadyExists(string ItemName)
        {
            bool bDoesExists = false;

            using (PoolContext db = new PoolContext())
            {
                var query = from item in db.Items
                            where item.Name == ItemName
                            select item;

                if (query.Count() > 0)
                {
                    bDoesExists = true;
                }
            }

            return(bDoesExists);
        }
Example #18
0
        public void UpdateOrder(Order orderToUpdate)
        {
            using (PoolContext db = new PoolContext())
            {
                // Getting the item with given id
                Order toUpdate =
                    db.Orders.Include("ItemsToOrder.Item").First(order => order.OrderId == orderToUpdate.OrderId);

                toUpdate.Date          = orderToUpdate.Date;
                toUpdate.GameHoursTime = orderToUpdate.GameHoursTime;

                // Compare the list of items to order
                int        nIndex          = 0;
                List <int> toDeleteIndexes = new List <int>();

                foreach (ItemsToOrder current1 in toUpdate.ItemsToOrder)
                {
                    bool bIsStillExists = false;


                    // Checking it exists in the update list
                    foreach (ItemsToOrder current2 in orderToUpdate.ItemsToOrder)
                    {
                        if ((current1.ItemId == current2.ItemId) &&
                            (current1.OrderId == current2.OrderId))
                        {
                            current1.Amount = current2.Amount;
                            bIsStillExists  = true;

                            break;
                        }
                    }


                    if (!bIsStillExists)
                    {
                        toDeleteIndexes.Add(nIndex);
                    }

                    ++nIndex;
                }

                // Delete all the not existsing elements
                foreach (int nCurrentIndex in toDeleteIndexes)
                {
                    toUpdate.ItemsToOrder.RemoveAt(nCurrentIndex);
                }


                List <ItemsToOrder> lstToAdd = new List <ItemsToOrder>();

                foreach (ItemsToOrder current1 in orderToUpdate.ItemsToOrder)
                {
                    bool bIsNewElement = true;

                    // Checking it exists in the update list
                    foreach (ItemsToOrder current2 in toUpdate.ItemsToOrder)
                    {
                        if ((current1.ItemId == current2.ItemId) &&
                            (current1.OrderId == current2.OrderId))
                        {
                            current1.Amount = current2.Amount;
                            bIsNewElement   = false;
                            break;
                        }
                    }


                    if (bIsNewElement)
                    {
                        lstToAdd.Add(current1);
                    }
                }

                // Adding all the new elements
                foreach (ItemsToOrder currentToAdd in lstToAdd)
                {
                    toUpdate.ItemsToOrder.Add(currentToAdd);
                }

                db.SaveChanges();
            }
        }