public async Task <ResponseMODEL> DeleteAsync(int id) { try { var resultProcess = await authorDAL.GetAsync(id); var validateBooks = await bookDAL.GetByIdAuthorAsync(id); if (!validateBooks.IsApproved) { return(resultProcess); } if (((List <Book>)validateBooks.ObjectResult).Count > 0) { return(ResponseMODEL.Instance(false, "Transaccion Rechazada", "Autor con libros activos", "No puede eliminar un autor si tiene libros activos")); } if (resultProcess.IsApproved) { if ((Author)resultProcess.ObjectResult != null) { return(await authorDAL.DeleteAsync((Author)resultProcess.ObjectResult)); } else { return(ResponseMODEL.Instance(false, "Transaccion Rechazada", "No es posible eliminar el autor", "No existe un autor que coincida con el codigo enviado")); } } else { return(resultProcess); } } catch (Exception ex) { return(ResponseMODEL.Instance(false, "Error Controlado", "Se controlo un error en la aplicacion.", ex.Message, ex)); } }