Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }
Ejemplo n.º 3
0
        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));
            }
        }
Ejemplo n.º 4
0
        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);
        }