示例#1
0
        public async Task <FevouriteRequest> UploadFevouriteList(FevouriteRequest requestParameters)
        {
            try
            {
                var content = new StringContent(JsonConvert.SerializeObject(requestParameters), Encoding.UTF8, "application/json");
                HttpResponseMessage responseJson = await client.PostAsync(APIsConstant.UploadFevApi, content);

                var json = await responseJson.Content.ReadAsStringAsync();

                if (json != null) //only parse json if it contains data
                {
                    var fevResponse = JsonConvert.DeserializeObject <FevouriteRequest>(json);
                    return(fevResponse);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("MobileUser", ex.Message);
            }

            return(null);
        }
示例#2
0
        /// <summary>
        /// Posts the user fevorites to the server
        /// </summary>
        private async Task PostUserFevorite()
        {
            List <MeditationModel>    fevMeditationList = new List <MeditationModel>();
            List <KnowledgeBaseModel> fevKnowledgeList  = new List <KnowledgeBaseModel>();

            List <FavouriteMeditation>    fevMeditations = DatabaseHelper.GetInstance().GetMeditationFavourite();
            List <FavouriteKnowledgeBase> fevKB          = DatabaseHelper.GetInstance().GetKnowledgeBaseFavourite();

            if (fevMeditations != null && fevMeditations.Count > 0) //prepare required server Meditation model
            {
                foreach (FavouriteMeditation fevMedi in fevMeditations)
                {
                    if (fevMedi.is_favourite.Equals("true"))
                    {
                        MeditationModel meditation = new MeditationModel();
                        meditation.id = fevMedi.id;
                        fevMeditationList.Add(meditation);
                    }
                }
            }
            if (fevKB != null && fevKB.Count > 0) //prepare required server KB model
            {
                foreach (FavouriteKnowledgeBase fevkb in fevKB)
                {
                    if (fevkb.is_favourite.Equals("true"))
                    {
                        KnowledgeBaseModel kb = new KnowledgeBaseModel();
                        kb.id = fevkb.id;
                        fevKnowledgeList.Add(kb);
                    }
                }
            }
            bool             ShouldPostData = false;
            FevouriteRequest fevRequest     = new FevouriteRequest();

            if (fevMeditationList.Count > 0)
            {
                fevRequest.meditations = fevMeditationList;
                ShouldPostData         = true;
            }
            if (fevKnowledgeList.Count > 0)
            {
                fevRequest.knowledge = fevKnowledgeList;
                ShouldPostData       = true;
            }

            if (ShouldPostData)
            {
                //if (String.IsNullOrEmpty(Settings.FevouriteId))
                //{
                //    fevRequest.id = Guid.NewGuid().ToString();
                //}
                //else
                //{
                //    fevRequest.id = Settings.FevouriteId;
                //}
                fevRequest.id             = Settings.FevouriteId;
                fevRequest.mobile_user_id = Settings.MobileUserId;
                var fevService = new FevouriteService();
                FevouriteRequest fevResponse = await fevService.UploadFevouriteList(fevRequest);

                //Settings.FevouriteId = fevResponse.id;
            }
        }