private CalculateOpportunityActionLink(IPortalContext portalContext, int languageCode, CalculateOpportunityAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base(portalContext, languageCode, action, LinkActionType.CalculateOpportunity, enabled, url, portalName, DefaultButtonLabel, DefaultButtonTooltip) { Modal = new ViewCalculateOpportunityModal(); URL = EntityListFunctions.BuildControllerActionUrl("CalculateActualValueOfOpportunity", "EntityAction", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); }
private DeactivateActionLink(IPortalContext portalContext, int languageCode, DeactivateAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base(portalContext, languageCode, action, LinkActionType.Deactivate, enabled, url, portalName, DefaultButtonLabel, DefaultButtonTooltip) { Modal = new ViewDeactivateModal(); if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("Deactivate", "EntityAction", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } }
/// <summary> /// Constructor used by ViewConfiguration class /// </summary> public AssociateActionLink(IEnumerable <ViewConfiguration> viewConfigurations, Relationship relationship, IPortalContext portalContext, AssociateAction action, int languageCode, bool enabled = false, UrlBuilder url = null, string portalName = null, string label = null, string tooltip = null) : base(portalContext, languageCode, action, LinkActionType.Associate, enabled, url, portalName, label, tooltip) { Relationship = relationship; if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("Associate", "EntityGrid", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } ViewConfigurations = viewConfigurations ?? Enumerable.Empty <ViewConfiguration>(); }
public DownloadActionLink(IPortalContext portalContext, int languageCode, DownloadAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base(portalContext, languageCode, action, LinkActionType.Download, enabled, url, portalName, DefaultButtonLabel, DefaultButtonTooltip) { var allPagesLabel = Localization.GetLocalizedString(action.AllPagesLabel, languageCode); var currentPageLabel = Localization.GetLocalizedString(action.CurrentPageLabel, languageCode); AllPagesLabel = !string.IsNullOrWhiteSpace(allPagesLabel) ? allPagesLabel : DefaultAllPagesLabel; CurrentPageLabel = !string.IsNullOrWhiteSpace(currentPageLabel) ? currentPageLabel : DefaultCurrentPageLabel; Format = FormatType.Excel; Type = LinkActionType.Download; if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("DownloadAsExcel", "EntityGrid", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } }
public WorkflowActionLink(IPortalContext portalContext, EntityReference workflow, int languageCode, WorkflowAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base(portalContext, languageCode, action, LinkActionType.Workflow, enabled, url, portalName, DefaultButtonLabel, DefaultButtonLabel) { Modal = new ViewWorkflowModal(); CustomizeModal = action.WorkflowDialogTitle != null || action.WorkflowDialogPrimaryButtonText != null || action.WorkflowDialogCloseButtonText != null; Workflow = workflow; if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("ExecuteWorkflow", "EntityGrid", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } var buttonLabel = action.ButtonLabel.GetLocalizedString(languageCode); var buttonTooltip = action.ButtonTooltip.GetLocalizedString(languageCode); if (!string.IsNullOrWhiteSpace(buttonLabel) && !string.IsNullOrWhiteSpace(buttonTooltip) && action.WorkflowId != Guid.Empty) { return; } var wrkflow = portalContext.ServiceContext.CreateQuery("workflow") .FirstOrDefault(w => w.GetAttributeValue <Guid>("workflowid") == action.WorkflowId); if (wrkflow == null) { return; } if (string.IsNullOrWhiteSpace(buttonLabel)) { Label = DefaultButtonLabel; } // Try to extract the text only if the label has HTML string nohtmlLabel = Regex.Replace(Label, @"<[^>]*>", string.Empty); if (string.IsNullOrWhiteSpace(buttonTooltip)) { Tooltip = nohtmlLabel; } }
public DeleteActionLink(IPortalContext portalContext, int languageCode, DeleteAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base( portalContext, languageCode, action, LinkActionType.Delete, enabled, url, portalName, DefaultButtonLabel, DefaultButtonTooltip) { if (string.IsNullOrWhiteSpace(Confirmation)) { Confirmation = DefaultConfirmation; } Modal = new ViewDeleteModal(); if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("Delete", "EntityGrid", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } }
private ResolveCaseActionLink(IPortalContext portalContext, int languageCode, ResolveCaseAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base(portalContext, languageCode, action, LinkActionType.ResolveCase, enabled, url, portalName, DefaultButtonLabel, DefaultButtonTooltip) { Modal = new ViewResolveCaseModal(); if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("ResolveCase", "EntityAction", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } var subjectLabel = action.SubjectLabel.GetLocalizedString(languageCode); var descriptionLabel = action.DescriptionLabel.GetLocalizedString(languageCode); SubjectLabel = !string.IsNullOrWhiteSpace(subjectLabel) ? subjectLabel : DefaultSubjectLabel; DescriptionLabel = !string.IsNullOrWhiteSpace(descriptionLabel) ? descriptionLabel : DefaultDescriptionLabel; }
private CloseIncidentActionLink(IPortalContext portalContext, int languageCode, CloseIncidentAction action, bool enabled = true, UrlBuilder url = null, string portalName = null) : base( portalContext, languageCode, action, LinkActionType.CloseIncident, enabled, url, portalName, DefaultButtonLabel, DefaultButtonTooltip) { Modal = new ViewCloseIncidentModal(); if (url == null) { URL = EntityListFunctions.BuildControllerActionUrl("CloseCase", "EntityAction", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }); } var defaultResolution = action.DefaultResolution; var defaultResolutionDescription = action.DefaultResolutionDescription; DefaultResolution = !string.IsNullOrWhiteSpace(defaultResolution) ? defaultResolution : DefaultResolutionLabel; DefaultResolutionDescription = !string.IsNullOrWhiteSpace(defaultResolutionDescription) ? defaultResolutionDescription : DefaultResolutionDescriptionLabel; }
/// <summary> /// Creates the HTML to render a subgrid listing of records defined by the associated view /// </summary> protected virtual IHtmlString BuildGrid(HtmlControl container, OrganizationServiceContext context, Guid[] viewGuids, Guid viewId, Guid entityId, Entity user) { var portalContext = PortalCrmConfigurationManager.CreatePortalContext(Metadata.FormView.ContextName); var html = Mvc.Html.EntityExtensions.GetHtmlHelper(Metadata.FormView.ContextName, container.Page.Request.RequestContext, container.Page.Response); var source = new EntityReference(Metadata.TargetEntityName, entityId); var relationship = new Relationship(Metadata.ViewRelationshipName); var metadataManyToMany = EntityMetadata.ManyToManyRelationships.FirstOrDefault(r => r.SchemaName == Metadata.ViewRelationshipName); var relationshipManyToOne = EntityMetadata.ManyToOneRelationships.FirstOrDefault(r => r.SchemaName == Metadata.ViewRelationshipName); var relationshipOneToMany = EntityMetadata.OneToManyRelationships.FirstOrDefault(r => r.SchemaName == Metadata.ViewRelationshipName); if (relationshipManyToOne != null && relationshipOneToMany != null) // self referential { relationship.PrimaryEntityRole = EntityRole.Referenced; } else if (metadataManyToMany != null && metadataManyToMany.Entity1LogicalName == metadataManyToMany.Entity2LogicalName) { relationship.PrimaryEntityRole = EntityRole.Referencing; } var settings = Metadata.SubgridSettings; var viewConfigurations = new List <ViewConfiguration>(); var cssClass = (settings != null) ? settings.CssClass : null; var gridCssClass = (settings != null) ? settings.GridCssClass : null; var gridColumnWidthStyle = (settings != null && settings.GridColumnWidthStyle != null) ? settings.GridColumnWidthStyle.GetValueOrDefault(EntityGridExtensions.GridColumnWidthStyle.Percent) : EntityGridExtensions.GridColumnWidthStyle.Percent; var accessDeniedMessage = (settings != null) ? Localization.GetLocalizedString(settings.AccessDeniedMessage, Metadata.LanguageCode) : null; var errorMessage = (settings != null) ? Localization.GetLocalizedString(settings.ErrorMessage, Metadata.LanguageCode) : null; var loadingMessage = (settings != null) ? Localization.GetLocalizedString(settings.LoadingMessage, Metadata.LanguageCode) : null; var emptyMessage = (settings != null) ? Localization.GetLocalizedString(settings.EmptyMessage, Metadata.LanguageCode) : null; var modalLookup = (settings != null) ? settings.LookupDialog : null; var modalLookupSelectedRecordsTitle = modalLookup == null ? null : Localization.GetLocalizedString(modalLookup.SelectRecordsTitle, Metadata.LanguageCode); var modalLookupCssClass = modalLookup == null ? null : modalLookup.CssClass; var modalLookupTitle = modalLookup == null ? null : Localization.GetLocalizedString(modalLookup.Title, Metadata.LanguageCode); var modalLookupTitleCssClass = modalLookup == null ? null : modalLookup.TitleCssClass; var modalLookupPrimaryButtonText = modalLookup == null ? null : Localization.GetLocalizedString(modalLookup.PrimaryButtonText, Metadata.LanguageCode); var modalLookupDismissButtonSrText = modalLookup == null ? null : Localization.GetLocalizedString(modalLookup.DismissButtonSrText, Metadata.LanguageCode); var modalLookupCloseButtonText = modalLookup == null ? null : Localization.GetLocalizedString(modalLookup.CloseButtonText, Metadata.LanguageCode); var modalLookupPrimaryButtonCssClass = modalLookup == null ? null : modalLookup.PrimaryButtonCssClass; var modalLookupCloseButtonCssClass = modalLookup == null ? null : modalLookup.CloseButtonCssClass; var modalLookupGridContainerCssClass = modalLookup == null ? null : modalLookup.GridSettings == null ? null : modalLookup.GridSettings.CssClass; var modalLookupGridCssClass = modalLookup == null ? null : modalLookup.GridSettings == null ? null : modalLookup.GridSettings.GridCssClass; var modalLookupGridLoadingMessage = modalLookup == null ? null : modalLookup.GridSettings == null ? null : Localization.GetLocalizedString(modalLookup.GridSettings.LoadingMessage, Metadata.LanguageCode); var modalLookupGridErrorMessage = modalLookup == null ? null : modalLookup.GridSettings == null ? null : Localization.GetLocalizedString(modalLookup.GridSettings.ErrorMessage, Metadata.LanguageCode); var modalLookupGridAccessDeniedMessage = modalLookup == null ? null : modalLookup.GridSettings == null ? null : Localization.GetLocalizedString(modalLookup.GridSettings.AccessDeniedMessage, Metadata.LanguageCode); var modalLookupGridEmptyMessage = modalLookup == null ? null : modalLookup.GridSettings == null ? null : Localization.GetLocalizedString(modalLookup.GridSettings.EmptyMessage, Metadata.LanguageCode); var modalLookupDefaultErrorMessage = modalLookup == null ? null : Localization.GetLocalizedString(modalLookup.DefaultErrorMessage, Metadata.LanguageCode); var modalDetailsForm = (settings != null) ? settings.DetailsFormDialog : null; var modalDetailsFormCssClass = modalDetailsForm == null ? null : modalDetailsForm.CssClass; var modalDetailsFormTitle = modalDetailsForm == null ? null : Localization.GetLocalizedString(modalDetailsForm.Title, Metadata.LanguageCode); var modalDetailsFormTitleCssClass = modalDetailsForm == null ? null : modalDetailsForm.TitleCssClass; var modalDetailsFormLoadingMessage = modalDetailsForm == null ? null : Localization.GetLocalizedString(modalDetailsForm.LoadingMessage, Metadata.LanguageCode); var modalDetailsFormDismissButtonSrText = modalDetailsForm == null ? null : Localization.GetLocalizedString(modalDetailsForm.DismissButtonSrText, Metadata.LanguageCode); var modalDetailsFormSize = (modalDetailsForm != null && modalDetailsForm.Size != null) ? modalDetailsForm.Size.GetValueOrDefault(BootstrapExtensions.BootstrapModalSize.Large) : BootstrapExtensions.BootstrapModalSize.Large; var modalEditForm = (settings != null) ? settings.EditFormDialog : null; var modalEditFormCssClass = modalEditForm == null ? null : modalEditForm.CssClass; var modalEditFormTitle = modalEditForm == null ? null : Localization.GetLocalizedString(modalEditForm.Title, Metadata.LanguageCode); var modalEditFormTitleCssClass = modalEditForm == null ? null : modalEditForm.TitleCssClass; var modalEditFormLoadingMessage = modalEditForm == null ? null : Localization.GetLocalizedString(modalEditForm.LoadingMessage, Metadata.LanguageCode); var modalEditFormDismissButtonSrText = modalEditForm == null ? null : Localization.GetLocalizedString(modalEditForm.DismissButtonSrText, Metadata.LanguageCode); var modalEditFormSize = (modalEditForm != null && modalEditForm.Size != null) ? modalEditForm.Size.GetValueOrDefault(BootstrapExtensions.BootstrapModalSize.Large) : BootstrapExtensions.BootstrapModalSize.Large; var modalCreateForm = (settings != null) ? settings.CreateFormDialog : null; var modalCreateFormCssClass = modalCreateForm == null ? null : modalCreateForm.CssClass; var modalCreateFormTitle = modalCreateForm == null ? null : Localization.GetLocalizedString(modalCreateForm.Title, Metadata.LanguageCode); var modalCreateFormTitleCssClass = modalCreateForm == null ? null : modalCreateForm.TitleCssClass; var modalCreateFormLoadingMessage = modalCreateForm == null ? null : Localization.GetLocalizedString(modalCreateForm.LoadingMessage, Metadata.LanguageCode); var modalCreateFormDismissButtonSrText = modalCreateForm == null ? null : Localization.GetLocalizedString(modalCreateForm.DismissButtonSrText, Metadata.LanguageCode); var modalCreateFormSize = (modalCreateForm != null && modalCreateForm.Size != null) ? modalCreateForm.Size.GetValueOrDefault(BootstrapExtensions.BootstrapModalSize.Large) : BootstrapExtensions.BootstrapModalSize.Large; var modalDelete = (settings != null) ? settings.DeleteDialog : null; var modalDeleteCssClass = modalDelete == null ? null : modalDelete.CssClass; var modalDeleteTitle = modalDelete == null ? null : Localization.GetLocalizedString(modalDelete.Title, Metadata.LanguageCode); var modalDeleteTitleCssClass = modalDelete == null ? null : modalDelete.TitleCssClass; var modalDeletePrimaryButtonText = modalDelete == null ? null : Localization.GetLocalizedString(modalDelete.PrimaryButtonText, Metadata.LanguageCode); var modalDeleteCloseButtonText = modalDelete == null ? null : Localization.GetLocalizedString(modalDelete.CloseButtonText, Metadata.LanguageCode); var modalDeleteDismissButtonSrText = modalDelete == null ? null : Localization.GetLocalizedString(modalDelete.DismissButtonSrText, Metadata.LanguageCode); var modalDeleteSize = (modalDelete != null && modalDelete.Size != null) ? modalDelete.Size.GetValueOrDefault(BootstrapExtensions.BootstrapModalSize.Default) : BootstrapExtensions.BootstrapModalSize.Default; var modalDeleteBody = modalDelete == null ? null : Localization.GetLocalizedString(modalDelete.Confirmation, Metadata.LanguageCode); var modalError = (settings != null) ? settings.ErrorDialog : null; var modalErrorSize = (modalError != null && modalError.Size != null) ? modalError.Size.GetValueOrDefault(BootstrapExtensions.BootstrapModalSize.Default) : BootstrapExtensions.BootstrapModalSize.Default; var modalErrorCssClass = modalError == null ? null : modalError.CssClass; var modalErrorTitle = modalError == null ? null : Localization.GetLocalizedString(modalError.Title, Metadata.LanguageCode); var modalErrorTitleCssClass = modalError == null ? null : modalError.TitleCssClass; var modalErrorDismissButtonSrText = modalError == null ? null : Localization.GetLocalizedString(modalError.DismissButtonSrText, Metadata.LanguageCode); var modalErrorCloseButtonText = modalError == null ? null : Localization.GetLocalizedString(modalError.CloseButtonText, Metadata.LanguageCode); var modalErrorBody = modalError == null ? null : Localization.GetLocalizedString(modalError.Body, Metadata.LanguageCode); var modalLookupGridPageSize = html.IntegerSetting("Portal/Lookup/Modal/Grid/PageSize") ?? 10; var modalLookupSizeSetting = html.Setting("Portal/Lookup/Modal/Size"); var modalLookupSize = BootstrapExtensions.BootstrapModalSize.Large; if (modalLookupSizeSetting != null && modalLookupSizeSetting.ToLower() == "default") { modalLookupSize = BootstrapExtensions.BootstrapModalSize.Default; } if (modalLookupSizeSetting != null && modalLookupSizeSetting.ToLower() == "small") { modalLookupSize = BootstrapExtensions.BootstrapModalSize.Small; } var modalCreateRelatedRecord = (settings != null) ? settings.CreateRelatedRecordDialog : null; var modalCreateRelatedRecordCssClass = modalCreateRelatedRecord == null ? null : modalCreateRelatedRecord.CssClass; var modalCreateRelatedRecordTitle = modalCreateRelatedRecord == null ? null : Localization.GetLocalizedString(modalCreateRelatedRecord.Title, Metadata.LanguageCode); var modalCreateRelatedRecordTitleCssClass = modalCreateRelatedRecord == null ? null : modalCreateRelatedRecord.TitleCssClass; var modalCreateRelatedRecordLoadingMessage = modalCreateRelatedRecord == null ? null : Localization.GetLocalizedString(modalCreateRelatedRecord.LoadingMessage, Metadata.LanguageCode); var modalCreateRelatedRecordDismissButtonSrText = modalCreateRelatedRecord == null ? null : Localization.GetLocalizedString(modalCreateRelatedRecord.DismissButtonSrText, Metadata.LanguageCode); var modalCreateRelatedRecordSize = (modalCreateRelatedRecord != null && modalCreateRelatedRecord.Size != null) ? modalCreateRelatedRecord.Size.GetValueOrDefault(BootstrapExtensions.BootstrapModalSize.Large) : BootstrapExtensions.BootstrapModalSize.Large; foreach (var viewGuid in viewGuids) { var savedQueryView = new SavedQueryView(context, viewGuid, Metadata.LanguageCode); if (savedQueryView.FetchXml == null) { continue; } var fetch = Fetch.Parse(savedQueryView.FetchXml); AddFiltersToFetch(context, fetch, entityId.ToString()); var viewConfiguration = new ViewConfiguration(portalContext, savedQueryView, Metadata.ViewRecordsPerPage ?? 0, fetch.ToXml().ToString(), new ViewSearch(Metadata.ViewEnableQuickFind), Metadata.FormView.EnableEntityPermissions, settings, Metadata.LanguageCode, ContextName, Metadata.ViewRelationshipName, Metadata.ViewTargetEntityType, viewGuid, modalLookupGridPageSize) { SubgridFormEntityId = entityId, SubgridFormEntityLogicalName = Metadata.TargetEntityName }; viewConfigurations.Add(viewConfiguration); } return(!string.IsNullOrWhiteSpace(Metadata.ViewRelationshipName) ? html.EntitySubGrid(source, relationship, viewConfigurations, EntityListFunctions.BuildControllerActionUrl("GetSubgridData", "EntityGrid", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }), user, string.Join(" ", new[] { CssClass, cssClass }).TrimEnd(' '), string.Join(" ", new[] { "table-striped", gridCssClass }).TrimEnd(' '), gridColumnWidthStyle, EntityGridExtensions.GridSelectMode.None, null, loadingMessage, errorMessage, accessDeniedMessage, emptyMessage, Metadata.FormView.ContextName, Metadata.LanguageCode, false, true, modalDetailsFormSize, modalDetailsFormCssClass, modalDetailsFormTitle, modalDetailsFormLoadingMessage, modalDetailsFormDismissButtonSrText, modalDetailsFormTitleCssClass, modalCreateFormSize, modalCreateFormCssClass, modalCreateFormTitle, modalCreateFormLoadingMessage, modalCreateFormDismissButtonSrText, modalCreateFormTitleCssClass, modalEditFormSize, modalEditFormCssClass, modalEditFormTitle, modalEditFormLoadingMessage, modalEditFormDismissButtonSrText, modalEditFormTitleCssClass, modalDeleteSize, modalDeleteCssClass, modalDeleteTitle, modalDeleteBody, modalDeletePrimaryButtonText, modalDeleteCloseButtonText, modalDeleteDismissButtonSrText, modalDeleteTitleCssClass, modalErrorSize, modalErrorCssClass, modalErrorTitle, modalErrorBody, modalErrorDismissButtonSrText, modalErrorCloseButtonText, modalErrorTitleCssClass, modalLookupCssClass, modalLookupTitle, modalLookupSelectedRecordsTitle, modalLookupPrimaryButtonText, modalLookupCloseButtonText, modalLookupDismissButtonSrText, modalLookupTitleCssClass, modalLookupPrimaryButtonCssClass, modalLookupCloseButtonCssClass, modalLookupGridContainerCssClass, modalLookupGridCssClass, modalLookupGridLoadingMessage, modalLookupGridErrorMessage, modalLookupGridAccessDeniedMessage, modalLookupGridEmptyMessage, modalLookupDefaultErrorMessage, modalLookupSize, modalCreateRelatedRecordSize, modalCreateRelatedRecordCssClass, modalCreateRelatedRecordTitle, modalCreateRelatedRecordLoadingMessage, modalCreateRelatedRecordDismissButtonSrText, modalCreateRelatedRecordTitleCssClass) : html.EntitySubGrid(viewConfigurations, EntityListFunctions.BuildControllerActionUrl("GetSubgridData", "EntityGrid", new { area = "Portal", __portalScopeId__ = portalContext.Website.Id }), user, string.Join(" ", new[] { CssClass, cssClass }).TrimEnd(' '), string.Join(" ", new[] { "table-striped", gridCssClass }).TrimEnd(' '), gridColumnWidthStyle, EntityGridExtensions.GridSelectMode.None, null, loadingMessage, errorMessage, accessDeniedMessage, emptyMessage, Metadata.FormView.ContextName, Metadata.LanguageCode, false, true, modalDetailsFormSize, modalDetailsFormCssClass, modalDetailsFormTitle, modalDetailsFormLoadingMessage, modalDetailsFormDismissButtonSrText, modalDetailsFormTitleCssClass, modalCreateFormSize, modalCreateFormCssClass, modalCreateFormTitle, modalCreateFormLoadingMessage, modalCreateFormDismissButtonSrText, modalCreateFormTitleCssClass, modalEditFormSize, modalEditFormCssClass, modalEditFormTitle, modalEditFormLoadingMessage, modalEditFormDismissButtonSrText, modalEditFormTitleCssClass, modalDeleteSize, modalDeleteCssClass, modalDeleteTitle, modalDeleteBody, modalDeletePrimaryButtonText, modalDeleteCloseButtonText, modalDeleteDismissButtonSrText, modalDeleteTitleCssClass, modalErrorSize, modalErrorCssClass, modalErrorTitle, modalErrorBody, modalErrorDismissButtonSrText, modalErrorCloseButtonText, modalErrorTitleCssClass, modalCreateRelatedRecordSize, modalCreateRelatedRecordCssClass, modalCreateRelatedRecordTitle, modalCreateRelatedRecordLoadingMessage, modalCreateRelatedRecordDismissButtonSrText, modalCreateRelatedRecordTitleCssClass)); }
/// <summary> /// Constructor used by The ViewConfiguration Class /// </summary> public CalendarConfiguration(OrganizationServiceContext serviceContext, bool calendarEnabled, string calendarInitialDateString, OptionSetValue calendarInitialView, OptionSetValue calendarStyle, OptionSetValue calendarTimeZoneDisplayMode, int?calendarDisplayTimeZone, string calendarStartDateFieldName, string calendarEndDateFieldName, string calendarSummaryFieldName, string calendarDescriptionFieldName, string calendarOrganizerFieldName, string calendarLocationFieldName, string calendarAllDayFieldName) { Enabled = calendarEnabled; if (!string.IsNullOrWhiteSpace(calendarInitialDateString)) { InitialDateString = calendarInitialDateString; } if (calendarInitialView != null) { if (Enum.IsDefined(typeof(CalendarView), calendarInitialView.Value)) { InitialView = (CalendarView)calendarInitialView.Value; } else { ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("Calendar Initial View value '{0}' is not a valid value defined by CalendarConfiguration.CalendarView class.", calendarInitialView.Value)); } } if (calendarStyle != null) { if (Enum.IsDefined(typeof(CalendarStyle), calendarStyle.Value)) { Style = (CalendarStyle)calendarStyle.Value; } else { ADXTrace.Instance.TraceInfo(TraceCategory.Application, string.Format("Calendar Style value '{0}' is not a valid value defined by CalendarConfiguration.CalendarStyle class.", calendarStyle.Value)); Style = CalendarStyle.Full; } } if (calendarTimeZoneDisplayMode != null) { if (Enum.IsDefined(typeof(TimeZoneDisplayMode), calendarTimeZoneDisplayMode.Value)) { TimeZoneDisplay = (TimeZoneDisplayMode)calendarTimeZoneDisplayMode.Value; } else { TimeZoneDisplay = TimeZoneDisplayMode.UserLocalTimeZone; } } if (calendarDisplayTimeZone != null) { var calendarDisplayTimeZoneStandardName = EntityListFunctions.GetTimeZoneStandardName(serviceContext, calendarDisplayTimeZone.Value); if (!string.IsNullOrWhiteSpace(calendarDisplayTimeZoneStandardName)) { TimeZoneStandardName = calendarDisplayTimeZoneStandardName; } } if (!string.IsNullOrWhiteSpace(calendarStartDateFieldName)) { StartDateFieldName = calendarStartDateFieldName; } if (!string.IsNullOrWhiteSpace(calendarEndDateFieldName)) { EndDateFieldName = calendarEndDateFieldName; } if (!string.IsNullOrWhiteSpace(calendarSummaryFieldName)) { SummaryFieldName = calendarSummaryFieldName; } if (!string.IsNullOrWhiteSpace(calendarDescriptionFieldName)) { DescriptionFieldName = calendarDescriptionFieldName; } if (!string.IsNullOrWhiteSpace(calendarOrganizerFieldName)) { OrganizerFieldName = calendarOrganizerFieldName; } if (!string.IsNullOrWhiteSpace(calendarLocationFieldName)) { LocationFieldName = calendarLocationFieldName; } if (!string.IsNullOrWhiteSpace(calendarAllDayFieldName)) { IsAllDayFieldName = calendarAllDayFieldName; } }