Esempio n. 1
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();
                }
            }
        }
Esempio n. 2
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);
        }