/// <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); }
/// <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(); } }
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)); } }