public Task <IEnumerable <Term> > Paging(string userID, int pageIndex, int pageSize, string keyword) { var result = _termRepo.Paging(userID, pageIndex, pageSize, keyword); return(Task.FromResult(result)); }
public async Task <ActionServiceResult> Paging(string userID, int pageIndex = 1, int pageSize = 99, string keyword = null) { try { var result = (_termRepo.Paging(userID, pageIndex, pageSize, keyword)).ToList(); if (result.Count == 0) { var user = await _baseUserRepository.GetEntityByIdAsync(userID); if (user == null) { return(new ActionServiceResult() { Success = false, Code = Code.NotFound }); } else { var baseUrl = String.Format("http://my-app-dkmh.herokuapp.com"); var url = new Uri($"{baseUrl}/api/getclassbyid?id={user.IntegrationID}"); var httpClient = new HttpClient(); var jsonSettings = new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Ignore, }; var res = (await httpClient.GetAsync(url)); if (res.StatusCode == System.Net.HttpStatusCode.OK) { var response = JsonConvert.DeserializeObject <List <IntegrationTerm> >(res.Content.ReadAsStringAsync().Result); var terms = new List <Term>(); foreach (var resp in response) { var term = new Term() { TermId = Guid.NewGuid(), TermCode = resp.Class_id, TermName = resp.Subject_name }; terms.Add(term); var existterm = (await _baseRepository.GetEntitites("Proc_GetTermByTermCode", new object[] { term.TermCode })).FirstOrDefault(); if (existterm == null) { var t = await _baseRepository.AddAsync(term, true); if (t == null) { return(new ActionServiceResult() { Success = false, Code = Code.ErrorAddEntity, Data = null, Message = "Term code la duy nhat" }); } var existUserTerm = await _baseUserTermRepository.GetEntitites("Proc_GetUserTermByKey", new object[] { userID, term.TermCode }); if (existUserTerm.Count() == 0) { await _baseUserTermRepository.AddAsync(new Userterm() { TermId = term.TermId, UserId = Guid.Parse(userID), UserTermId = Guid.NewGuid() }, true); } } else { var existUserTerm = await _baseUserTermRepository.GetEntitites("Proc_GetUserTermByKey", new object[] { userID, term.TermCode }); if (existUserTerm.Count() == 0) { await _baseUserTermRepository.AddAsync(new Userterm() { TermId = existterm.TermId, UserId = Guid.Parse(userID), UserTermId = Guid.NewGuid() }, true); } } } return(new ActionServiceResult() { Success = true, Code = Code.Success, Data = terms }); } } } return(new ActionServiceResult() { Success = true, Code = Code.Success, Data = result }); } catch (Exception ex) { var err = ex.Message; } return(new ActionServiceResult() { Success = false, Code = Code.NotFound }); }