Exemplo n.º 1
0
        private void UpdateItems(object sender, EventArgs e)
        {
            using (var db = new FleaMarketContext())
            {
                // Visszaadjuk a listából az összes megfelelt tárgyat
                if (_Admin == true)
                {
                    _Items = (from i in db.item.Include("category").Include("status")
                              where (i.item_id == _View.FilterItemId || _View.FilterItemId == null) &&
                              (i.category_id == _View.FilterCategory.Id || _View.FilterCategory.Id == -1) &&
                              (i.status_id == _View.FilterStatus.Id || _View.FilterStatus.Id == -1) &&
                              (i.item_name.Contains(_View.FilterItemName)) &&
                              (_View.FilterPriceMin == null || (i.item_price >= _View.FilterPriceMin)) &&
                              (_View.FilterPriceMax == null || (i.item_price <= _View.FilterPriceMax))
                              select i).ToList();
                }
                else
                {
                    _Items = (from i in db.item.Include("category").Include("status")
                              where (i.item_id == _View.FilterItemId || _View.FilterItemId == null) &&
                              (i.category_id == _View.FilterCategory.Id || _View.FilterCategory.Id == -1) &&
                              i.status_id == 2 &&
                              (i.item_name.Contains(_View.FilterItemName)) &&
                              (_View.FilterPriceMin == null || (i.item_price >= _View.FilterPriceMin)) &&
                              (_View.FilterPriceMax == null || (i.item_price <= _View.FilterPriceMax))
                              select i).ToList();
                }


                _View.Items = _Items;
            }
        }
Exemplo n.º 2
0
        private void ShowOrderDetailsView(object sender, EventArgs e)
        {
            using (var db = new FleaMarketContext())
            {
                item_order foundOrder = db.item_order.Find(_View.ItemOrderId);

                OrderDetailsView details = new OrderDetailsView
                {
                    ItemName       = foundOrder.item.item_name,
                    ItemPrice      = foundOrder.item.GetFormattedPrice(),
                    OrderedAt      = foundOrder.ordered_at,
                    OrdererAddress = foundOrder.orderer_address,
                    OrdererEmail   = foundOrder.orderer_email,
                    OrdererName    = foundOrder.orderer_name,
                    OrdererPhone   = foundOrder.orderer_phone,
                    StatusId       = foundOrder.item.status_id,
                    StatusName     = foundOrder.item.status.status_name,

                    OrderItemId = foundOrder.item_id,
                    OrderId     = foundOrder.order_id,
                    Owner       = _View.Form,
                };

                _View.Form.Enabled = false;
                details.Show();
            }
        }
Exemplo n.º 3
0
        private void CancelOrder(object sender, EventArgs e)
        {
            if (
                MessageBox.Show(
                    "Biztosan törölni szeretné a termékhez tartozó megrendelést? Ez a folyamat nem visszafordítható.",
                    "Megrendelés törlése",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning
                    ) == DialogResult.Yes)
            {
                using (var db = new FleaMarketContext())
                {
                    item       foundItem  = db.item.Find(_View.SelectedItem.item_id);
                    item_order foundOrder = foundItem.item_order.First();

                    // Töröljük a megrendelést
                    db.item_order.Remove(foundOrder);

                    // Átállítjuk a termék státuszát, módosítás dátumát frissítjük
                    foundItem.status_id   = 2;
                    foundItem.modified_at = DateTime.Now;

                    // Elmentjük
                    db.SaveChanges();
                }
            }

            _View.Form.Enabled = true;
        }
Exemplo n.º 4
0
        public void SaveNewItem(object sender, EventArgs e)
        {
            // Státusz eldöntés
            // - 1. (Új) ha nincs ára
            // - 2. (Aktív) ha meg van adva ár
            int checked_status = _View.Price != null ? 2 : 1;

            // Létrehozunk egy új tárgy objektumot
            item newItem = new item
            {
                item_name        = _View.ItemName,
                item_description = _View.Description,
                item_price       = _View.Price,
                category_id      = _View.CategoryId,
                status_id        = checked_status, // Az ellenőrzött státusz megadása
                created_at       = DateTime.Now,
                modified_at      = DateTime.Now,
            };

            // Adatbázisba elmentés
            using (var db = new FleaMarketContext())
            {
                db.item.Add(newItem);
                db.SaveChanges();

                _View.ItemSaved = true;
            }
        }
Exemplo n.º 5
0
        private void UpdateItemOrders(object sender, EventArgs args)
        {
            using (var db = new FleaMarketContext())
            {
                _Orders = (from o in db.item_order.Include("item")
                           select o).ToList();
            }

            _View.ItemOrders = _Orders;
        }
Exemplo n.º 6
0
        public ItemOrdersPresenter(IItemOrdersView view)
        {
            _View = view;

            using (var db = new FleaMarketContext())
            {
                _Orders = (from o in db.item_order.Include("item")
                           select o).ToList();
            }

            _View.ItemOrders     = _Orders;
            _View.UpdateOrders  += UpdateItemOrders;
            _View.OrderSelected += ShowOrderDetailsView;
        }
Exemplo n.º 7
0
        public void SellOrderedItem(object sender, EventArgs args)
        {
            // Frissítsük az adatbázisban a tárgyat
            using (var db = new FleaMarketContext())
            {
                item item = db.item_order.Find(_View.OrderId).item;
                item.status_id   = 4;
                item.modified_at = DateTime.Now;

                db.SaveChanges();
            }

            _View.Form.Close();
        }
Exemplo n.º 8
0
        public NewItemPresenter(INewItemView view)
        {
            _View = view;

            // Betöltjük a kategóriákat a nézetbe
            using (var db = new FleaMarketContext())
            {
                _Categories = (from c in db.category
                               select c).ToList();
            }

            _View.Categories = _Categories;
            _View.SaveItem  += SaveNewItem;
        }
Exemplo n.º 9
0
        public MainMarketPresenter(IMainMarketView view)
        {
            _View  = view;
            _Admin = Auth.IsAdminUser();

            using (var db = new FleaMarketContext())
            {
                // Kiszedjük az összes tárgyat ami éppen releváns
                if (_Admin == true)
                {
                    _Items = (from i in db.item
                              select i).ToList();
                }
                else
                {
                    _Items = (from i in db.item
                              where i.status_id == 2
                              select i).ToList();
                }


                // Gets all the categories
                _Categories = (from c in db.category
                               select c).ToList();

                // Gets all the statuses
                _Statuses = (from s in db.status
                             select s).ToList();
            }

            _View.Items      = _Items;
            _View.Admin      = _Admin;
            _View.Categories = _Categories;
            _View.Statuses   = _Statuses;

            // Események
            _View.FiltersChanged            += UpdateItems;
            _View.ItemSelected              += ShowItemDetails;
            _View.BtnNewItemClicked         += ShowNewItemView;
            _View.BtnEditItemClicked        += ShowEditItemView;
            _View.BtnItemOrdersClicked      += ShowItemOrdersView;
            _View.BtnMakeOrderClicked       += OrderItem;
            _View.BtnCancelOrderClicked     += CancelOrder;
            _View.BtnShowOrderClicked       += ShowOrder;
            _View.BtnOfferItemClicked       += ShowOfferView;
            _View.BtnSellClicked            += SellItem;
            _View.BtnOrderStatisticsClicked += ShowOrderStatisticsView;
            _View.BtnShowIncomeClicked      += ShowIncomeView;
        }
Exemplo n.º 10
0
        private void UpdateItem(object sender, EventArgs e)
        {
            using (var db = new FleaMarketContext())
            {
                item foundItem = db.item.Find(_View.ItemId);

                // Frissítjük az adatokat
                foundItem.item_price  = (decimal?)_View.Price;
                foundItem.status_id   = 2;
                foundItem.modified_at = DateTime.Now;
                db.SaveChanges();

                // Alert, utána bezárjuk a formot
                MessageBox.Show("Termék sikeresen eladásra bocsájtva!", "Sikeres termék eladásra bocsájtás", MessageBoxButtons.OK, MessageBoxIcon.Information);
                _View.Form.Close();
            }
        }
Exemplo n.º 11
0
        private void SellItem(object sender, EventArgs e)
        {
            _View.Form.Enabled = false;

            // Átírjuk a terméket eladottra
            using (var db = new FleaMarketContext())
            {
                item foundItem = db.item.Find(_View.SelectedItem.item_id);
                foundItem.status_id   = 4;
                foundItem.modified_at = DateTime.Now;
                db.SaveChanges();
            }

            if (MessageBox.Show("Termék sikeresen eladva!", "Termék eladva", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
            {
                _View.Form.Enabled = true;
            }
        }
Exemplo n.º 12
0
        public void UpdateItem(object sender, EventArgs e)
        {
            // Db-ből kiszedjük ahol az azonosító megegyezik
            using (var db = new FleaMarketContext())
            {
                item foundItem = db.item.Find(_View.ItemId);

                foundItem.item_name        = _View.ItemName;
                foundItem.item_description = _View.Description;
                foundItem.category_id      = _View.CategoryId;
                foundItem.status_id        = _View.StatusId;
                foundItem.modified_at      = DateTime.Now;
                foundItem.item_price       = _View.Price;

                db.SaveChanges();

                _View.ItemUpdated = true;
            }
        }
Exemplo n.º 13
0
        public EditItemPresenter(IEditItemView view)
        {
            _View = view;

            // Betöltjük a kategóriákat és a státuszokat a nézetbe
            using (var db = new FleaMarketContext())
            {
                _Categories = (from c in db.category
                               select c).ToList();

                _Statuses = (from s in db.status
                             where s.status_id != 3 && s.status_id != 4
                             select s).ToList();
            }

            _View.Categories  = _Categories;
            _View.Statuses    = _Statuses;
            _View.UpdateItem += UpdateItem;
        }
Exemplo n.º 14
0
        public OrderStatisticsPresenter(IOrderStatisticsView view)
        {
            _View = view;

            using (var db = new FleaMarketContext())
            {
                // Megnézzük mi volt a legelső rendelés dátuma, majd ezt átadjuk a nézetnek
                item_order oldestOrder = (from o in db.item_order
                                          orderby o.ordered_at
                                          select o).First();

                _View.From = oldestOrder.ordered_at;

                // Megcsináljuk az adathalmazt amit látni szeretnénk
                _View.Series = GetFilteredSeries();
            }

            _View.BtnUpdateStatistics += UpdateChart;
        }
Exemplo n.º 15
0
        public void CancelOrder(object sender, EventArgs args)
        {
            using (var db = new FleaMarketContext())
            {
                // Töröljük az adatbázisból a megrendelést
                item_order foundOrder = db.item_order.Find(_View.OrderId);
                db.item_order.Remove(foundOrder);

                // Állítsuk át a státuszt is
                item foundItem = db.item.Find(_View.OrderItemId);
                foundItem.status_id   = 2;
                foundItem.modified_at = DateTime.Now;

                // Mentsük
                db.SaveChanges();
            }

            _View.Form.Close();
        }
Exemplo n.º 16
0
        private void CreateNewItemOrder(object sender, EventArgs e)
        {
            // Létrehozunk egy új megrendelést a jelenlegi dátummal
            item_order order = new item_order()
            {
                item_id         = _View.ItemId,
                orderer_name    = _View.OrdererName,
                orderer_address = _View.Address,
                orderer_email   = _View.Email,
                orderer_phone   = _View.Phone,
                ordered_at      = DateTime.Now,
            };

            using (var db = new FleaMarketContext())
            {
                // A meglévő tárgy státuszát frissítjük
                item foundItem = db.item.Find(_View.ItemId);
                foundItem.status_id   = 3;
                foundItem.modified_at = DateTime.Now;

                // Megrendelést hozzáadjuk
                db.item_order.Add(order);

                // Elmentjük
                db.SaveChanges();

                // Felhasználónak jelzünk
                if (
                    MessageBox.Show(
                        $"Megrendelés sikeresen létrehozva! \nMegrendelési azonosító: {order.order_id}",
                        "Sikeres megrendelés!",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information
                        ) == DialogResult.OK)
                {
                    // Bezárjuk a formunkat
                    _View.Form.Close();
                }
            }
        }
Exemplo n.º 17
0
        private Series GetFilteredSeries()
        {
            Series series = new Series();

            using (var db = new FleaMarketContext())
            {
                var orders = (from o in db.item_order
                              where o.ordered_at >= _View.From && o.ordered_at <= _View.To
                              group o by o.item.category.category_name into g
                              select new
                {
                    category = g.Key,
                    count = g.Count()
                });
                foreach (var order in orders)
                {
                    series.Points.AddXY(order.category, order.count);
                }
            }

            return(series);
        }
Exemplo n.º 18
0
        private void SearchOrder(object sender, EventArgs e)
        {
            if (_View.ItemOrderId != -1)
            {
                // Megnézzük, hogy létezik-e a megrendelés az azonosító alapján
                using (var db = new FleaMarketContext())
                {
                    item_order foundOrder = db.item_order.Find(_View.ItemOrderId);

                    if (foundOrder == null)
                    {
                        MessageBox.Show("Nem található az adatbázisban megrendelés ezzel az azonosítóval!", "Keresési hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        // Hozzuk létre a részletes nézetet a megrendeléshez
                        OrderDetailsView newView = new OrderDetailsView()
                        {
                            OrderedAt      = foundOrder.ordered_at,
                            ItemName       = foundOrder.item.item_name,
                            ItemPrice      = foundOrder.item.GetFormattedPrice(),
                            OrdererAddress = foundOrder.orderer_address,
                            OrdererEmail   = foundOrder.orderer_email,
                            OrdererName    = foundOrder.orderer_name,
                            OrdererPhone   = foundOrder.orderer_phone,
                            StatusId       = foundOrder.item.status_id,
                            StatusName     = foundOrder.item.status.status_name,

                            OrderItemId = foundOrder.item_id,
                            OrderId     = foundOrder.order_id,
                            Owner       = _View.Form
                        };
                        _View.Form.Enabled = false;
                        newView.Show();
                    }
                }
            }
        }
Exemplo n.º 19
0
        private Series GetFilteredSeries()
        {
            Series series = new Series();

            using (var db = new FleaMarketContext())
            {
                // Adjuk hozzá azokat amik a From előtt vannak, ha vannak
                var total = (from o in db.item_order
                             where o.ordered_at < _View.From && o.item.status_id == 4
                             group o by o.order_id into g
                             select new
                {
                    total = g.Sum(i => (decimal)i.item.item_price)
                }).FirstOrDefault();

                // Összes bevétel a megadott From dátumig
                decimal totalIncome = total != null ? total.total : 0;

                // Hozzáadjuk azokat amiket találtunk a Fromtól kezdve
                var orders = (from o in db.item_order
                              where o.ordered_at >= _View.From && o.ordered_at <= _View.To && o.item.status_id == 4
                              let dt = DbFunctions.TruncateTime(o.ordered_at)
                                       group o by dt into g
                                       select new
                {
                    income = g.Sum(i => (decimal)i.item.item_price),
                    date = g.Key
                }).ToList();
                foreach (var order in orders)
                {
                    totalIncome += order.income;
                    series.Points.AddXY(order.date.Value.ToString("yyyy MMM dd"), totalIncome);
                }
            }

            return(series);
        }