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, "")); }
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; } } } }