public async Task <IActionResult> PostBook(BookMODEL model) { var resultProcess = await bookBLL.InsertAsync(model); if (!resultProcess.IsApproved) { return(BadRequest(resultProcess.ShortMessage)); } else { return(Ok(resultProcess.ObjectResult)); } }
public async Task <IActionResult> PutBook(int id, BookMODEL model) { if (id != model.IdBook) { return(BadRequest()); } var resultProcess = await bookBLL.UpdateAsync(model); if (!resultProcess.IsApproved) { return(BadRequest(resultProcess.ShortMessage)); } else { return(Ok(resultProcess.ObjectResult)); } }
public async Task <ResponseMODEL> GetAsync(int id) { try { var resultProcess = await bookDAL.GetAsync(id); if (resultProcess.IsApproved) { Book result = (Book)resultProcess.ObjectResult; if (result == null) { return(ResponseMODEL.Instance(true, "Consulta Exitosa", "Sin resultados", "No existen coincidencias con para esta consulta", result)); } else { BookMODEL resultObject = new BookMODEL { IdBook = result.IdBook, Gender = result.Gender, IdAuthor = result.IdAuthor, IdEditorial = result.IdEditorial, NumberPages = result.NumberPages, Tittle = result.Tittle, Year = result.Year }; resultProcess.ObjectResult = null; resultProcess.ObjectResult = resultObject; } } return(resultProcess); } catch (Exception ex) { return(ResponseMODEL.Instance(false, "Error Controlado", "Se controlo un error en la aplicacion.", ex.Message, ex)); } }
public async Task <ResponseMODEL> UpdateAsync(BookMODEL model) { try { var validateEditorial = await editorialDAL.GetAsync(model.IdEditorial); if (!validateEditorial.IsApproved) { return(validateEditorial); } Editorial editorial = (Editorial)validateEditorial.ObjectResult; if (editorial == null) { return(ResponseMODEL.Instance(false, "Transaccion Rechazada", "La editorial no está registrada", "Transaccion rechazada por regla de negocio")); } var validateAuthor = await authorDAL.GetAsync(model.IdAuthor); if (!validateAuthor.IsApproved) { return(validateAuthor); } Author author = (Author)validateAuthor.ObjectResult; if (author == null) { return(ResponseMODEL.Instance(false, "Transaccion Rechazada", "El autor no está registrado", "Transaccion rechazada por regla de negocio")); } var limit = editorial.MaximumBooksRegistered; var validateBooksEditorial = await bookDAL.GetByIdEditorialAsync(model.IdEditorial); if (validateBooksEditorial.IsApproved) { List <Book> booksEditorial = (List <Book>)validateBooksEditorial.ObjectResult; if (booksEditorial.Count < limit || limit == -1) { Book modelDAL = new Book(); modelDAL.IdBook = model.IdBook; modelDAL.Tittle = model.Tittle; modelDAL.Year = model.Year; modelDAL.NumberPages = model.NumberPages; modelDAL.Gender = model.Gender; modelDAL.IdAuthor = model.IdAuthor; modelDAL.IdEditorial = model.IdEditorial; return(await bookDAL.UpdateAsync(modelDAL)); } else { return(ResponseMODEL.Instance(false, "Transaccion Rechazada", "No es posible modificar el libro, se alcanzó el máximo permitido", "Transaccion rechazada por regla de negocio")); } } else { return(validateBooksEditorial); } } catch (Exception ex) { return(ResponseMODEL.Instance(false, "Error Controlado", "Se controlo un error en la aplicacion.", ex.Message, ex)); } }