/// <summary>
        ///  Retrieve a Count Object from the mPreferences.
        /// </summary>
        /// <param name="key"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public EmailCountResponse GetCountResponse()
        {
            string             key      = ConstantsDroid.EMAIL_COUNT_OBJECT_PREFERENCE;
            EmailCountResponse response = null;
            string             value    = null;

            try
            {
                if (_preferences.Contains(ToKey(key)))
                {
                    string securedEncodedValue = _preferences.GetString(ToKey(key), "");
                    if (_encryptValues)
                    { // If encryption is enabled for values then send decrypted value
                        value    = Decrypt(securedEncodedValue);
                        response = JsonConvert.DeserializeObject <EmailCountResponse>(value);
                        return(response);
                    }
                    else
                    {
                        value    = securedEncodedValue;
                        response = JsonConvert.DeserializeObject <EmailCountResponse>(value);
                        return(response);
                    }
                }
            }catch (System.Exception e)
            {
                return(response);
            }
            return(response);
        }
Esempio n. 2
0
            /// <summary>
            /// Called when [drawer opened].
            /// </summary>
            /// <param name="drawerView">The drawer view.</param>
            public override void OnDrawerOpened(View drawerView)
            {
                EmailCountResponse response = owner.mSharedPreferencesManager.
                                              GetCountResponse();

                owner.mAdapter.emailCount = response;
                owner.mAdapter.NotifyDataSetChanged();
            }
        public async static Task <EmailCountResponse> EmailCount(string userId)
        {
            try
            {
                EmailCountsAPIParams param = new EmailCountsAPIParams
                {
                    intUserID      = userId,
                    connectionName = WebserviceConstants.CONNECTION_NAME
                };

                var response = await WebServiceHandler.GetWebserviceResult(WebserviceConstants.EMAIL_COUNT_URL,
                                                                           HttpMethod.Post, param) as FinalResponse;

                EmailCountResponse emailCount = null;

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    DataSet resultIds = response.ResultDs;

                    Dictionary <string, int> countDictionary = new Dictionary <string, int>();

                    string key   = null;
                    int    value = 0;

                    foreach (DataTable dt in resultIds.Tables)
                    {
                        foreach (DataRow dr in dt.Rows)
                        {
                            foreach (DataColumn dc in dt.Columns)
                            {
                                if (dc.ColumnName == "eMailTypeName")
                                {
                                    key = dr[dc].ToString();
                                }
                                if (dc.ColumnName == "emailcount")
                                {
                                    value = Convert.ToInt32(dr[dc].ToString());
                                }
                            }
                            countDictionary.Add(key, value);
                        }
                    }

                    emailCount               = new EmailCountResponse();
                    emailCount.inboxCount    = countDictionary["InBox"];
                    emailCount.draftCount    = countDictionary["Drafts"];
                    emailCount.sentItemCount = countDictionary["Sent Items"];
                    emailCount.trashCount    = countDictionary["Trash"];
                }

                return(emailCount);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        /// <summary>
        ///  Set a Email Count Response value in the mPreferences
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        public void PutCountResponse(EmailCountResponse countObj)
        {
            string key   = ConstantsDroid.EMAIL_COUNT_OBJECT_PREFERENCE;
            string value = JsonConvert.SerializeObject(countObj);

            if (value == null)
            {
                _editor.Remove(ToKey(key)).Commit();
            }
            else
            {
                string secureValueEncoded = ToValue(value);
                _editor.PutString(ToKey(key), secureValueEncoded).Apply();
            }
        }
Esempio n. 5
0
        private async Task GetEmailCounts()
        {
            try
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    EmailCountResponse emailCount = await WebServiceMethods.
                                                    EmailCount(mSharedPreferencesManager.GetString(
                                                                   ConstantsDroid.USER_ID_PREFERENCE, ""));

                    if (emailCount != null)
                    {
                        mSharedPreferencesManager.PutCountResponse(emailCount);
                    }
                }
            }
            catch (Exception e)
            {
                CustomProgressDialog.HideProgressDialog();
                UtilityDroid.GetInstance().ShowAlertDialog(mActivity, Resources.GetString(Resource.String.error_alert_title),
                                                           Resources.GetString(Resource.String.alert_message_error),
                                                           Resources.GetString(Resource.String.alert_cancel_btn), Resources.GetString(Resource.String.alert_ok_btn));
            }
        }