public IElementContent GetContent(IElementSettings settings, IPageContext pageContext, IUnitOfWork unitOfWork = null) { // Construct element content FooterContent footerContent = new FooterContent(); footerContent.PartialViewName = "Footer"; // Populate element content according to element settings FooterSettings footerSettings = (FooterSettings)settings; footerContent.FormattedMessage = FormatMessage(footerSettings.Message); // Return resulting element content return(footerContent); }
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 footer settings Guid elementTypeId = FormId; IAdvancedElementService elementService = (IAdvancedElementService)_elementFactory.GetElementService(elementTypeId); FooterSettings footerSettings = (FooterSettings)elementService.New(_authenticationService.TenantId); footerSettings.ElementId = elementId; elementService.Read(footerSettings); // Construct form Form form = new Form { Fields = new Dictionary <string, IFormField>(), Id = FormId.ToString(), Context = context }; form.Fields.Add("message", new MultiLineTextField { Name = "message", Label = ElementResource.FooterMessageLabel, Value = footerSettings.Message, Rows = 10 }); form.Fields.Add("showLoggedOffUserOptions", new BooleanField { Name = "showLoggedOffUserOptions", Label = ElementResource.ShowLoggedOffUserOptionsLabel, Value = footerSettings.ShowLoggedOffUserOptions }); form.Fields.Add("showLoggedOnUserOptions", new BooleanField { Name = "showLoggedOnUserOptions", Label = ElementResource.ShowLoggedOnUserOptionsLabel, Value = footerSettings.ShowLoggedOnUserOptions }); form.SubmitLabel = ElementResource.FooterButtonLabel; // Return result return(form); }
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 footer element service IAdvancedElementService elementService = (IAdvancedElementService)_elementFactory.GetElementService(FormId); // Get updated footer settings FooterSettings footerSettings = (FooterSettings)elementService.New(_authenticationService.TenantId); footerSettings.ElementId = elementId; footerSettings.Message = string.IsNullOrWhiteSpace(((MultiLineTextField)form.Fields["message"]).Value) ? null : ((MultiLineTextField)form.Fields["message"]).Value; footerSettings.ShowLoggedOffUserOptions = ((BooleanField)form.Fields["showLoggedOffUserOptions"]).Value; footerSettings.ShowLoggedOnUserOptions = ((BooleanField)form.Fields["showLoggedOnUserOptions"]).Value; // Perform the update elementService.Update(footerSettings); // 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 void Update(FooterSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.UpdateFooter.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@Message", FieldType.NVarChar, -1, settings.Message ?? (object)DBNull.Value); dbm.AddParameter("@ShowLoggedOnUserOptions", FieldType.Bit, settings.ShowLoggedOnUserOptions); dbm.AddParameter("@ShowLoggedOffUserOptions", FieldType.Bit, settings.ShowLoggedOffUserOptions); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Read(FooterSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.ReadFooter.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.ExecuteReader(); dbm.Read(); settings.Message = dbm.DataReaderValue("Message") == DBNull.Value ? null : (string)dbm.DataReaderValue("Message"); settings.ShowLoggedOnUserOptions = (bool)dbm.DataReaderValue("ShowLoggedOnUserOptions"); settings.ShowLoggedOffUserOptions = (bool)dbm.DataReaderValue("ShowLoggedOffUserOptions"); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }