Ejemplo n.º 1
0
        private void BtnAddItem_Click(object sender, RoutedEventArgs e)
        {
            ItemObject itemToAdd = null;
            bool       goodToGo  = true;

            if (ItemController.Instance.CheckIfMifareIsItem(textBoxItemMifare.Text) == null)
            {
                if (itemsToInsert.Any())
                {
                    foreach (ItemObject itemMifare in itemsToInsert)
                    {
                        if (itemMifare.ItemMifare != textBoxItemMifare.Text)
                        {
                            goodToGo = true;
                        }
                        else
                        {
                            MessageBox.Show("Dette Produkt Er Allerede I Listen");
                            goodToGo = false;
                            ClearBoxes();
                            textBoxItemMifare.Focus();
                        }
                    }

                    if (ComboBoxTypes.SelectedItem.Equals("Computer") && goodToGo)
                    {
                        itemToAdd = new ItemObject(textBoxItemMifare.Text, selectedTypeID.ToString(), selectedManufacturerID.ToString(), selectedModelID.ToString(), Convert.ToInt16(textBoxID.Text), textBoxSerialNumber.Text);
                        if (!itemsToInsert.Contains(itemToAdd))
                        {
                            this.ListViewAddItems.Items.Add(new ItemObject(textBoxItemMifare.Text, ComboBoxTypes.SelectedItem.ToString(), ComboBoxManufacturers.SelectedItem.ToString(), ComboBoxModels.SelectedItem.ToString(), Convert.ToInt16(textBoxID.Text), textBoxSerialNumber.Text));
                            itemsToInsert.Add(itemToAdd);
                        }
                        else
                        {
                            MessageBox.Show("Dette Mifare Er Allerede I Brug!");
                        }
                        ClearBoxes();
                        textBoxItemMifare.Focus();
                    }
                    else if (goodToGo)
                    {
                        foreach (ItemObject item in itemsToInsert)
                        {
                            if (!listOfIds.Contains(item.Id) && ItemController.Instance.GetItemModelName(Convert.ToUInt16(item.Model)) == ComboBoxModels.SelectedItem.ToString())
                            {
                                listOfIds.Add(item.Id);
                            }
                        }
                        itemToAdd = new ItemObject(textBoxItemMifare.Text, selectedTypeID.ToString(), selectedManufacturerID.ToString(), selectedModelID.ToString(), ItemController.Instance.CalculateNextID(selectedModelID, listOfIds), textBoxSerialNumber.Text);
                        if (!itemsToInsert.Contains(itemToAdd))
                        {
                            UIShowID bigIdBox = new UIShowID(itemToAdd.Id);
                            bigIdBox.ShowDialog();
                            this.ListViewAddItems.Items.Add(new ItemObject(textBoxItemMifare.Text, ComboBoxTypes.SelectedItem.ToString(), ComboBoxManufacturers.SelectedItem.ToString(), ComboBoxModels.SelectedItem.ToString(), itemToAdd.Id, ""));
                            itemsToInsert.Add(itemToAdd);
                        }
                        else
                        {
                            MessageBox.Show("Dette Mifare Er Allerede I Brug!");
                        }
                        ClearBoxes();
                        listOfIds.Clear();
                        textBoxItemMifare.Focus();
                    }
                }
                else
                {
                    if (ComboBoxTypes.SelectedItem.Equals("Computer"))
                    {
                        itemToAdd = new ItemObject(textBoxItemMifare.Text, selectedTypeID.ToString(), selectedManufacturerID.ToString(), selectedModelID.ToString(), Convert.ToInt16(textBoxID.Text), textBoxSerialNumber.Text);
                        if (!itemsToInsert.Contains(itemToAdd))
                        {
                            this.ListViewAddItems.Items.Add(new ItemObject(textBoxItemMifare.Text, ComboBoxTypes.SelectedItem.ToString(), ComboBoxManufacturers.SelectedItem.ToString(), ComboBoxModels.SelectedItem.ToString(), Convert.ToInt16(textBoxID.Text), textBoxSerialNumber.Text));
                            itemsToInsert.Add(itemToAdd);
                        }
                        else
                        {
                            MessageBox.Show("Dette Mifare Er Allerede I Brug!");
                        }
                        ClearBoxes();
                        textBoxItemMifare.Focus();
                    }
                    else
                    {
                        foreach (ItemObject item in itemsToInsert)
                        {
                            if (!listOfIds.Contains(item.Id) && ItemController.Instance.GetItemModelName(Convert.ToUInt16(item.Model)) == ComboBoxModels.SelectedItem.ToString())
                            {
                                listOfIds.Add(item.Id);
                            }
                        }
                        itemToAdd = new ItemObject(textBoxItemMifare.Text, selectedTypeID.ToString(), selectedManufacturerID.ToString(), selectedModelID.ToString(), ItemController.Instance.CalculateNextID(selectedModelID, listOfIds), textBoxSerialNumber.Text);
                        if (!itemsToInsert.Contains(itemToAdd))
                        {
                            UIShowID bigIdBox = new UIShowID(itemToAdd.Id);
                            bigIdBox.ShowDialog();
                            this.ListViewAddItems.Items.Add(new ItemObject(textBoxItemMifare.Text, ComboBoxTypes.SelectedItem.ToString(), ComboBoxManufacturers.SelectedItem.ToString(), ComboBoxModels.SelectedItem.ToString(), itemToAdd.Id, ""));
                            itemsToInsert.Add(itemToAdd);
                        }
                        else
                        {
                            MessageBox.Show("Dette Mifare Er Allerede I Brug!");
                        }
                        ClearBoxes();
                        listOfIds.Clear();
                        textBoxItemMifare.Focus();
                    }
                }
            }
            else
            {
                MessageBox.Show("Dette Produkt Er Allerede I DataBasen");
                ClearBoxes();
                textBoxItemMifare.Focus();
            }
        }
Ejemplo n.º 2
0
        private void OnMyfareScanned(object sender, KeyEventArgs e)                                         // Runs when a key is pressed.
        {
            if (TextBoxMain.IsFocused)                                                                      // checks if the maintextbox is focused
            {
                if (e.Key == Key.Return)                                                                    // checks if its the enter button that has been pressed
                {
                    ItemObject scannedItem = ItemController.Instance.CheckIfMifareIsItem(TextBoxMain.Text); //Tjekker om den kan finde et item udfra det scannede Mifare. Hvis den ikke returner et item er scannedItem = null og mifare er enter en user eller findes ikke

                    if (scannedItem == null)                                                                //On User Scanned
                    {
                        LendedObject lendedObject = LendController.Instance.GetUserData(TextBoxMain.Text);  //Henter Det lended Object der tilhøre det usermifare der er blevet scanned, inklusive alle hans date, hans nuværende lån og hans arkiv
                        if (lendedObject.UserObject == null)                                                //Hvis userobject er null findes han ikke og skal derfor hentes fra den gamle database
                        {
                            if (!CheckForInternetConnection())                                              //Tjekker om der er internet
                            {
                                MessageBox.Show("Der Er Ikke Noget Internet");
                            }
                            else if (isItemsLended == true && lendedObject.UserObject.UserMifare != userInUse.UserMifare) //Tjekker at du ikke scanner 2 forskellige brugeres udstyr i samma omgang
                            {
                                MessageBox.Show("Du kan ikke scanne udstyr der er udlånt til forskellige brugere!");
                            }
                            else
                            {
                                /*
                                 * Denne del af koden er UDELUKKENDE til mmigration så udstyret bliver afleveret i den gamle DB!!!
                                 */
                                if (MigrationController.Instance.CheckIfItemIsLendedInOldDB(TextBoxMain.Text))//Hvis mifaret ikke tilhøre en bruger skal vi tjekke om det er udlånt i den gamle DB og aflevere det
                                {
                                    MigrationController.Instance.ReturnItemInOldDB(TextBoxMain.Text);
                                    MessageBox.Show("Udstyret er afleveret i den gamle databse, men er ikke scannet ind i den nye!" + Environment.NewLine + "Scan det venligst ind når i har tid!");
                                }
                                else
                                {
                                    MessageBox.Show("Findes ikke i databasen!");
                                }

                                /*
                                 * Her Til
                                 */
                            }
                        }
                        else
                        {
                            if (isItemsLended == true && lendedObject.UserObject.UserMifare != userInUse.UserMifare) //sikre sig at man ikke scanner udstyr der tilhøre én bruger og derefter scanner en anden bruger i samme omgang
                            {
                                MessageBox.Show("Du kan ikke scanne andre brugere end den udstyret tilhøre!");
                            }
                            else
                            {
                                isUserScanned = true;                //Vi sætter isUserScanned for at sikre os at han ikke kan aflevere uden selv at være tilstede

                                userInUse = lendedObject.UserObject; //Vi sætter userInUse for at sikre os at man ikke scanner forskellige brugere sammen

                                PrintUserData(lendedObject);         //Printer alle hans data og hans nuværende lån/arkiv

                                CommentCheck(lendedObject);          //tjekker om der er nogle noter skrevet om personen
                            }
                        }
                    }
                    else //On Items Scanned
                    {
                        string     userMifare        = LendController.Instance.CheckIfLended(scannedItem.ItemMifare);//Tjekker om det item der er scanned er udlånt til en person, hvis der er udlånt skal vi hante alle hans data g hans lån/arkiv
                        TimeSpan   timeSpanMonToThur = Settings.Default.TimeForReturnMonToThur; //Afleveringsdato for man-tors
                        TimeSpan   timeSpanFri       = Settings.Default.TimeForReturnFriday;    //Afleveringsdato for fradag
                        LendObject scannedLendObject = null;

                        if (DateTime.Now.DayOfWeek == DayOfWeek.Friday)//Hvis der er valgt at afleveringsdatoen er fredag
                        {
                            scannedLendObject = new LendObject(scannedItem, DateTime.Now, datePickerReturn.SelectedDate.Value.Date + timeSpanFri, null);
                        }
                        else
                        {
                            scannedLendObject = new LendObject(scannedItem, DateTime.Now, datePickerReturn.SelectedDate.Value.Date + timeSpanMonToThur, null);
                        }

                        if (userMifare != "")//Hvis userMifare indeholder noget, er itemmet udlånt
                        {
                            //ScannedItem Er Udlånt
                            if (isItemsLended != false)                                      //Tjekker at vi ikke scanne udlånt udstyr med ikk-udlånt udstyr
                            {
                                if (userInUse == null || userMifare == userInUse.UserMifare) //Tjekker at du ikke scanne udstyr der er udlånt til andre end den bruger der er i gang
                                {
                                    isItemsLended = true;
                                    if (!ScannedItemMifares.Contains(scannedItem.ItemMifare))                        //tjekker at vi ikke scanner det samme mifare mere end én gang
                                    {
                                        LendedObject lendedObject = LendController.Instance.GetUserData(userMifare); //henter brugeren som itemmet er udlånt til's date, lån/arkiv

                                        foreach (LendObject lendObject in lendedObject.LendObjects)                  //giver det scanned udtyr de rigtige datoer, istedet for de datoer som der er valgt
                                        {
                                            if (lendObject.ItemObject.ItemMifare == scannedLendObject.ItemObject.ItemMifare)
                                            {
                                                scannedLendObject.ReturnDate = lendObject.ReturnDate;
                                                scannedLendObject.LendDate   = lendObject.LendDate;
                                            }
                                        }

                                        PrintItemToList(scannedLendObject);  //printer itemmet til listen over scannet items

                                        userInUse = lendedObject.UserObject; //Vi sætter userInUse for at sikre os at man ikke scanner forskellige brugere sammen
                                        if (lendedObject.UserObject == null)
                                        {
                                            MessageBox.Show("Brugeren der har lånt dette produkt kan ikke findes i databasen. Der kan stadig afleveres men du kan ikke se hvem der har haft lånt dette.");
                                        }
                                        else
                                        {
                                            PrintUserData(lendedObject); //Printer alle hans data og hans nuværende lån/arkiv

                                            CommentCheck(lendedObject);  //tjekker om der er nogle noter skrevet om personen
                                        }
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Du kan kun scanne udstyr er udlånt til samme bruger!");
                                }
                            }
                            else
                            {
                                MessageBox.Show("Du må IKKE scanne udstyr der er udlånt med udstyr der ikke er udlånt!");
                            }
                        }
                        else
                        {
                            //ScannedItem Er IKKE Udlånt
                            if (isItemsLended != true)//tjekker at du ikke scanner udlånt udstyr med ikke-udlånt udstyr
                            {
                                isItemsLended = false;
                                try
                                {
                                    if (!ScannedItemMifares.Contains(scannedItem.ItemMifare))                                               //Tjekker at du ikke scanner det samme mifare mere end én gang
                                    {
                                        if (userInUse != null)                                                                              //Hvis vi har scannet en bruger
                                        {
                                            if (userInUse.HasPC && !userInUse.IsTeacher && scannedLendObject.ItemObject.Type == "Computer") //tjekker om han har en computer og om han er lærer
                                            {
                                                MessageBox.Show("Denne Bruger Har Allerede 1 Computer Og Er Ikke Lærer");
                                            }
                                            else
                                            {
                                                PrintItemToList(scannedLendObject);//printer itemmet til listen over scannet items
                                            }
                                        }
                                        else
                                        {
                                            PrintItemToList(scannedLendObject);//printer itemmet til listen over scannet items
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Du Har Allerede Scannet Dette Produkt");
                                    }
                                }
                                catch (Exception)
                                {
                                    MessageBox.Show("Noget Gik Galt Fejlkode: 10x5");
                                }
                            }
                            else
                            {
                                MessageBox.Show("Du må IKKE scanne udstyr der ikke er udlånt med udstyr der er udlånt!");
                            }
                        }
                    }
                    TextBoxMain.Text = "";     //clear Main TextBox
                    TextBoxMain.Focus();       //focuser Main TextBox
                    if (isItemsLended == true) //hvis vi har scannet et udstyr der er udlånt skal den disable ButtonLend
                    {
                        ButtonReturn.IsEnabled            = true;
                        ButtonReturnWIthoutCard.IsEnabled = true;
                        ButtonLend.IsEnabled = false;
                    }
                    else//hvis vi har scannet et udstyr der ikke er udlånt skal den disable ButtonReturn
                    {
                        ButtonLend.IsEnabled   = true;
                        ButtonReturn.IsEnabled = false;
                    }
                }
            }
        }