예제 #1
0
        public async Task <ActionResult <List <BookBorrowedDTO> > > GetBorrowedBooks()
        {
            var prestamos = await estudianteRepository.GetBorrowedBooks();

            if (prestamos == null)
            {
                return(NotFound());
            }
            List <BookBorrowedDTO> bookBorroweds = new List <BookBorrowedDTO>();

            foreach (var item in prestamos)
            {
                BookBorrowedDTO bookBorrowed = new BookBorrowedDTO();
                var             estudiante   = await estudianteRepository.GetStudent(item.IdLector);

                var libro = await libroRepository.GetAsync(item.IdLibro);

                bookBorrowed.IdLibro         = item.IdLibro;
                bookBorrowed.IdLector        = item.IdLector;
                bookBorrowed.FechaPrestamo   = item.FechaPrestamo;
                bookBorrowed.FechaDevolucion = item.FechaDevolucion;
                bookBorrowed.Devuelto        = item.Devuelto;
                bookBorrowed.Nombre          = estudiante.Nombre;
                bookBorrowed.Titulo          = libro.Titulo;
                bookBorroweds.Add(bookBorrowed);
            }
            return(Ok(bookBorroweds));
        }
        protected override Response Create(Type objectType, JObject jObject)
        {
            string type = (string)jObject.Property("type");

            if (type.Equals(ResponseType.LOGIN_SUCCESSFULLY.ToString()))
            {
                JsonSerializer jsonSerializer = new JsonSerializer();
                User           user           = jsonSerializer.Deserialize <User>(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.LOGIN_SUCCESSFULLY, user));
            }
            if (type.Equals(ResponseType.LOGOUT_SUCCESSFULLY.ToString()))
            {
                return(new Response(ResponseType.LOGOUT_SUCCESSFULLY, null));
            }
            if (type.Equals(ResponseType.GET_AVAILABLE_BOOKS.ToString()))
            {
                JsonSerializer jsonSerializer = new JsonSerializer();
                List <Book>    availableBooks = jsonSerializer.Deserialize <
                    List <Book> >(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.GET_AVAILABLE_BOOKS, availableBooks));
            }
            if (type.Equals(ResponseType.GET_USER_BOOKS.ToString()))
            {
                JsonSerializer jsonSerializer = new JsonSerializer();
                List <Book>    userBooks      = jsonSerializer.Deserialize <
                    List <Book> >(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.GET_USER_BOOKS, userBooks));
            }
            if (type.Equals(ResponseType.SEARCH_BOOKS.ToString()))
            {
                JsonSerializer jsonSerializer = new JsonSerializer();
                List <Book>    foundBooks     = jsonSerializer.Deserialize <
                    List <Book> >(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.SEARCH_BOOKS, foundBooks));
            }
            if (type.Equals(ResponseType.OK.ToString()))
            {
                return(new Response(ResponseType.OK, null));
            }
            if (type.Equals(ResponseType.ERROR.ToString()))
            {
                JsonSerializer jsonSerializer = new JsonSerializer();
                string         errorMessage   = jsonSerializer.Deserialize <string>(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.ERROR, errorMessage));
            }
            if (type.Equals(ResponseType.BORROW_BOOK.ToString()))
            {
                JsonSerializer  jsonSerializer  = new JsonSerializer();
                BookBorrowedDTO bookBorrowedDto = jsonSerializer.Deserialize <BookBorrowedDTO>(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.BORROW_BOOK, bookBorrowedDto));
            }
            if (type.Equals(ResponseType.RETURN_BOOK.ToString()))
            {
                JsonSerializer  jsonSerializer  = new JsonSerializer();
                BookReturnedDTO bookReturnedDto = jsonSerializer.Deserialize <BookReturnedDTO>(jObject.Property("data").Value.CreateReader());
                return(new Response(ResponseType.RETURN_BOOK, bookReturnedDto));
            }
            throw new ApplicationException(String.Format("The given vehicle type {0} is not supported!", type));
        }
        public void bookUpdated(int bookId, int newQuantity, bool byThisUser)
        {
            BookBorrowedDTO      bookBorrowedDto      = new BookBorrowedDTO(bookId, newQuantity, byThisUser);
            LibraryUserEventArgs libraryUserEventArgs = new LibraryUserEventArgs(LibraryUserEvent.BookBorrowed, bookBorrowedDto);

            Console.WriteLine("Book updated");
            OnUserEvent(libraryUserEventArgs);
        }
 private void handleUpdate(Response response)
 {
     if (response.Type == ResponseType.BORROW_BOOK)
     {
         BookBorrowedDTO bookBorrowedDto = (BookBorrowedDTO)response.Data;
         client.bookUpdated(bookBorrowedDto.BookId, bookBorrowedDto.NewQuantity, bookBorrowedDto.ByThisUser);
     }
     if (response.Type == ResponseType.RETURN_BOOK)
     {
         BookReturnedDTO bookReturnedDto = (BookReturnedDTO)response.Data;
         client.bookReturned(bookReturnedDto.Id, bookReturnedDto.Author, bookReturnedDto.Title, bookReturnedDto.ByThisUser);
     }
 }
예제 #5
0
        public void bookUpdated(int bookId, int newQuantity, bool byThisUser)
        {
            BookBorrowedDTO bookBorrowedDto = new BookBorrowedDTO(bookId, newQuantity, byThisUser);

            sendResponse(new Response(ResponseType.BORROW_BOOK, bookBorrowedDto));
        }