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; } }
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(); } }
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; }
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; } }
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; }
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; }
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(); }
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; }
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; }
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(); } }
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; } }
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; } }
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; }
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; }
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(); }
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(); } } }
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); }
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(); } } } }
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); }