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 !");
             }
         }
     }
 }
Пример #2
0
        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");
            }
        }
Пример #5
0
        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);
                        }
                    }
                }
            }
        }
Пример #7
0
        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 !");
            }
        }