예제 #1
0
        private void ClearUI()
        {
            scannedItems       = new List <LendObject>();
            ScannedItemMifares = new List <string>();
            userInUse          = null;

            LabelNameResult.Visibility       = Visibility.Hidden;
            LabelZbcNameResult.Visibility    = Visibility.Hidden;
            LabelPhoneResult.Visibility      = Visibility.Hidden;
            LabelTeacherResult.Visibility    = Visibility.Hidden;
            LabelIsDisabledResult.Visibility = Visibility.Hidden;
            LabelIsScannedResult.Visibility  = Visibility.Hidden;

            ButtonComment.IsEnabled = false;

            this.ListViewLend.Items.Clear();
            this.ListViewItems.Items.Clear();

            this.datePickerReturn.SelectedDate = DateTime.Now;

            isUserScanned = false;
            isItemsLended = null;

            TextBoxMain.Focus();

            ButtonReturn.IsEnabled            = false;
            ButtonReturnWIthoutCard.IsEnabled = false;
            ButtonLend.IsEnabled = false;
        }
예제 #2
0
 private void DatePickerReturn_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
 {
     if (datePickerReturn.SelectedDate.Value.DayOfWeek == DayOfWeek.Saturday || datePickerReturn.SelectedDate.Value.DayOfWeek == DayOfWeek.Sunday)
     {
         MessageBox.Show("Du må ikke vælge at afleveringsdatoen skal være i weekenden!");
         datePickerReturn.SelectedDate = DateTime.Now;
     }
     else
     {
         if (ListViewItems.SelectedItems.Count != 0)
         {
             foreach (ListViewObject listViewObject in ListViewItems.SelectedItems)
             {
                 foreach (LendObject lendObject in scannedItems.ToList())
                 {
                     if (lendObject.ItemObject.ItemMifare == listViewObject.ItemMifare)
                     {
                         lendObject.ReturnDate = datePickerReturn.SelectedDate.Value.Date;
                     }
                 }
             }
             RefreshListViewItems();
         }
     }
     TextBoxMain.Focus();
 }
예제 #3
0
        private void ButtonComment_Click(object sender, RoutedEventArgs e)
        {
            UIUserNote uiUserNote = new UIUserNote(userInUse);

            uiUserNote.ShowDialog();
            TextBoxMain.Focus();
        }
예제 #4
0
        private void ButtonUser_Click(object sender, RoutedEventArgs e)
        {
            UIInputUser inputUserbox = new UIInputUser();

            inputUserbox.ShowDialog();
            TextBoxMain.Focus();
        }
예제 #5
0
        private void ButtonItem_Click(object sender, RoutedEventArgs e)
        {
            UIInputItem inputItembox = new UIInputItem();

            inputItembox.ShowDialog();
            TextBoxMain.Focus();
        }
예제 #6
0
 private void ButtonDeleteItems_Click(object sender, RoutedEventArgs e)
 {
     foreach (ListViewObject listViewObject in ListViewItems.SelectedItems)
     {
         foreach (LendObject lendObject in scannedItems.ToList())
         {
             if (lendObject.ItemObject.ItemMifare == listViewObject.ItemMifare)
             {
                 scannedItems.Remove(lendObject);
                 ScannedItemMifares.Remove(lendObject.ItemObject.ItemMifare);
             }
         }
     }
     RefreshListViewItems();
     TextBoxMain.Focus();
 }
예제 #7
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;
                    }
                }
            }
        }
예제 #8
0
 public MainWindow()
 {
     InitializeComponent();
     TextBoxMain.Focus();
     StartScanner();
 }
예제 #9
0
        public void PrintUserData(LendedObject lendedObject)
        {
            LabelNameResult.Content    = ($"{lendedObject.UserObject.FName} {lendedObject.UserObject.LName}");
            LabelNameResult.Visibility = Visibility.Visible;

            LabelZbcNameResult.Content    = lendedObject.UserObject.ZbcName;
            LabelZbcNameResult.Visibility = Visibility.Visible;

            LabelPhoneResult.Content    = lendedObject.UserObject.PhoneNumber;
            LabelPhoneResult.Visibility = Visibility.Visible;

            LabelTeacherResult.Content = (lendedObject.UserObject.IsTeacher) ? "Ja" : "Nej";

            LabelIsDisabledResult.Content    = (userInUse.IsDisabled) ? "Ja" : "Nej";
            LabelIsDisabledResult.Foreground = (userInUse.IsDisabled) ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.Green);

            LabelIsScannedResult.Content    = (isUserScanned) ? "Ja" : "Nej";
            LabelIsScannedResult.Foreground = (isUserScanned) ? new SolidColorBrush(Colors.Green) : new SolidColorBrush(Colors.Red);

            //if (userInUse.IsDisabled)
            //{
            //    LabelIsDisabledResult.Content = "Ja";
            //    LabelIsDisabledResult.Foreground = new SolidColorBrush(Colors.Red);
            //}
            //else
            //{
            //    LabelIsDisabledResult.Content = "Nej";
            //    LabelIsDisabledResult.Foreground = new SolidColorBrush(Colors.Green);
            //}

            //if (isUserScanned)
            //{
            //    LabelIsScannedResult.Content = "Ja";
            //    LabelIsScannedResult.Foreground = new SolidColorBrush(Colors.Green);
            //}
            //else
            //{
            //    LabelIsScannedResult.Content = "Nej";
            //    LabelIsScannedResult.Foreground = new SolidColorBrush(Colors.Red);
            //}

            LabelTeacherResult.Visibility    = Visibility.Visible;
            LabelIsDisabledResult.Visibility = Visibility.Visible;
            LabelIsScannedResult.Visibility  = Visibility.Visible;

            ButtonComment.IsEnabled = true;

            this.ListViewLend.Items.Clear();

            foreach (LendObject lendObject in lendedObject.LendObjects)
            {
                bool?isOverdue = null;

                if (lendObject.ReturnDate.Date < DateTime.Now.Date && lendObject.ReturnedDate == null)
                {
                    isOverdue = true;
                }
                else if (lendObject.ReturnDate.Date > DateTime.Now.Date && lendObject.ReturnedDate == null)
                {
                    isOverdue = false;
                }
                else if (lendObject.ReturnDate.Date == DateTime.Now.Date && lendObject.ReturnedDate == null)
                {
                    if (lendObject.ReturnDate.TimeOfDay < DateTime.Now.TimeOfDay && lendObject.ReturnedDate == null)
                    {
                        isOverdue = true;
                    }
                    else if (lendObject.ReturnDate.TimeOfDay >= DateTime.Now.TimeOfDay && lendObject.ReturnedDate == null)
                    {
                        isOverdue = false;
                    }
                }
                this.ListViewLend.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, isOverdue, ""));
            }
            TextBoxMain.Focus();
        }