public void TestTryGetConfiguration() { Configuration result = null; Assert.IsFalse(ManagedConfiguration.TryGetConfiguration(Session, GetNewString(), out result)); Assert.IsNull(result); }
public List <TransitAccountFeedItem> SearchAccountFeedItems(string ticket, string s, ServiceQueryOptions options) { if (string.IsNullOrEmpty(s)) { return(new List <TransitAccountFeedItem>()); } int maxsearchresults = 128; using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; maxsearchresults = ManagedConfiguration.GetValue(session, "SnCore.MaxSearchResults", 128); } StringBuilder query = new StringBuilder(); query.Append("SELECT {AccountFeedItem.*} FROM AccountFeedItem {AccountFeedItem}"); query.AppendFormat(" INNER JOIN FREETEXTTABLE(AccountFeedItem, ([Title], [Description]), '{0}', {1}) as ft ", Renderer.SqlEncode(s), maxsearchresults); query.Append(" ON AccountFeedItem.AccountFeedItem_Id = ft.[KEY] "); query.Append(" ORDER BY ft.[RANK] DESC"); return(WebServiceImpl <TransitAccountFeedItem, ManagedAccountFeedItem, AccountFeedItem> .GetList( ticket, options, query.ToString(), "AccountFeedItem")); }
public void TestGetValue() { string defaultvalue = GetNewString(); string v = ManagedConfiguration.GetValue(Session, GetNewString(), defaultvalue); Assert.AreEqual(v, defaultvalue); }
public List <TransitAccountStory> SearchAccountStories(string ticket, string s, ServiceQueryOptions options) { if (string.IsNullOrEmpty(s)) { return(new List <TransitAccountStory>()); } int maxsearchresults = 128; using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; maxsearchresults = ManagedConfiguration.GetValue(session, "SnCore.MaxSearchResults", 128); } StringBuilder query = new StringBuilder(); query.Append("SELECT {AccountStory.*} FROM AccountStory {AccountStory}"); query.Append(" INNER JOIN FREETEXTTABLE(AccountStory, ([Name], [Summary]), '"); query.Append(Renderer.SqlEncode(s)); query.AppendFormat("', {0}) AS ft ", maxsearchresults); query.Append(" ON AccountStory.AccountStory_Id = ft.[KEY] "); query.Append(" WHERE AccountStory.Publish = 1"); query.Append(" ORDER BY ft.[RANK] DESC"); return(WebServiceImpl <TransitAccountStory, ManagedAccountStory, AccountStory> .GetList( ticket, options, query.ToString(), "AccountStory")); }
public List <TransitDiscussionPost> SearchDiscussionPostsById(string ticket, int id, string s, ServiceQueryOptions options) { if (string.IsNullOrEmpty(s)) { return(new List <TransitDiscussionPost>()); } int maxsearchresults = 128; using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; maxsearchresults = ManagedConfiguration.GetValue(session, "SnCore.MaxSearchResults", 128); } return(WebServiceImpl <TransitDiscussionPost, ManagedDiscussionPost, DiscussionPost> .GetList( ticket, options, "SELECT {DiscussionPost.*} FROM DiscussionThread t, Discussion d, DiscussionPost {DiscussionPost}" + " INNER JOIN FREETEXTTABLE(DiscussionPost, ([Subject], [Body]), '" + Renderer.SqlEncode(s) + "', " + maxsearchresults.ToString() + ") AS ft " + " ON DiscussionPost.DiscussionPost_Id = ft.[KEY] " + " WHERE t.Discussion_Id = d.Discussion_Id" + " AND t.DiscussionThread_Id = DiscussionPost.DiscussionThread_Id" + " AND d.Discussion_Id = " + id.ToString() + " ORDER BY ft.[RANK] DESC", "DiscussionPost")); }
public int GetConfigurationsCount(string ticket) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; return(ManagedConfiguration.GetAllConfigurations(session).Count); } }
public Facebook.Schema.user GetUser(string[] cookieNames, string[] cookieValues) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; Facebook.Session.ConnectSession facebookSession = new Facebook.Session.ConnectSession( ManagedConfiguration.GetValue(session, "Facebook.APIKey", ""), ManagedConfiguration.GetValue(session, "Facebook.Secret", "")); TransitAccount ta = new TransitAccount(); NameValueCollectionSerializer facebookCookies = new NameValueCollectionSerializer(cookieNames, cookieValues); facebookSession.SessionKey = facebookCookies.Collection["session_key"]; facebookSession.UserId = long.Parse(facebookCookies.Collection["user"]); Facebook.Rest.Api facebookAPI = new Facebook.Rest.Api(facebookSession); return(facebookAPI.Users.GetInfo()); } }
public void RunQueue(ISession session, ManagedSecurityContext sec) { string path = ManagedConfiguration.GetValue(session, "SnCore.SMTP.Queue", Path.Combine(Path.GetTempPath(), "Queue")); EventLogManager.WriteEntry(string.Format("Processing SMTP queue in {0}.", path)); string[] files = Directory.GetFiles(path); foreach (string file in files) { if (IsStopping) { break; } EventLogManager.WriteEntry(string.Format("Processing {0}.", file)); try { ProcessMessage(file); File.Delete(file); } catch (ThreadAbortException) { throw; } catch (Exception ex) { EventLogManager.WriteEntry(string.Format("Error processing {0}: {1}", file, ex.Message), EventLogEntryType.Warning); } Thread.Sleep(1000 * InterruptInterval); } }
/// <summary> /// Adds or updates a per-device managed configuration for an app for the specified device. /// Documentation https://developers.google.com/androidenterprise/v1/reference/managedconfigurationsfordevice/update /// Generation Note: This does not always build corectly. Google needs to standardise things I need to figuer out which ones are wrong. /// </summary> /// <param name="service">Authenticated AndroidEnterprise service.</param> /// <param name="enterpriseId">The ID of the enterprise.</param> /// <param name="userId">The ID of the user.</param> /// <param name="deviceId">The Android ID of the device.</param> /// <param name="managedConfigurationForDeviceId">The ID of the managed configuration (a product ID), e.g. "app:com.google.android.gm".</param> /// <param name="body">A valid AndroidEnterprise v1 body.</param> /// <returns>ManagedConfigurationResponse</returns> public static ManagedConfiguration Update(AndroidEnterpriseService service, string enterpriseId, string userId, string deviceId, string managedConfigurationForDeviceId, ManagedConfiguration body) { try { // Initial validation. if (service == null) { throw new ArgumentNullException("service"); } if (body == null) { throw new ArgumentNullException("body"); } if (enterpriseId == null) { throw new ArgumentNullException(enterpriseId); } if (userId == null) { throw new ArgumentNullException(userId); } if (deviceId == null) { throw new ArgumentNullException(deviceId); } if (managedConfigurationForDeviceId == null) { throw new ArgumentNullException(managedConfigurationForDeviceId); } // Make the request. return(service.Managedconfigurationsfordevice.Update(body, enterpriseId, userId, deviceId, managedConfigurationForDeviceId).Execute()); } catch (Exception ex) { throw new Exception("Request Managedconfigurationsfordevice.Update failed.", ex); } }
public List <TransitConfiguration> GetConfigurations(string ticket, ServiceQueryOptions options) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); return(WebServiceQueryOptions <TransitConfiguration> .Apply(options, WebServiceImpl <TransitConfiguration, ManagedConfiguration, Configuration> .GetTransformedList( session, sec, ManagedConfiguration.GetAllConfigurations(session)))); } }
public void RunMarketingCampaign(ISession session, ManagedSecurityContext sec) { IList campaigns = session.CreateCriteria(typeof(Campaign)) .Add(Expression.Eq("Active", true)) .List(); foreach (Campaign campaign in campaigns) { if (IsStopping) { break; } IList recepients = session.CreateCriteria(typeof(CampaignAccountRecepient)) .Add(Expression.Eq("Sent", false)) .Add(Expression.Eq("Campaign.Id", campaign.Id)) .List(); if (recepients.Count == 0) { campaign.Active = false; session.Save(campaign); continue; } string baseuri = ManagedConfiguration.GetValue(session, "SnCore.WebSite.Url", "http://localhost/SnCore"); if (!baseuri.EndsWith("/")) { baseuri = baseuri + "/"; } ContentPageParameters parameters = new ContentPageParameters(); parameters.UserAgent = ManagedConfiguration.GetValue(session, "SnCore.Web.UserAgent", "SnCore/1.0"); parameters.BaseUri = new Uri(baseuri); string content = ContentPage.GetContent(new Uri(campaign.Url), parameters); foreach (CampaignAccountRecepient recepient in recepients) { if (IsStopping) { break; } try { ManagedAccount m_recepient = new ManagedAccount(session, recepient.Account); string mailto; if (!m_recepient.TryGetVerifiedEmailAddress(out mailto, sec)) { throw new Exception("No verified e-mail address."); } m_recepient.SendAccountEmailMessage( campaign.SenderEmailAddress, mailto, campaign.Name, content, true); recepient.LastError = string.Empty; } catch (ThreadAbortException) { throw; } catch (Exception ex) { recepient.LastError = ex.Message; } finally { recepient.Modified = DateTime.UtcNow; recepient.Sent = true; session.Save(recepient); session.Flush(); } Thread.Sleep(100); } Thread.Sleep(1000 * InterruptInterval); } }