Exemplo n.º 1
0
 private void PrintItemToList(LendObject lendObject)
 {
     scannedItems.Add(lendObject);
     ScannedItemMifares.Add(lendObject.ItemObject.ItemMifare);
     this.ListViewItems.Items.Add(new ListViewObject(lendObject.ItemObject.ItemMifare, lendObject.ItemObject.Type,
                                                     lendObject.ItemObject.Manufacturer, lendObject.ItemObject.Model, lendObject.ItemObject.Id, lendObject.ItemObject.SerialNumber,
                                                     lendObject.LendDate, lendObject.ReturnDate, lendObject.ReturnedDate, null, ""));
 }
Exemplo 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;
                    }
                }
            }
        }