public async Task SaveAsync(string authToken) { var currentSurveys = GetList().Select(x => x.SurveyId).ToList(); var surveysList = await _rest.GetAsync($"{_server.Get().NfieldServer}/v1/Surveys", authToken); var serverSurveys = JsonConvert.DeserializeObject <List <SurveyDetailsEntity> >(surveysList); var newSurveys = serverSurveys.Select(y => y.SurveyId).ToList(); var nonLocalSurveys = newSurveys.Except(currentSurveys).ToList(); foreach (var nonLocalSurveyId in nonLocalSurveys) { var count = await _surveyCounts.SuccessfulCounts(authToken, nonLocalSurveyId); var survey = serverSurveys.FirstOrDefault(s => s.SurveyId == nonLocalSurveyId); survey.SuccessFulCount = count.ToString(); survey.Icon = survey.SurveyType == SurveyType.OnlineBasic.ToString() ? AppConst.OnlineSurveyIcon : AppConst.MobileSurveyIcon; survey.Image = survey.Image ?? AppConst.UnSelectFavourite; _sqlite.Add(survey); } }
public async Task <SurveyCountsModel> Counts(string authToken, string surveyId) { var counts = await _rest.GetAsync($"{_server.Get().NfieldServer}/v1/Surveys/{surveyId}/Counts", authToken); return(JsonConvert.DeserializeObject <SurveyCountsModel>(counts)); }