public void Read(ShareSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.ReadShare.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.ExecuteReader(); dbm.Read(); settings.DisplayName = dbm.DataReaderValue("DisplayName") == DBNull.Value ? null : (string)dbm.DataReaderValue("DisplayName"); settings.ShareOnDigg = (bool)dbm.DataReaderValue("ShareOnDigg"); settings.ShareOnFacebook = (bool)dbm.DataReaderValue("ShareOnFacebook"); settings.ShareOnGoogle = (bool)dbm.DataReaderValue("ShareOnGoogle"); settings.ShareOnLinkedIn = (bool)dbm.DataReaderValue("ShareOnLinkedIn"); settings.ShareOnPinterest = (bool)dbm.DataReaderValue("ShareOnPinterest"); settings.ShareOnReddit = (bool)dbm.DataReaderValue("ShareOnReddit"); settings.ShareOnStumbleUpon = (bool)dbm.DataReaderValue("ShareOnStumbleUpon"); settings.ShareOnTumblr = (bool)dbm.DataReaderValue("ShareOnTumblr"); settings.ShareOnTwitter = (bool)dbm.DataReaderValue("ShareOnTwitter"); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(ShareSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateShare.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@DisplayName", FieldType.NVarChar, 256, settings.DisplayName ?? (object)DBNull.Value); dbm.AddParameter("@ShareOnDigg", FieldType.Bit, settings.ShareOnDigg); dbm.AddParameter("@ShareOnFacebook", FieldType.Bit, settings.ShareOnFacebook); dbm.AddParameter("@ShareOnGoogle", FieldType.Bit, settings.ShareOnGoogle); dbm.AddParameter("@ShareOnLinkedIn", FieldType.Bit, settings.ShareOnLinkedIn); dbm.AddParameter("@ShareOnPinterest", FieldType.Bit, settings.ShareOnPinterest); dbm.AddParameter("@ShareOnReddit", FieldType.Bit, settings.ShareOnReddit); dbm.AddParameter("@ShareOnStumbleUpon", FieldType.Bit, settings.ShareOnStumbleUpon); dbm.AddParameter("@ShareOnTumblr", FieldType.Bit, settings.ShareOnTumblr); dbm.AddParameter("@ShareOnTwitter", FieldType.Bit, settings.ShareOnTwitter); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public FormResult PostForm(Form form) { try { // Check permissions _authorizationService.AuthorizeUserForFunction(Functions.UpdatePageElements); // Get page and element identifiers string[] parts = form.Context.Split('|'); long pageId = Convert.ToInt64(parts[0]); long elementId = Convert.ToInt64(parts[1]); // Get the share element service IAdvancedElementService elementService = (IAdvancedElementService)_elementFactory.GetElementService(FormId); // Get updated share settings ShareSettings shareSettings = (ShareSettings)elementService.New(_authenticationService.TenantId); shareSettings.ElementId = elementId; shareSettings.DisplayName = string.IsNullOrWhiteSpace(((TextField)form.Fields["displayName"]).Value) ? null : ((TextField)form.Fields["displayName"]).Value; shareSettings.ShareOnDigg = ((BooleanField)form.Fields["shareOnDigg"]).Value; shareSettings.ShareOnFacebook = ((BooleanField)form.Fields["shareOnFacebook"]).Value; shareSettings.ShareOnGoogle = ((BooleanField)form.Fields["shareOnGoogle"]).Value; shareSettings.ShareOnLinkedIn = ((BooleanField)form.Fields["shareOnLinkedIn"]).Value; shareSettings.ShareOnPinterest = ((BooleanField)form.Fields["shareOnPinterest"]).Value; shareSettings.ShareOnReddit = ((BooleanField)form.Fields["shareOnReddit"]).Value; shareSettings.ShareOnStumbleUpon = ((BooleanField)form.Fields["shareOnStumbleUpon"]).Value; shareSettings.ShareOnTumblr = ((BooleanField)form.Fields["shareOnTumblr"]).Value; shareSettings.ShareOnTwitter = ((BooleanField)form.Fields["shareOnTwitter"]).Value; // Perform the update elementService.Update(shareSettings); // Return form result with no errors return(_formHelperService.GetFormResult()); } catch (ValidationErrorException ex) { // Return form result containing errors return(_formHelperService.GetFormResultWithValidationErrors(ex.Errors)); } catch (Exception) { // Return form result containing unexpected error message return(_formHelperService.GetFormResultWithErrorMessage(ApplicationResource.UnexpectedErrorMessage)); } }
public Form GetForm(string context) { // Check permissions _authorizationService.AuthorizeUserForFunction(Functions.UpdatePageElements); // Get page and element identifiers string[] parts = context.Split('|'); long pageId = Convert.ToInt64(parts[0]); long elementId = Convert.ToInt64(parts[1]); // Get current share settings Guid elementTypeId = FormId; IAdvancedElementService elementService = (IAdvancedElementService)_elementFactory.GetElementService(elementTypeId); ShareSettings shareSettings = (ShareSettings)elementService.New(_authenticationService.TenantId); shareSettings.ElementId = elementId; elementService.Read(shareSettings); // Construct form Form form = new Form { Fields = new Dictionary <string, IFormField>(), Id = FormId.ToString(), Context = context }; form.Fields.Add("displayName", new TextField { Name = "displayName", Label = ElementResource.ShareDisplayNameLabel, MaxLength = ShareLengths.DisplayNameMaxLength, MaxLengthErrorMessage = string.Format(ElementResource.ShareDisplayNameMaxLengthMessage, "displayName", ShareLengths.DisplayNameMaxLength), Value = shareSettings.DisplayName }); form.Fields.Add("shareOnDigg", new BooleanField { Name = "shareOnDigg", Label = ElementResource.ShareShareOnDiggLabel, Value = shareSettings.ShareOnDigg }); form.Fields.Add("shareOnFacebook", new BooleanField { Name = "shareOnFacebook", Label = ElementResource.ShareShareOnFacebookLabel, Value = shareSettings.ShareOnFacebook }); form.Fields.Add("shareOnGoogle", new BooleanField { Name = "shareOnGoogle", Label = ElementResource.ShareShareOnGoogleLabel, Value = shareSettings.ShareOnGoogle }); form.Fields.Add("shareOnLinkedIn", new BooleanField { Name = "shareOnLinkedIn", Label = ElementResource.ShareShareOnLinkedInLabel, Value = shareSettings.ShareOnLinkedIn }); form.Fields.Add("shareOnPinterest", new BooleanField { Name = "shareOnPinterest", Label = ElementResource.ShareShareOnPinterestLabel, Value = shareSettings.ShareOnPinterest }); form.Fields.Add("shareOnReddit", new BooleanField { Name = "shareOnReddit", Label = ElementResource.ShareShareOnRedditLabel, Value = shareSettings.ShareOnReddit }); form.Fields.Add("shareOnStumbleUpon", new BooleanField { Name = "shareOnStumbleUpon", Label = ElementResource.ShareShareOnStumbleUponLabel, Value = shareSettings.ShareOnStumbleUpon }); form.Fields.Add("shareOnTumblr", new BooleanField { Name = "shareOnTumblr", Label = ElementResource.ShareShareOnTumblrLabel, Value = shareSettings.ShareOnTumblr }); form.Fields.Add("shareOnTwitter", new BooleanField { Name = "shareOnTwitter", Label = ElementResource.ShareShareOnTwitterLabel, Value = shareSettings.ShareOnTwitter }); form.SubmitLabel = ElementResource.ShareButtonLabel; // Return result return(form); }