Beispiel #1
0
        public void ShouldFilterOutOnlyCatOwnersWhenNoneType()
        {
            List <PetOwner> expected = new List <PetOwner>();

            List <PetOwner> actualList = new List <PetOwner> {
                new PetOwner {
                    Gender = "male",
                    Pets   = new List <Pet>()
                },
                new PetOwner {
                    Gender = "female",
                    Pets   = new List <Pet>()
                },
                new PetOwner {
                    Gender = "unspecified",
                    Pets   = new List <Pet>()
                }
            };

            List <PetOwner> actual = PetProcessor.GetOwnersByPetType(actualList, "Cat");

            Assert.AreNotEqual(expected.Count, actualList.Count);
            Assert.AreEqual(expected.Count, actual.Count);
            // TODO: Add object comparison
        }
Beispiel #2
0
        private async void PetProfileWindow_Loaded(object sender, RoutedEventArgs e)
        {
            pets = await PetProcessor.ShowPetsByCustomer(selectedUser.UserID, currentUser.Token);

            foreach (PetModel p in pets)
            {
                lstPets.Items.Add(p);
            }
        }
Beispiel #3
0
        private string ProcessResults(List <PetOwner> owners)
        {
            owners = PetProcessor.RemoveOwnersWithoutPets(owners);
            owners = PetProcessor.GetOwnersByPetType(owners, Pets.cat);

            CatNamesByOwnerGender catNamesViewModel = CatProcessor.LoadCatNamesByOwnerGender(owners);

            catNamesViewModel = CatProcessor.SortCatNames(catNamesViewModel);

            return(HTMLProcessor.FormatHTML(catNamesViewModel));
        }
Beispiel #4
0
        private async void btnCreatePet_Click(object sender, RoutedEventArgs e)
        {
            if (IsValidPetData())
            {
                DateTime birthdate = DateTime.Parse(txtPetDOB.Text);
                createdPet = new PetModel(txtPetName.Text, birthdate.ToString("yyyy-MM-dd"), txtPetColor.Text, txtPetWeight.Text, txtPetBreed.Text);
                lstPets.Items.Add(createdPet);
                lstPets.IsEnabled = true;
                await PetProcessor.CreatePet(createdPet.FullName, createdPet.Birthdate, createdPet.Color, createdPet.Weight, createdPet.Breed, selectedUser.UserID, currentUser.Token);

                btnCreatePet.IsEnabled = false;
                selectedPet            = createdPet;
            }
        }
Beispiel #5
0
        private async void btnSavePet_Click(object sender, RoutedEventArgs e)
        {
            updatedPet = new PetModel(txtPetName.Text, txtPetDOB.Text, txtPetColor.Text, txtPetWeight.Text, txtPetBreed.Text);

            bool petChanged = CompareUpdatedPet();

            if (petChanged == true)
            {
                await PetProcessor.UpdatePet(selectedPet.PetID, selectedPet.FullName, selectedPet.Birthdate, selectedPet.Color, selectedPet.Weight, selectedPet.Breed, currentUser.Token);

                FillPetListBox();
            }

            btnSavePet.IsEnabled = false;
        }
Beispiel #6
0
        public void ShouldRemoveOwnersWhenNoPetProvided()
        {
            List <PetOwner> expected = new List <PetOwner> {
                new PetOwner {
                    Gender = "female",
                    Pets   = new List <Pet> {
                        new Pet {
                            Name = "Rock", Type = "Dog"
                        },
                        new Pet {
                            Name = "Ket", Type = "Cat"
                        }
                    }
                }
            };

            List <PetOwner> actualList = new List <PetOwner> {
                new PetOwner {
                    Gender = "male",
                    Pets   = null
                },
                new PetOwner {
                    Gender = "female",
                    Pets   = new List <Pet> {
                        new Pet {
                            Name = "Rock", Type = "Dog"
                        },
                        new Pet {
                            Name = "Ket", Type = "Cat"
                        }
                    }
                },
                new PetOwner {
                    Gender = "unspecified",
                    Pets   = null
                }
            };

            List <PetOwner> actual = PetProcessor.RemoveOwnersWithoutPets(actualList);

            Assert.AreEqual(expected.Count, actual.Count);
            // TODO: Add object comparison
        }
Beispiel #7
0
        public void ShouldFilterOutOnlyCatOwnersWhenNoCatTypes()
        {
            List <PetOwner> expected = new List <PetOwner>();

            List <PetOwner> actualList = new List <PetOwner> {
                new PetOwner {
                    Gender = "male",
                    Pets   = new List <Pet> {
                        new Pet {
                            Name = "Jacky", Type = "Dog"
                        }
                    }
                },
                new PetOwner {
                    Gender = "female",
                    Pets   = new List <Pet> {
                        new Pet {
                            Name = "Rock", Type = "Dog"
                        }
                    }
                },
                new PetOwner {
                    Gender = "unspecified",
                    Pets   = new List <Pet> {
                        new Pet {
                            Name = "Stone", Type = "Horse"
                        }
                    }
                }
            };

            List <PetOwner> actual = PetProcessor.GetOwnersByPetType(actualList, "Cat");

            Assert.AreNotEqual(expected.Count, actualList.Count);
            Assert.AreEqual(expected.Count, actual.Count);
            // TODO: Add object comparison
        }
Beispiel #8
0
        private async void BtnAppend_Click(object sender, RoutedEventArgs e)
        {
            // Date to use for string format
            try
            {
                // Validating Date & Report is Picked -- LR
                if (cmbReports.SelectedIndex == -1)
                {
                    MessageBox.Show("Please select a report");
                    return;
                }


                // If In-Progress Orders is checked -- Lr

                if (cmbReports.SelectedIndex == 0)
                {
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }

                    startDate      = (DateTime)dateStart.SelectedDate;
                    endDate        = (DateTime)dateEnd.SelectedDate;
                    selectedOrders = await OrderProcessor.ShowAllProgressOrders(currentUser.Privileges, currentUser.Token);

                    if (selectedUser == null && selectedEmployee == null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tIn Progress Orders from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else if (selectedUser != null && selectedEmployee == null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tIn Progress Orders for " + selectedUser.Firstname + " " + selectedUser.Lastname + " from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else if (selectedUser != null && selectedEmployee != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tIn Progress Orders for " + selectedUser.Firstname + " " + selectedUser.Lastname + " with " + selectedEmployee.Firstname + " " + selectedEmployee.Lastname + " from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }

                    FillListBox();
                }
                // If Completed Orders is checked -- Lr

                if (cmbReports.SelectedIndex == 1)
                {
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    startDate      = (DateTime)dateStart.SelectedDate;
                    endDate        = (DateTime)dateEnd.SelectedDate;
                    selectedOrders = await OrderProcessor.ShowAllCompleteOrders(currentUser.Privileges, currentUser.Token);

                    if (selectedUser == null && selectedEmployee == null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tCompleted Orders from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else if (selectedUser != null && selectedEmployee == null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tCompleted Orders for " + selectedUser.Firstname + " " + selectedUser.Lastname + " from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else if (selectedUser != null && selectedEmployee != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tCompleted Orders for " + selectedUser.Firstname + " " + selectedUser.Lastname + " with " + selectedEmployee.Firstname + " " + selectedEmployee.Lastname + " from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    FillListBox();
                }

                // If Cancelled Orders is checked -- Lr

                if (cmbReports.SelectedIndex == 2)
                {
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    startDate = (DateTime)dateStart.SelectedDate;
                    endDate   = (DateTime)dateEnd.SelectedDate;

                    selectedOrders = await OrderProcessor.ShowAllCancelledOrders(currentUser.Privileges, currentUser.Token); if (selectedUser == null && selectedEmployee == null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tCancelled Orders from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else if (selectedUser != null && selectedEmployee == null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tCancelled Orders for " + selectedUser.Firstname + " " + selectedUser.Lastname + " from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else if (selectedUser != null && selectedEmployee != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\tCancelled Orders for " + selectedUser.Firstname + " " + selectedUser.Lastname + " with " + selectedEmployee.Firstname + " " + selectedEmployee.Lastname + " from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    FillListBox();
                }

                // If Customer's Orders is checked -- Lr

                if (cmbReports.SelectedIndex == 3)
                {
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    startDate      = (DateTime)dateStart.SelectedDate;
                    endDate        = (DateTime)dateEnd.SelectedDate;
                    selectedOrders = await OrderProcessor.ShowAllOrders(currentUser.Privileges, currentUser.Token);

                    if (string.IsNullOrEmpty(txtCustomer.Text))
                    {
                        MessageBox.Show("Please select a customer");
                        return;
                    }
                    lstReports.Items.Add("\t\t\t\t\t" + txtCustomer.Text + "'s orders from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    FillListBox();
                }

                // If Pet's By Customer is checked -- Lr

                if (cmbReports.SelectedIndex == 4)
                {
                    if (string.IsNullOrEmpty(txtCustomer.Text))
                    {
                        MessageBox.Show("Please select a customer");
                        return;
                    }


                    lstReports.Items.Add("\t\t\t\t\t" + txtCustomer.Text + "'s Pets");

                    selectedPets = await PetProcessor.ShowPetsByCustomer(selectedUser.UserID, currentUser.Token);

                    foreach (PetModel m in selectedPets)
                    {
                        lstReports.Items.Add(m);
                    }
                }

                // If Employee Assigned Orders is checked -- Lr

                if (cmbReports.SelectedIndex == 5)
                {
                    if (string.IsNullOrEmpty(txtEmployee.Text))
                    {
                        MessageBox.Show("Please select an employee.");
                        return;
                    }
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    startDate = (DateTime)dateStart.SelectedDate;
                    endDate   = (DateTime)dateEnd.SelectedDate;
                    lstReports.Items.Add("\t\t\t\t\t" + txtEmployee.Text + "'s schedule from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    selectedOrders = await OrderProcessor.GetAssignedRequest(selectedEmployee.UserID, currentUser.Token);


                    FillListBox();
                }

                // If Paid Invoices is checked -- LR

                if (cmbReports.SelectedIndex == 6)
                {
                    /// Validation
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    startDate = (DateTime)dateStart.SelectedDate;
                    endDate   = (DateTime)dateEnd.SelectedDate;

                    /// Header If Statement

                    if (selectedUser != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + txtCustomer.Text + "'s paid invoices from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + "Paid Invoices from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }

                    /// Calling API Service for Unpaid Invoices

                    selectedInvoices = await InvoiceProcessor.getPaidinvoices(currentUser.Privileges, currentUser.Token);


                    /// Testing to see if there are any paid invoices for date

                    if (selectedInvoices == null)
                    {
                        MessageBox.Show("There are no invoices to display.");
                        return;
                    }

                    /// Adding invoices in listbox

                    foreach (InvoiceModel m in selectedInvoices)
                    {
                        if (selectedUser != null)
                        {
                            if (m.CustomerID == selectedUser.UserID)
                            {
                                if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                                {
                                    lstReports.Items.Add(m);
                                }
                            }
                        }

                        else
                        {
                            if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                            {
                                lstReports.Items.Add(m);
                            }
                        }
                    }
                }

                // If Unpaid Invoices is checked -- LR

                if (cmbReports.SelectedIndex == 7)
                {
                    /// Validation

                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }
                    startDate = (DateTime)dateStart.SelectedDate;
                    endDate   = (DateTime)dateEnd.SelectedDate;


                    /// Header If Statement

                    if (selectedUser != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + txtCustomer.Text + "'s unpaid invoices from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + "Unpaid Invoices from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }

                    /// Calling API Service for Unpaid Invoices

                    selectedInvoices = await InvoiceProcessor.getUnpaidInvoices(currentUser.Privileges, currentUser.Token);

                    /// Testing to see if there are any paid invoices for date

                    if (selectedInvoices == null)
                    {
                        MessageBox.Show("There are no invoices to display.");
                        return;
                    }

                    /// Adding invoices in listbox

                    foreach (InvoiceModel m in selectedInvoices)
                    {
                        if (selectedUser != null)
                        {
                            if (m.CustomerID == selectedUser.UserID)
                            {
                                if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                                {
                                    lstReports.Items.Add(m);
                                }
                            }
                        }

                        else
                        {
                            if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                            {
                                lstReports.Items.Add(m);
                            }
                        }
                    }
                }
                // test comment
                // If overdue invoices is checked -- LR

                if (cmbReports.SelectedIndex == 8)
                {
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }


                    startDate = (DateTime)dateStart.SelectedDate;
                    endDate   = (DateTime)dateEnd.SelectedDate;

                    selectedInvoices = await InvoiceProcessor.getOverdueInvoices(currentUser.Privileges, currentUser.Token);

                    if (selectedInvoices == null)
                    {
                        MessageBox.Show("There are no invoices to display.");
                        return;
                    }

                    if (selectedUser != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + txtCustomer.Text + "'s overdue invoices from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + "Overdue invoices from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }

                    foreach (InvoiceModel m in selectedInvoices)
                    {
                        if (selectedUser != null)
                        {
                            if (m.CustomerID == selectedUser.UserID)
                            {
                                if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                                {
                                    lstReports.Items.Add(m);
                                }
                            }
                        }

                        else
                        {
                            if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                            {
                                lstReports.Items.Add(m);
                            }
                        }
                    }
                }

                // If due invoices is checked -- LR

                if (cmbReports.SelectedIndex == 9)
                {
                    if (dateStart.SelectedDate == null || dateEnd.SelectedDate == null)
                    {
                        MessageBox.Show("Please select a start and end date");
                        return;
                    }


                    startDate = (DateTime)dateStart.SelectedDate;
                    endDate   = (DateTime)dateEnd.SelectedDate;

                    selectedInvoices = await InvoiceProcessor.getUnderdueInvoices(currentUser.Privileges, currentUser.Token);

                    if (selectedInvoices == null)
                    {
                        MessageBox.Show("There are no invoices to display.");
                        return;
                    }

                    if (selectedUser != null)
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + txtCustomer.Text + "'s due invoices (not overdue) from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }
                    else
                    {
                        lstReports.Items.Add("\t\t\t\t\t" + "Due invoices (not overdue) from " + startDate.ToString("MM/dd/yyyy") + " to " + endDate.ToString("MM/dd/yyyy"));
                    }

                    foreach (InvoiceModel m in selectedInvoices)
                    {
                        if (selectedUser != null)
                        {
                            if (m.CustomerID == selectedUser.UserID)
                            {
                                if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                                {
                                    lstReports.Items.Add(m);
                                }
                            }
                        }

                        else
                        {
                            if (DateTime.Parse(m.InvoiceDate) >= dateStart.SelectedDate && DateTime.Parse(m.InvoiceDate) <= dateEnd.SelectedDate)
                            {
                                lstReports.Items.Add(m);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }