예제 #1
0
        public LibraryAppUserDto GetUser(string username)
        {
            LibraryAppUserEntity libUserEntity = _dbUser.GetUser(username);

            if (libUserEntity != null)
            {
                //Console.ForegroundColor = ConsoleColor.DarkYellow;
                //Console.WriteLine("UserService - Usuario encontrado \n");
                //Console.ForegroundColor = ConsoleColor.White;

                LibraryAppUserDto libUserDto = new LibraryAppUserDto();
                libUserDto.Username = libUserEntity.Username;
                return(libUserDto);
            }
            else
            {
                //Console.ForegroundColor = ConsoleColor.DarkYellow;
                //Console.WriteLine("UserService - Usuario no encontrado \n");
                //Console.ForegroundColor = ConsoleColor.White;

                return(null);
            }
        }
예제 #2
0
        /// <summary>
        /// 
        /// </summary>
        private void PayPenaltyOp() 
        {
            LibraryAppUserDto libUserDto = new LibraryAppUserDto();
            BookDto bookDto;
            string inputLine = string.Empty;
            Console.TreatControlCAsInput = false;
            do
            {
                Console.WriteLine("Introduzca el usuario: ");
                inputLine = Console.ReadLine();
                libUserDto = _userService.GetUser(inputLine);
                if (libUserDto == null)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nombre de usuario no válido");
                    Console.ForegroundColor = ConsoleColor.White;
                }

            } while (libUserDto == null);

            do
            {
                Console.WriteLine("Introduzca el libro: ");
                inputLine = Console.ReadLine();
                bookDto = _libService.GetBook(inputLine);
                if (bookDto == null)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nombre de libro no válido");
                    Console.ForegroundColor = ConsoleColor.White;
                }
            } while (bookDto == null);

            try
            {
                PenaltyDto penalty = _libService.GetPenalty(libUserDto.Username, bookDto.BookTitle);
                Console.TreatControlCAsInput = true;
                Console.WriteLine("¿Confirma que desea cancelar la multa? (Y/N)");
                ConsoleKeyInfo cki;
                cki = Console.ReadKey(true);

                if (cki.Key.ToString().ToLower() == "y")
                {
                    _libService.PayPenalty(penalty);
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Se ha realizadp el pago correctamente");
                    Console.ForegroundColor = ConsoleColor.White;
                }
                else if (cki.Key.ToString().ToLower() == "n")
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Ha decidido no cancelar la multa... allá usted");
                    Console.ForegroundColor = ConsoleColor.White;
                }
            }
            catch 
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("No se ha cancelado la multa");
                Console.ForegroundColor = ConsoleColor.White;
            }
            Console.WriteLine("---------------------");

        }
예제 #3
0
        /// <summary>
        /// 
        /// </summary>
        private void BookReturnOp()
        {
            LibraryAppUserDto libUserDto = new LibraryAppUserDto();
            BookDto bookDto = new BookDto();
            string inputLine = string.Empty;
            Console.TreatControlCAsInput = false;
            bool endProcess = false;

            do
            {
                Console.WriteLine("Introduzca el usuario: ");
                inputLine = Console.ReadLine();
                libUserDto = _userService.GetUser(inputLine);
                if (libUserDto == null)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nombre de usuario no válido");
                    Console.ForegroundColor = ConsoleColor.White;
                }

            } while (libUserDto == null);

            do
            {
                Console.WriteLine("Introduzca el libro: ");
                inputLine = Console.ReadLine();
                bookDto = _libService.GetBook(inputLine);
                if (bookDto == null)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nombre de libro no válido");
                    Console.ForegroundColor = ConsoleColor.White;
                }
                else
                {
                    try
                    {
                        if (_libService.GetBooking(libUserDto.Username, bookDto.BookTitle) != null)
                        {
                            if (_libService.ReturnBook(libUserDto.Username, bookDto.BookTitle, DateTime.Today) != null)
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("Ha sido multado. Este libro debería haberse devuelto antes");
                                Console.ForegroundColor = ConsoleColor.White;
                                endProcess = true;
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Green;
                                Console.WriteLine("El libro ha sido devuelto. Gracias por devolverlo a tiempo!");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                        }
                        else 
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("No se ha realizado la devolución.");
                            Console.WriteLine("¿Estás seguro que {0} tenía el libro {1}?", libUserDto.Username, bookDto.BookTitle);
                            Console.ForegroundColor = ConsoleColor.White;
                            endProcess = true;
                        }
                    }
                    catch
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("No se ha realizado la devolución.");
                        Console.WriteLine("¿Estás seguro que '{0}' tenía el libro '{1}'?", libUserDto.Username, bookDto.BookTitle);
                        Console.ForegroundColor = ConsoleColor.White;
                        endProcess = true;
                    }
                }


            } while (!endProcess);
            Console.WriteLine("---------------------");

        }
예제 #4
0
        /// <summary>
        /// 
        /// </summary>
        private void BookBookimgOp()
        {
            LibraryAppUserDto libUserDto = new LibraryAppUserDto();
            BookDto bookDto = new BookDto();
            DateTime endBooking;
            string inputLine = string.Empty;
            Console.TreatControlCAsInput = false;  


            do
            {
                Console.WriteLine("Introduzca el usuario: ");
                inputLine = Console.ReadLine();
                libUserDto = _userService.GetUser(inputLine);
                if (libUserDto == null)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nombre de usuario no válido");
                    Console.ForegroundColor = ConsoleColor.White;
                }

            } while (libUserDto == null);

            if (_libService.IsUserAllowed(libUserDto.Username))
            {
                do
                {
                    Console.WriteLine("Introduzca el libro: ");
                    inputLine = Console.ReadLine();
                    bookDto = _libService.GetBook(inputLine);
                    if (bookDto == null)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Nombre de libro no válido");
                        Console.ForegroundColor = ConsoleColor.White;
                    }
                    else 
                    {
                        if(_libService.IsBooked(bookDto.BookTitle))
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("Libro no disponible");
                            Console.ForegroundColor = ConsoleColor.White;
                            bookDto = null;
                        }
                    }
                    
                } while (bookDto == null);

                Console.WriteLine("Iniciando proceso de préstamo \n");
                BookingDto newBooking = new BookingDto();

                bool validDAte = false;
                do
                {
                    Console.WriteLine("Introduzca la fecha de la devolución: ");
                    Console.WriteLine("{dd/mm/aaaa} ej: 20/08/2016");
                    inputLine = Console.ReadLine();
                    validDAte = (Common.ValidateDate(inputLine, out endBooking) && (endBooking < DateTime.Today.AddDays(30)));

                    if (!validDAte)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Fecha de devolucióno no válida");
                        Console.ForegroundColor = ConsoleColor.White;
                    }

                } while (!validDAte);

                newBooking.BookId = bookDto.Id;
                newBooking.LibraryAppUsername = libUserDto.Username;
                newBooking.StartBookingDate = DateTime.Today;
                newBooking.EndBookingDate = endBooking;
                _libService.RegisterBooking(newBooking);

                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Préstamo registrado correctamente \n");
                Console.ForegroundColor = ConsoleColor.White;
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Se ha denagado el préstamo\n");
                Console.ForegroundColor = ConsoleColor.White;
            }
            Console.WriteLine("---------------------");
          
        }