Ejemplo n.º 1
0
        public static void DeleteRent()
        {
            var input = "";

            while (true)
            {
                OutputOfThings.OutputLists(area);
                input = Input(Controller.GetLowestNumberInList(area), Controller.GetHighestNumberInList(area), "z");
                if (input == "z")
                {
                    break;
                }
                var rent = (Leihvorgang)Controller.GetObjectThroughNumber(Convert.ToInt32(input), area);
                if (rent == null)
                {
                    Console.WriteLine("Es wurde kein Leihvorgang mit der eingegebenen Id gefunden.");
                }
                else
                {
                    if (rent.Buch.GetType() == typeof(Exemplar))
                    {
                        var copy = (Exemplar)rent.Buch;
                        copy.IstAusgeliehen = false;
                    }

                    Controller.DeleteTheRent(rent);
                    Controller.CreateDelRent(rent);
                }
            }
        }
Ejemplo n.º 2
0
 public static void EditMagazin()
 {
     if (Controller.products.Count != 0)
     {
         var property = "";
         var newValue = "";
         var input    = "";
         while (true)
         {
             OutputOfThings.OutputLists(area);
             input = Input(Controller.GetLowestNumberInList(area), Controller.GetHighestNumberInList(area), "z");
             if (input == "z")
             {
                 break;
             }
             var magazin = (Magazin)Controller.GetObjectThroughNumber(Convert.ToInt32(input), area);
             if (magazin == null)
             {
                 Console.WriteLine("Es wurde kein Buch mit der eingegebenen Id gefunden.");
             }
             else
             {
                 Console.Clear();
                 OutputOfThings.OutputObject(magazin, area);
                 Console.WriteLine("Was davon wollen Sie ändern?");
                 property = GetUserInputData("Eigenschaft", false);
                 newValue = GetUserInputData("Neuer Wert", Controller.IsNumbProperty(property));
                 magazin.ÄndereEigenschaft(newValue, property);
                 OutputOfThings.OutputObject(magazin, area);
                 OutputOfThings.ReadKeyMethod();
             }
         }
     }
 }
Ejemplo n.º 3
0
 private static void DeleteMagazin()
 {
     if (Controller.products.Count != 0)
     {
         var input = "";
         while (true)
         {
             OutputOfThings.OutputLists(area);
             input = Input(Controller.GetLowestNumberInList(area), Controller.GetHighestNumberInList(area), "z");
             if (input == "z")
             {
                 break;
             }
             var magazin = (Magazin)Controller.GetObjectThroughNumber(Convert.ToInt32(input), area);
             if (magazin == null)
             {
                 Console.WriteLine("Es wurde kein Buch mit der eingegebenen Id gefunden.");
             }
             else
             {
                 Console.Clear();
                 OutputOfThings.OutputObject(magazin, area);
                 while (true)
                 {
                     if (Controller.HaveDeletingBookCopieInRents(magazin))
                     {
                         break;
                     }
                     Console.WriteLine("Wollen Sie wirklich das Buch entfernen! [j/n]");
                     input = Console.ReadLine();
                     if (input == "j")
                     {
                         Controller.DeleteCopies(magazin);
                         Controller.DeleteMagazin(magazin);
                         break;
                     }
                     else if (input == "n")
                     {
                         break;
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 4
0
 public static void RebuildRent(GelöschterLeihvorgang delRent)
 {
     if (IsCopyInRebuildingRentPresent(delRent))
     {
         Leihvorgang rent = new Leihvorgang(delRent.LeihvorgangId, delRent.Buch, delRent.Person, delRent.Ausleihdatum, delRent.Rückgabedatum);
         delRents.Remove(delRent);
         rents.Add(rent);
         if (rent.Buch.GetType() == typeof(Exemplar))
         {
             var copy = (Exemplar)rent.Buch;
             copy.IstAusgeliehen = true;
         }
         Console.WriteLine("Die Wiederherstellung war erfolgreich.");
     }
     else
     {
         Console.WriteLine("Das Buch in diesem Leihvorgang ist zurzeit schon ausgeliehen. Der Wiederherstellung war nicht erfolgreich.");
     }
     OutputOfThings.ReadKeyMethod();
 }
Ejemplo n.º 5
0
        public static bool HaveDeletingBookCopieInRents(object _object)
        {
            var isCopieInRent = false;

            foreach (var item in copies)
            {
                var newObject = (IPh_Produkt)_object;
                var newItem   = (IPh_Produkt)item.Produkt;
                if (newItem.Id == newObject.Id && item.IstAusgeliehen)
                {
                    isCopieInRent = true;
                    break;
                }
            }
            if (isCopieInRent)
            {
                Console.WriteLine("Das Buch konnte nicht gelöscht werden! Da sich Exemplare von diesem Buch noch im Ausleih befinden.");
                OutputOfThings.ReadKeyMethod();
            }
            return(isCopieInRent);
        }
Ejemplo n.º 6
0
        //
        private static void EditCopy()
        {
            var input    = "";
            var property = false;

            while (true)
            {
                OutputOfThings.OutputLists(area);
                input = Input(Controller.GetLowestNumberInList(area), Controller.GetHighestNumberInList(area), "z");
                if (input == "z")
                {
                    break;
                }
                var copy = (Exemplar)Controller.GetObjectThroughNumber(Convert.ToInt32(input), area);
                if (copy == null)
                {
                    Console.WriteLine("Es wurde kein Buch mit der eingegebenen Id gefunden.");
                }
                else
                {
                    Console.Clear();
                    OutputOfThings.OutputObject(copy, area);
                    Console.WriteLine("Bei Exemplaren können Sie nur den Zustand 'Geliehen' ändern.");
                    property = GetUserInputData("Ist das Exemplar vorhanden? [j/n]", false) != "j";
                    if (Controller.IsCopyInRent(copy))
                    {
                        Console.WriteLine("Exemplar ist zurzeit noch ausgeliehen, deshalb kann sich der zustand nicht ändern!");
                        OutputOfThings.ReadKeyMethod();
                    }
                    else
                    {
                        copy.ÄndereEigenschaft("", property.ToString());
                    }
                }
            }
            OutputOfThings.ReadKeyMethod();
        }
Ejemplo n.º 7
0
        /*
         * Als erstes wird überprüft ob es überhaupt gelöschte Leihvorgänge existieren
         * Danach wird nach einer Nummer für eins der Angezeigten gelöschten Leihvorgänge verlangt
         * Mit der Nummer wird dann das Objekt in delRent gespeichert, falls das Objekt null ist, wird ein Fehler ausgegeben
         * Falls von dem Leihvorgang das Buch nicht vorhanden ist, wird auch nochmal eine Fehlermeldung ausgegeben
         * Falls das Objekt gefunden wurde, wird nochmal nachgefragt ob der Leihvorgang wirklich erstellt werden soll
         *
         */
        public static void RebuildDelRent()
        {
            var input = "";

            if (Controller.delRents.Count > 0)
            {
                while (true)
                {
                    OutputOfThings.OutputLists(area);
                    input = Input(Controller.GetLowestNumberInList(area), Controller.GetHighestNumberInList(area), "z");
                    if (input == "z")
                    {
                        break;
                    }
                    var delRent = (GelöschterLeihvorgang)Controller.GetObjectThroughNumber(Convert.ToInt32(input), area);
                    var copy    = delRent.Buch;
                    if (delRent == null)
                    {
                        Console.WriteLine("Es wurde kein Leihvorgang mit der eingegebenen Id gefunden.");
                    }
                    else
                    {
                        if (copy.GetType() == typeof(Exemplar))
                        {
                            var newCopy = (Exemplar)copy;
                            if (newCopy.IstAusgeliehen)
                            {
                                Console.WriteLine("Das Exemplar was in diesem Leihvorgang ist, ist zurzeit nicht vorhanden");
                            }
                            else
                            {
                                OutputOfThings.OutputObject(delRent, area);
                                Console.WriteLine("Wollen Sie den Leihvorgang wirklich wiederherstellen? [j/n]");
                                input = Console.ReadLine();
                                if (input == "j")
                                {
                                    Controller.RebuildRent(delRent);
                                    break;
                                }
                                else if (input == "n")
                                {
                                    break;
                                }
                            }
                        }
                        else
                        {
                            OutputOfThings.OutputObject(delRent, area);
                            Console.WriteLine("Wollen Sie den Leihvorgang wirklich wiederherstellen? [j/n]");
                            input = Console.ReadLine();
                            if (input == "j")
                            {
                                Controller.RebuildRent(delRent);
                                break;
                            }
                            else if (input == "n")
                            {
                                break;
                            }
                        }
                    }
                }
            }
            else
            {
                Console.WriteLine("Keine gelöschten Leihvorgänge vorhanden.");
            }
        }
Ejemplo n.º 8
0
        public static void EditRent()
        {
            var input    = "";
            var property = "";
            var newValue = "";

            while (true)
            {
                OutputOfThings.OutputLists(area);
                input = Input(Controller.GetLowestNumberInList(area), Controller.GetHighestNumberInList(area), "z");
                if (input == "z")
                {
                    break;
                }
                var rent = (Leihvorgang)Controller.GetObjectThroughNumber(Convert.ToInt32(input), area);
                if (rent == null)
                {
                    Console.WriteLine("Es wurde kein Leihvorgang mit der eingegebenen Id gefunden.");
                }
                else
                {
                    Console.Clear();
                    OutputOfThings.OutputObject(rent, area);
                    Console.WriteLine("Was davon wollen Sie ändern?");
                    property = GetUserInputData("Eigenschaft", false);
                    if (property == "Ausleihdatum" || property == "Rückgabedatum")
                    {
                        newValue = GetRentBeginDate();
                        rent.LeihvorgangBearbeiten(property, newValue);
                    }
                    else if (property == "Buch")
                    {
                        OutputOfThings.OutputLists(Controller.Area.Book);
                        newValue = Input(Controller.GetLowestNumberInList(Controller.Area.Book), Controller.GetHighestNumberInList(Controller.Area.Book), "z");
                        var book = (IPh_Produkt)Controller.GetObjectThroughNumber(Convert.ToInt32(newValue), Controller.Area.Book);
                        if (WantAEBook())
                        {
                            var eProduct = Controller.GetObjectThroughNumber(book.Id, Controller.Area.EProduct);
                            var copy     = (Exemplar)rent.Buch;
                            copy.IstAusgeliehen = false;
                            rent.Buch           = eProduct;
                            break;
                        }

                        var list = Controller.GetPresentCopies(book);
                        if (list.Count == 0)
                        {
                            Console.WriteLine("Dieses Buch ist zurzeit nicht auf Lager.");
                        }
                        else
                        {
                            Console.WriteLine($"Diese {list.Count} Exemplare sind vorhanden");
                            OutputOfThings.OutputCopies(list, area);
                            input = GetUserInputData("Nummer vom Exemplar", true);
                            var copy = (Exemplar)Controller.GetObjectThroughNumber(Convert.ToInt32(input), Controller.Area.Copy);
                            if (copy == null)
                            {
                                Console.WriteLine("Es wurde kein Exemplar mit der eingegebenen Id gefunden.");
                            }
                            else
                            {
                                copy = (Exemplar)rent.Buch;
                                copy.IstAusgeliehen = false;
                                rent.LeihvorgangBearbeiten(property, input);
                                copy = (Exemplar)rent.Buch;
                                copy.IstAusgeliehen = true;
                            }
                        }
                    }
                    else
                    {
                        newValue = GetUserInputData("Neuer Wert", Controller.IsNumbProperty(property));
                        rent.LeihvorgangBearbeiten(property, newValue);
                    }
                    OutputOfThings.OutputObject(rent, area);
                    OutputOfThings.ReadKeyMethod();
                }
            }
        }
Ejemplo n.º 9
0
        public static object GetExemplar()
        {
            var input = "";
            var copy  = new object();

            while (true)
            {
                Console.Clear();
                OutputOfThings.OutputLists(Controller.Area.Book);
                Console.WriteLine("Welches Buch soll ausgeliehen werden?");
                input = Input(Controller.GetLowestNumberInList(Controller.Area.Book), Controller.GetHighestNumberInList(Controller.Area.Book), "z");
                if (input == "z")
                {
                    break;
                }
                var book = (IPh_Produkt)Controller.GetObjectThroughNumber(Convert.ToInt32(input), Controller.Area.Book);
                if (book == null)
                {
                    Console.WriteLine("Es wurde kein Buch mit der eingegebenen Id gefunden.");
                }
                else
                {
                    if (WantAEBook())
                    {
                        var eBook = Controller.GetObjectThroughNumber(book.Id, Controller.Area.EProduct);
                        return(eBook);
                    }
                    else
                    {
                        while (true)
                        {
                            var listOfCopies = Controller.GetPresentCopies(book);
                            if (listOfCopies.Count == 0)
                            {
                                Console.WriteLine("Dieses Buch ist zurzeit nicht vorhanden!");
                                copy = null;
                                break;
                            }
                            Console.WriteLine($"Diese {listOfCopies.Count} Exemplare sind vorhanden");
                            OutputOfThings.OutputCopies(listOfCopies, area);
                            input = GetUserInputData("Nummer vom Exemplar", true);
                            copy  = (Exemplar)Controller.GetObjectThroughNumber(Convert.ToInt32(input), Controller.Area.Copy);
                            if (copy == null)
                            {
                                Console.WriteLine("Es wurde kein Exemplar mit der eingegebenen Id gefunden");
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    break;
                }
            }
            if (input == "z")
            {
                return(null);
            }
            return(copy);
        }