private void AddNewClient(object sender, EventArgs e) { using (var ctx = new PetRentalContext()) { if (ClientName.Text.Length > 15 || ClientSurname.Text.Length > 20) { MessageBox.Show("Name or Surname is too long !"); } else { var date = ClientDateOfBirth.SelectedDate; var newClient = new Client() { Name = ClientName.Text.Trim(), Surname = ClientSurname.Text.Trim(), DateOfBirth = DateTime.Parse(date.Value.ToString()), RegistrationDate = DateTime.Now }; ctx.Clients.Add(newClient); int result = ctx.SaveChanges(); if (result == 1) { MessageBox.Show("Client added !"); } } } }
private void ReturnRentedAccessory(object sender, EventArgs e) { string input = ReturnInput.Text; int x; if (int.TryParse(input, out x)) { using (var ctx = new PetRentalContext()) { var rentals = ctx.Rentals .Where(b => b.ReturnDate == null) .Where(c => c.AccessoryId == x).ToArray(); var accessories = ctx.Accessories .Where(d => d.Id == x) .ToList(); if (accessories.Count == 0) { MessageBox.Show("Item does not exist in the database!"); } else if (rentals.Length == 0) { MessageBox.Show("Selected item is not rented !"); } else { rentals[0].ReturnDate = DateTime.Now; int result = ctx.SaveChanges(); if (result == 1) { MessageBox.Show("Item returned !"); } decimal amountToPay = accessories[0].OneDayRentalPrice; int rentalDays = ((DateTime)rentals[0].ReturnDate.Value).Subtract(rentals[0].RentalDate).Days; amountToPay += (accessories[0].OneDayRentalPrice * rentalDays); AmountToPay.Text = amountToPay.ToString(); } } } else { MessageBox.Show("Incorrect id"); } }
private void ChangeValue(object sender, RoutedEventArgs e) { string inputClientId = ClientIdInput.Text.Trim(); int id; var value = ValueToChange.SelectedValue as ListBoxItem; string selectedValue = value.Content as string; if (int.TryParse(inputClientId, out id)) { using (var ctx = new PetRentalContext()) { var client = ctx.Clients .Where(a => a.Id == id) .ToList(); if (client.Count == 0) { MessageBox.Show("Client not found !"); } else { string inputData = InputNewClientValue.Text.Trim(); if (selectedValue == "Name") { client[0].Name = inputData; int result = ctx.SaveChanges(); if (result == 1) { MessageBox.Show("Data changed !"); } } if (selectedValue == "Surname") { client[0].Surname = inputData; int result = ctx.SaveChanges(); if (result == 1) { MessageBox.Show("Data changed !"); } } } } } else { MessageBox.Show("Incorrect id !"); } }
private void RemoveSelClient(object sender, EventArgs e) { var clientId = ClientToRemId.Text; int a; if (int.TryParse(clientId, out a)) { using (var ctx = new PetRentalContext()) { var clientToRemove = ctx.Clients.Where(x => x.Id == a).ToList(); if (clientToRemove.Count == 1) { var clientRentals = ctx.Rentals.Where(x => x.ClientId == a).ToList(); if (clientRentals.Count == 0) { ctx.Clients.Remove(clientToRemove[0]); int result = ctx.SaveChanges(); if (result == 1) { MessageBox.Show("Deleted !"); } } else { MessageBox.Show("This client has already rented something !"); } } else { MessageBox.Show("Client not found !"); } } } else { MessageBox.Show("Incorrect client Id"); } }
private void SearchRental(object sender, EventArgs e) { string input = RentalValue.Text; if (input == "") { using (var ctx = new PetRentalContext()) { var rentals = ctx.Rentals .Include(a => a.Client) .Include(b => b.Accessory) .ToList(); var notReturned = OnlyNotReturned.IsChecked; if (notReturned == true) { rentals = rentals .Where(c => c.ReturnDate == null) .ToList(); } if (rentals.Count == 0) { MessageBox.Show("Rental not found !"); } foreach (var x in rentals) { var row = new TableRow(); var c1 = TableCel(x.Id.ToString()); var c2 = TableCel(x.Client.Id.ToString()); var c3 = TableCel(x.Client.Name); var c4 = TableCel(x.Client.Surname); var c5 = TableCel(x.RentalDate.ToString()); var c6 = TableCel(x.ReturnDate.ToString()); var c7 = TableCel(x.Accessory.AccessoryName); var c8 = TableCel(x.Accessory.Id.ToString()); row.Cells.Add(c1); row.Cells.Add(c2); row.Cells.Add(c3); row.Cells.Add(c4); row.Cells.Add(c5); row.Cells.Add(c6); row.Cells.Add(c7); row.Cells.Add(c8); TabelkaRental.Rows.Add(row); } } } else { using (var ctx = new PetRentalContext()) { var rentals = ctx.Rentals .Include(a => a.Client) .Include(b => b.Accessory) .ToList(); var notReturned = OnlyNotReturned.IsChecked; if (notReturned == true) { rentals = rentals .Where(c => c.ReturnDate == null) .ToList(); } int z; DateTime y; if (int.TryParse(input, out z)) { rentals = rentals .Where(a => a.ClientId == z).ToList(); } else if (DateTime.TryParse(input, out y)) { rentals = rentals .Where(a => a.RentalDate.Date == y) .ToList(); } else { rentals.Clear(); } if (rentals.Count == 0) { MessageBox.Show("Rental not found !"); } foreach (var x in rentals) { var row = new TableRow(); var c1 = TableCel(x.Id.ToString()); var c2 = TableCel(x.Client.Id.ToString()); var c3 = TableCel(x.Client.Name); var c4 = TableCel(x.Client.Surname); var c5 = TableCel(x.RentalDate.ToString()); var c6 = TableCel(x.ReturnDate.ToString()); var c7 = TableCel(x.Accessory.AccessoryName); var c8 = TableCel(x.Accessory.Id.ToString()); row.Cells.Add(c1); row.Cells.Add(c2); row.Cells.Add(c3); row.Cells.Add(c4); row.Cells.Add(c5); row.Cells.Add(c6); row.Cells.Add(c7); row.Cells.Add(c8); TabelkaRental.Rows.Add(row); } } } }
private void SearchClient(object sender, EventArgs e) { if (ClientIdOrName.Text == "") { using (var ctx = new PetRentalContext()) { var clients = ctx.Clients.ToList(); if (clients.Count == 0) { MessageBox.Show("There is no clients !"); } foreach (var x in clients) { var row = new TableRow(); var c1 = TableCel(x.Id.ToString()); var c2 = TableCel(x.Name); var c3 = TableCel(x.Surname); var c4 = TableCel(x.DateBirth); var c5 = TableCel(x.DateRegistration); row.Cells.Add(c1); row.Cells.Add(c2); row.Cells.Add(c3); row.Cells.Add(c4); row.Cells.Add(c5); Tabelka.Rows.Add(row); } } } else { string input = ClientIdOrName.Text; int a; if (int.TryParse(input, out a)) { using (var ctx = new PetRentalContext()) { var clients = ctx.Clients.Where(x => x.Id == a).ToList(); if (clients.Count == 0) { MessageBox.Show("Client not found !"); } foreach (var x in clients) { var row = new TableRow(); var c1 = TableCel(x.Id.ToString()); var c2 = TableCel(x.Name); var c3 = TableCel(x.Surname); var c4 = TableCel(x.DateBirth); var c5 = TableCel(x.DateRegistration); row.Cells.Add(c1); row.Cells.Add(c2); row.Cells.Add(c3); row.Cells.Add(c4); row.Cells.Add(c5); Tabelka.Rows.Add(row); } } } else { using (var ctx = new PetRentalContext()) { var clients = ctx.Clients.Where(x => x.Surname == input).ToList(); if (clients.Count == 0) { MessageBox.Show("Client not found !"); } foreach (var x in clients) { var row = new TableRow(); var c1 = TableCel(x.Id.ToString()); var c2 = TableCel(x.Name); var c3 = TableCel(x.Surname); var c4 = TableCel(x.DateBirth); var c5 = TableCel(x.DateRegistration); row.Cells.Add(c1); row.Cells.Add(c2); row.Cells.Add(c3); row.Cells.Add(c4); row.Cells.Add(c5); Tabelka.Rows.Add(row); } } } } }
private void SearchAccessory(object sender, EventArgs e) { var value = SearchCategory.SelectedValue as ListBoxItem; string valueSearchCategory = value.Content as string; string input = Value.Text.Trim().ToLower(); using (var ctx = new PetRentalContext()) { var accessories = ctx.Accessories .Include(a => a.PetType) .Include(a => a.Size) .Include(a => a.Rentals) .ToList(); switch (valueSearchCategory) { case "Pet Type": accessories = accessories .Where(a => a.PetType.PetTypeName.ToLower() == input) .ToList(); break; case "Name": accessories = accessories .Where(a => a.AccessoryName.ToLower().Contains(input)) .ToList(); break; case "Rented accessories": accessories = accessories .Where(a => a.Rentals.Any(b => b.ReturnDate == null)) .ToList(); break; case "Size": accessories = accessories .Where(a => a.Size.SizeName.ToString().ToLower() == input) .ToList(); break; case "All": break; } if (accessories.Count == 0) { MessageBox.Show("Accessory not found !"); } foreach (var x in accessories) { var row = new TableRow(); var c1 = TableCel(x.Id.ToString()); var c2 = TableCel(x.AccessoryName); var c3 = TableCel(x.OneDayRentalPrice.ToString()); var c4 = TableCel(x.PetType.PetTypeName.Trim()); var c5 = TableCel(x.Size.SizeName.ToString()); var c6 = TableCel(x.isRented.ToString()); row.Cells.Add(c1); row.Cells.Add(c2); row.Cells.Add(c3); row.Cells.Add(c4); row.Cells.Add(c5); row.Cells.Add(c6); TabelkaAcc.Rows.Add(row); } } }
private void AddNewRental(object sender, EventArgs e) { string inputAccessory = AccessoryId.Text; string inputClient = ClientId.Text; int x; int y; if (int.TryParse(inputAccessory, out x) && int.TryParse(inputClient, out y)) { using (var ctx = new PetRentalContext()) { var rentals = ctx.Rentals .Include(a => a.Accessory) .ToList(); var acc = ctx.Accessories .Where(p => p.Id == x) .ToList(); var NotReturnedRentals = rentals .Where(b => b.ReturnDate is null) .Where(c => c.AccessoryId == x) .ToList(); var clients = ctx.Clients .Where(z => z.Id == y) .ToList(); if (NotReturnedRentals.Count == 0) { if (clients.Count == 1) { if (acc.Count == 0) { MessageBox.Show("This item does not exist in the database !"); } else { Client client = clients[0]; Accessory accessory = acc[0]; var newRental = new Rental() { Client = client, Accessory = accessory, RentalDate = DateTime.Now }; ctx.Rentals.Add(newRental); int result = ctx.SaveChanges(); if (result == 1) { MessageBox.Show("Rental added !"); } } } else { MessageBox.Show("Client not found !"); } } else { MessageBox.Show("This accessory is rented now !"); } } } else { MessageBox.Show("Incorrect id !"); } }