public async void GetCassetes() { Model.RentalShopEntities rs = new Model.RentalShopEntities(); foreach (var item in rs.Cassetes) { p.Dispatcher.Invoke(() => { if (token.IsCancellationRequested) { return; } else { Cassetes.Add(new CasseteShortInfo { Cover = API.Image.ByteArrayToImage(item.Cover), Id = item.Catalog_Id, Name = item.Title }); } }); } IsUpdateAllows = true; }
public async void FindCommandClick(object sender) { try { FindHandler find = new FindHandler(); rs = new Model.RentalShopEntities(); List <int> tmp = new List <int>(); FreeCassetes.Clear(); foreach (var item in find.FindTitle(FindHandler.FieldType.Title, FindArg)) { foreach (var copyItem in rs.Cassete_Copies) { if (item != null && copyItem.Catalog_Id == item.Catalog_Id && copyItem.Status != "busy" && !tmp.Contains(copyItem.Catalog_Id)) { tmp.Add(copyItem.Catalog_Id); p.Dispatcher.Invoke(() => { FreeCassetes.Add(new CasseteShortInfo { Cover = API.Image.ByteArrayToImage(item.Cover), Id = item.Catalog_Id, Name = item.Title }); }); } } } tmp.Clear(); } catch (Exception e) { MessageBox.Show(e.Message); } }
private void GetOrders() { Model.Cassete_Copies cassete_copy; rs = new Model.RentalShopEntities(); string status; foreach (var item in rs.Cassete_Rentals) { p.Dispatcher.Invoke(() => { cassete_copy = rs.Cassete_Copies.Where(s => s.Copy_Id == item.Copy_Id).FirstOrDefault <Model.Cassete_Copies>(); if (cassete_copy.Status == "busy") { status = "В аренде"; } else { status = "Выполнено"; } Orders.Add(new OrderInfo { OrderID = item.Order_Id, CopyID = item.Copy_Id, Give_Date = item.Give_Date.Date, Get_Date = item.Get_Date, Client = item.Clients.First_Name + " " + item.Clients.Second_Name + " (" + item.Clients.Client_Id + ")", Departament_ID = item.Departament_Id, Status = status }); }); } }
public void GetFreeCassetes() { try { rs = new Model.RentalShopEntities(); List <int> tmp = new List <int>(); Model.Cassetes cassete; FreeCassetes.Clear(); foreach (var item in rs.Cassete_Copies) { cassete = rs.Cassetes.Find(item.Catalog_Id); if (cassete != null && item.Status != "busy" && !tmp.Contains(item.Catalog_Id)) { tmp.Add(item.Catalog_Id); p.Dispatcher.Invoke(() => { FreeCassetes.Add(new CasseteShortInfo { Name = cassete.Title, Copies = item.Copy_Id, Cover = API.Image.ByteArrayToImage(cassete.Cover), Id = item.Catalog_Id, CopyId = item.Copy_Id }); }); } } tmp.Clear(); } catch (Exception e) { MessageBox.Show(e.Message); } }
private void CrateOrderClick(object sender) { try { rs = new Model.RentalShopEntities(); rs.Cassete_Rentals.Add(new Model.Cassete_Rentals { Order_Id = rs.Cassete_Rentals.Count() + 1, Copy_Id = SelectedCassete.CopyId, Give_Date = SelectedDate, Get_Date = SelectedReturnDate, Client_Id = _selectedClientID + 1, Departament_Id = rs.Staff.Find(AuthorizationHandler.CurrentUserID).Departament_Id.GetValueOrDefault() }); rs.Cassete_Copies.Find(SelectedCassete.CopyId, SelectedCassete.Id).Status = "busy"; rs.SaveChanges(); MessageBox.Show("Заказ создан."); GetFreeCassetes(); } catch (NullReferenceException) { MessageBox.Show("Заполните все поля!"); } catch (Exception e) { MessageBox.Show(e.Message); } }
private void ReturnCassete(object sender) { if (copy != null) { rs = new Model.RentalShopEntities(); rs.Cassete_Copies.Find(copy.Copy_Id, copy.Catalog_Id).Status = "free"; rs.SaveChanges(); MessageBox.Show("Касета возвращена. Заказ выполнен."); } }
public ObservableCollection <Model.Cassetes> FindTitle(FieldType type, string str) { rs = new Model.RentalShopEntities(); ObservableCollection <Model.Cassetes> cassetes = new ObservableCollection <Model.Cassetes>(); switch (type) { case FieldType.Title: foreach (var item in rs.Cassetes) { if (item.Title.ToLower().Contains(str.ToLower())) { cassetes.Add(item); } } break; case FieldType.Director: foreach (var item in rs.Cassetes) { if (item.Director.ToLower().Contains(str.ToLower())) { cassetes.Add(item); } } break; case FieldType.Price: foreach (var item in rs.Cassetes) { if (item.Price.ToString().ToLower().Contains(str.ToLower())) { cassetes.Add(item); } } break; case FieldType.Departament: foreach (var item in rs.Cassetes) { if (item.Departament_Id.ToString().ToLower().Contains(str.ToLower())) { cassetes.Add(item); } } break; } return(cassetes); }
private void GetAllClientsNames() { try { rs = new Model.RentalShopEntities(); foreach (var item in rs.Clients) { Clients.Add(item.First_Name + " " + item.Second_Name + "(id" + item.Client_Id + ")"); } OnPropertyChanged("Clients"); } catch (Exception e) { MessageBox.Show(e.Message); } }
public Position.EmployeePosition Auth(string login, string pass) { Model.RentalShopEntities rs = new Model.RentalShopEntities(); foreach (var item in rs.Users) { if (item.Login == login && item.Password == pass) { foreach (var staff in rs.Staff) { if (login == staff.Login) { if (staff.Position.Replace(" ", "") == "Работник") { CurrentPosition = Position.EmployeePosition.Common; return(Position.EmployeePosition.Common); } else { if (staff.Position.Replace(" ", "") == "Менеджер") { CurrentUserID = staff.Personnel_Id; CurrentPosition = Position.EmployeePosition.Manager; UserName = staff.First_Name + " " + staff.Last_Name; Login = login; return(Position.EmployeePosition.Manager); } } } } foreach (var user in rs.Clients) { if (user.Login == login) { UserName = user.First_Name + " " + user.Second_Name; Login = user.Login; CurrentPosition = Position.EmployeePosition.Client; return(Position.EmployeePosition.Client); } } } } return(Position.EmployeePosition.NotFound); }
private void ConnectToDB() { database = new Model.RentalShopEntities(); }
private void GetTotalInfo() { try { ReturnTotal.Clear(); rs = new Model.RentalShopEntities(); OrderInfo orderInfo; Model.Cassete_Rentals cassete_Rentals = rs.Cassete_Rentals.Find(int.Parse(OrderID)); if (cassete_Rentals != null) { Model.Cassetes cassete = rs.Cassete_Copies.Where(s => s.Copy_Id == cassete_Rentals.Copy_Id).FirstOrDefault <Model.Cassete_Copies>().Cassetes; if (rs.Cassete_Copies.Where(s => s.Copy_Id == cassete_Rentals.Copy_Id).FirstOrDefault <Model.Cassete_Copies>().Status == "busy") { Cover = API.Image.ByteArrayToImage(cassete.Cover); ReturnTotal.Add(new ReturnInfo { Title = "Клиент", Value = cassete_Rentals.Clients.First_Name + " " + cassete_Rentals.Clients.Second_Name }); ReturnTotal.Add(new ReturnInfo { Title = "Номер клиента", Value = cassete_Rentals.Clients.Client_Id.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Логин клиента", Value = cassete_Rentals.Clients.Login }); ReturnTotal.Add(new ReturnInfo { Title = "Номер копии", Value = cassete_Rentals.Copy_Id.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Кассета", Value = cassete.Title }); ReturnTotal.Add(new ReturnInfo { Title = "Номер кассеты", Value = cassete.Catalog_Id.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Дата получения", Value = cassete_Rentals.Give_Date.Date.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Дата возврата", Value = cassete_Rentals.Get_Date.Date.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Утеряна", Value = IsLose.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Номер отдела", Value = cassete_Rentals.Departament_Id.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Адрес отдела", Value = cassete_Rentals.Departaments.State + ", " + cassete_Rentals.Departaments.City + ", " + cassete_Rentals.Departaments.Street + ", " + cassete_Rentals.Departaments.Zip }); ReturnTotal.Add(new ReturnInfo { Title = "Цена за кассету в сутки", Value = cassete.Price.ToString() }); ReturnTotal.Add(new ReturnInfo { Title = "Цена по договору", Value = (((cassete_Rentals.Get_Date - cassete_Rentals.Give_Date).Days) * Convert.ToInt32(cassete.Price)).ToString() }); copy = rs.Cassete_Copies.Where(s => s.Copy_Id == cassete_Rentals.Copy_Id).FirstOrDefault <Model.Cassete_Copies>(); } else { MessageBox.Show("Заказ уже завершен"); ReturnTotal.Clear(); Cover = null; IsLose = false; } } else { MessageBox.Show("Заказ не найден"); Cover = null; IsLose = false; } } catch (Exception e) { MessageBox.Show(e.Message); } }