public List <DebtCard> GetDebtCard([FromRoute] int page = 1) { var qry = _context.DebtCard.OrderBy(p => p.ID); foreach (DebtCard a in qry) { _context.Entry(a).Navigation("Library").Load(); } PagingList <DebtCard> DebtCardList; if (page != 0) { DebtCardList = PagingList.Create(qry, StringsPerPage, page); } else { DebtCardList = PagingList.Create(qry, _context.DebtCard.Count() + 1, 1); } return(DebtCardList.ToList()); }
public async Task <IActionResult> GetValidDebtCardPages(bool?valid = true, int page = 1) { if (valid == false) { foreach (DebtCard a in _context.DebtCard) { _context.Entry(a).Navigation("Library").Load(); } PagingList <DebtCard> DebtCardList; if (page != 0) { DebtCardList = PagingList.Create(_context.DebtCard.ToList(), StringsPerPage, page); } else { DebtCardList = PagingList.Create(_context.DebtCard.ToList(), _context.DebtCard.ToList().Count() + 1, 1); } return(Ok(DebtCardList.ToList())); } else { var qry = _context.DebtCard.OrderBy(p => p.ID); foreach (DebtCard a in qry) { _context.Entry(a).Navigation("Library").Load(); } // //Вытаскиваем все Ккиги // List <DebtCard> QryBooks = new List <DebtCard>(); var corrId = string.Format("{0}{1}", DateTime.Now.Ticks, Thread.CurrentThread.ManagedThreadId); string request; byte[] responseMessage; using (var client = new HttpClient()) { client.BaseAddress = new Uri(URLBookservice); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string requestString = "api/Books"; HttpResponseMessage response = await client.GetAsync(requestString); request = "SERVICE: Bookservice \r\nGET: " + URLBookservice + "/" + requestString + "\r\n" + client.DefaultRequestHeaders.ToString(); string responseString = response.Headers.ToString() + "\nStatus: " + response.StatusCode.ToString(); if (response.IsSuccessStatusCode) { responseMessage = await response.Content.ReadAsByteArrayAsync(); var Books = await response.Content.ReadAsStringAsync(); QryBooks = JsonConvert.DeserializeObject <List <DebtCard> >(Books); } else { responseMessage = Encoding.UTF8.GetBytes(response.ReasonPhrase); } await LogQuery(request, responseString, responseMessage); } // //Вытаскиваем всех Студентов // List <Models.Student> QryStudents = new List <Models.Student>(); var corrId2 = string.Format("{0}{1}", DateTime.Now.Ticks, Thread.CurrentThread.ManagedThreadId); string request2; byte[] responseMessage2; using (var client = new HttpClient()) { client.BaseAddress = new Uri(URLStudentService); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string requestString2 = "api/libraries"; HttpResponseMessage response2 = await client.GetAsync(requestString2); request2 = "SERVICE: Bookservice \r\nGET: " + URLStudentService + "/" + requestString2 + "\r\n" + client.DefaultRequestHeaders.ToString(); string responseString2 = response2.Headers.ToString() + "\nStatus: " + response2.StatusCode.ToString(); if (response2.IsSuccessStatusCode) { responseMessage2 = await response2.Content.ReadAsByteArrayAsync(); var Students = await response2.Content.ReadAsStringAsync(); QryStudents = JsonConvert.DeserializeObject <List <Models.Student> >(Students); } else { responseMessage2 = Encoding.UTF8.GetBytes(response2.ReasonPhrase); } await LogQuery(request2, responseString2, responseMessage2); } // //Проверить на валидность всех должников // List <DebtCard> ValidDebtCard = new List <DebtCard>(); foreach (DebtCard c in qry) { //находим название Арены с таким же, как в концерте DebtCard FindedAuthor; foreach (DebtCard a in QryBooks) { if (a.AuthorSurname == c.AuthorSurname) { FindedAuthor = a; if (a.AuthorName == c.AuthorName) { { Models.Student student = QryStudents.Where(x => x.StudentName == c.Name).FirstOrDefault(); if (Student != null) { ValidDebtCard.Add(c); } } } } } } PagingList <DebtCard> DebtCardList; if (page != 0) { DebtCardList = PagingList.Create(ValidDebtCard, StringsPerPage, page); } else { DebtCardList = PagingList.Create(ValidDebtCard, ValidDebtCard.Count() + 1, 1); } return(Ok(DebtCardList.ToList())); } }