public void Save(Core.Model.Account account) { SecStatusCode res; var match = this.QueryAsRecord(out res); if (res == SecStatusCode.Success) { // Update match.Generic = account.SerializeToNSData(); match.Account = account.UserName; match.ValueData = NSData.FromString(account.Token); SecKeyChain.Update(Query, match); } else { // create res = SecKeyChain.Add(new SecRecord(SecKind.GenericPassword) { Label = AppResources.ApplicationTitle, Account = account.UserName, Service = Service, ValueData = NSData.FromString(account.Token), Generic = account.SerializeToNSData() }); if (res != SecStatusCode.Success) { throw new Exception("Unable to save account data"); } } }
protected virtual Task <AppCore.Result> SendCoreAsync(Core.Model.Mail mail, Core.Model.Account account) { _client = new SmtpClient() { Host = account.Host, Port = account.Port, EnableSsl = account.SSL, DeliveryMethod = SmtpDeliveryMethod.Network, Credentials = new NetworkCredential(account.Email, account.Password), Timeout = 20000 }; _message = new MailMessage() { Body = mail.Content, BodyEncoding = Encoding.UTF8, Subject = mail.Subject, SubjectEncoding = Encoding.UTF8, From = new MailAddress(account.Email), IsBodyHtml = true }; mail.EmailReceivers.ForEach(f => { if (!String.IsNullOrEmpty(f.Email)) { _message.To.Add(f.Email); } if (!String.IsNullOrEmpty(f.Cc)) { _message.CC.Add(f.Cc); } if (!String.IsNullOrEmpty(f.Bcc)) { _message.Bcc.Add(f.Bcc); } }); _client.SendMailAsync(_message); return(AppCore.Result.SuccessfulAsync()); }
public void Save(Core.Model.Account account) { if (!this.HasAccount) { var userData = new Bundle(); userData.PutString(AccountManager.KeyAccountName, account.UserName); userData.PutString(AccountManager.KeyAccountType, AccountType); userData.PutString(AccountManager.KeyAuthtoken, account.Token); userData.PutString(KeyRefreshToken, account.RefreshToken); userData.PutString(KeyAuthValidUntil, account.TokenValidUntil.Ticks.ToString()); userData.PutString(KeyAuthRetrieved, account.TokenRetrieved.Ticks.ToString()); this.AM.AddAccount(AccountType, "client", null, userData, null, null, null); } else { var acc = this.AM.GetAccountsByType(AccountType)[0]; this.AM.SetUserData(acc, AccountManager.KeyAuthtoken, account.Token); this.AM.SetUserData(acc, KeyRefreshToken, account.RefreshToken); this.AM.SetUserData(acc, KeyAuthValidUntil, account.TokenValidUntil.Ticks.ToString()); this.AM.SetUserData(acc, KeyAuthRetrieved, account.TokenRetrieved.Ticks.ToString()); } }