private void IsSameUser(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            DataEntityToken dataEntityToken = (DataEntityToken)this.EntityToken;

            IUser user = (IUser)dataEntityToken.Data;

            e.Result = user.Username == UserSettings.Username;
        }
Пример #2
0
        private void TypeIsReferenced(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            var  descriptor    = GetDataTypeDescriptor();
            Type interfaceType = descriptor.GetInterfaceType();

            // NOTE: Type could reference to itself
            e.Result = interfaceType.GetRefereeTypes().Where(type => type != interfaceType).Any();
        }
Пример #3
0
        private void IsTreeIdFree(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            string definitionName = this.GetBinding <string>("DefinitionName");

            string filename = Path.Combine(PathUtil.Resolve(GlobalSettingsFacade.TreeDefinitionsDirectory), definitionName + ".xml");

            e.Result = C1File.Exists(filename) == false;

            if (e.Result == false)
            {
                this.ShowFieldMessage("DefinitionName", "Definition name is already used");
            }
        }
        private void IsTitleUsed(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            IXmlPageTemplate newPageTemplate = this.GetBinding <IXmlPageTemplate>("PageTemplate");

            if (this.GetBinding <string>("OldTitle") == newPageTemplate.Title)
            {
                e.Result = false;
                return;
            }

            e.Result = DataFacade.GetData <IXmlPageTemplate>().ToList()
                       .Any(f => string.Compare(f.Title, newPageTemplate.Title, StringComparison.InvariantCultureIgnoreCase) == 0 &&
                            f.Id != newPageTemplate.Id);
        }
Пример #5
0
        private void IsUsedByPageType(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            DataTypeDescriptor dataTypeDescriptor = GetDataTypeDescriptor();

            bool isUsed = DataFacade.GetData <IPageTypeDataFolderTypeLink>().Where(f => f.DataTypeId == dataTypeDescriptor.DataTypeId).Any();

            if (isUsed)
            {
                Type interfaceType = GetDataTypeDescriptor().GetInterfaceType();

                this.ShowMessage(DialogType.Warning,
                                 GetLocalizedText("DeleteAggregationTypeWorkflow.ErrorTitle"),
                                 GetLocalizedText("DeleteAggregationTypeWorkflow.IsUsedByPageType").FormatWith(interfaceType.FullName));
            }

            e.Result = isUsed;
        }
        private void IfFeatureNameFree(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            string name = this.GetBinding <string>("Name");

            if (name.Length > 50)
            {
                e.Result = false;
                this.ShowFieldMessage("Name", StringResourceSystemFacade.GetString("Composite.Plugins.PageTemplateFeatureElementProvider", "AddWorkflow.NameTooLong"));
                return;
            }

            if (!C1Directory.Exists(PathUtil.Resolve(GlobalSettingsFacade.PageTemplateFeaturesDirectory)))
            {
                try
                {
                    C1Directory.CreateDirectory(PathUtil.Resolve(GlobalSettingsFacade.PageTemplateFeaturesDirectory));
                }
                catch (Exception)
                {
                    e.Result = false;
                    this.ShowFieldMessage("Name", string.Format("Can not create directory '{0}'", GlobalSettingsFacade.PageTemplateFeaturesDirectory));
                }
            }

            string xmlFilename  = Path.Combine(PathUtil.Resolve(GlobalSettingsFacade.PageTemplateFeaturesDirectory), name + ".xml");
            string htmlFilename = Path.Combine(PathUtil.Resolve(GlobalSettingsFacade.PageTemplateFeaturesDirectory), name + ".html");

            e.Result = !C1File.Exists(xmlFilename) && !C1File.Exists(htmlFilename);

            if (!e.Result)
            {
                this.ShowFieldMessage("Name", StringResourceSystemFacade.GetString("Composite.Plugins.PageTemplateFeatureElementProvider", "AddWorkflow.NameInUse"));
                return;
            }

            try
            {
                C1File.WriteAllText(xmlFilename, "tmp");
                C1File.Delete(xmlFilename);
            }
            catch (Exception)
            {
                e.Result = false;
                this.ShowFieldMessage("Name", StringResourceSystemFacade.GetString("Composite.Plugins.PageTemplateFeatureElementProvider", "AddWorkflow.NameNotValidInFilename"));
            }
        }
Пример #7
0
        private void IsMarkupValid(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            DeveloperApplicationProviderEntityToken castedEntityToken = (DeveloperApplicationProviderEntityToken)this.EntityToken;

            string content = this.GetBinding <string>("TreeDefinitionMarkup");

            this.UpdateBinding("Errors", "");

            XDocument document = null;

            try
            {
                document = XDocument.Parse(content);
            }
            catch (Exception ex)
            {
                this.UpdateBinding("Errors", ex.Message);
                e.Result = false;
                return;
            }


            Tree tree = TreeFacade.LoadTreeFromDom(castedEntityToken.Filename, document);

            ValidationError validationError = tree.BuildResult.ValidationErrors.FirstOrDefault();

            if (validationError != null)
            {
                StringBuilder sb = new StringBuilder();
                if (string.IsNullOrEmpty(validationError.XPath) == false)
                {
                    sb.Append(validationError.Message);
                    sb.Append(" at XPath: ");
                    sb.Append(validationError.XPath);
                }
                else
                {
                    sb.Append(validationError.Message);
                }

                this.UpdateBinding("Errors", sb.ToString());
            }

            e.Result = tree.BuildResult.ValidationErrors.Count() == 0;
        }
        private void IsUserLoggedOn(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            DataEntityToken dataEntityToken = (DataEntityToken)this.EntityToken;

            IUser user = (IUser)dataEntityToken.Data;

            string selectedActiveLocaleName = (user.Username != UserSettings.Username ?
                                               this.GetBinding <string>("ActiveLocaleName") :
                                               UserSettings.ActiveLocaleCultureInfo.ToString());

            if (selectedActiveLocaleName != null)
            {
                CultureInfo selectedActiveLocale = CultureInfo.CreateSpecificCulture(selectedActiveLocaleName);

                if (!UserSettings.GetCurrentActiveLocaleCultureInfo(user.Username).Equals(selectedActiveLocale))
                {
                    e.Result = ConsoleFacade.GetConsoleIdsByUsername(user.Username).Any();
                    return;
                }
            }

            e.Result = false;
        }
        private void IsMarkupValid(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            PageTemplateFeatureEntityToken castedEntityToken = (PageTemplateFeatureEntityToken)this.EntityToken;

            string content = this.GetBinding <string>("Markup");

            this.UpdateBinding("Errors", "");

            XhtmlDocument document = null;

            try
            {
                document = XhtmlDocument.Parse(content);
            }
            catch (Exception ex)
            {
                this.UpdateBinding("Errors", ex.Message);
                e.Result = false;
                return;
            }

            e.Result = true;
        }
 private void CheckActiveLanguagesExists(object sender, System.Workflow.Activities.ConditionalEventArgs e)
 {
     e.Result = DataLocalizationFacade.ActiveLocalizationCultures.Any();
 }
Пример #11
0
 private void DoesTypeExists(object sender, System.Workflow.Activities.ConditionalEventArgs e)
 {
     e.Result = GetDataTypeDescriptor() != null;
 }
Пример #12
0
        private void HasUserUploaded(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            UploadedFile uploadedFile = this.GetBinding <UploadedFile>("UploadedFile");

            e.Result = uploadedFile.HasFile;
        }
 private void DidValidate(object sender, System.Workflow.Activities.ConditionalEventArgs e)
 {
     e.Result = this.BindingExist("Errors") == false;
 }
Пример #14
0
 private void IsUrlValid(object sender, System.Workflow.Activities.ConditionalEventArgs e)
 {
     e.Result = _urlIsValid;
 }
Пример #15
0
 private void HasActiveLocales(object sender, System.Workflow.Activities.ConditionalEventArgs e)
 {
     e.Result = DataLocalizationFacade.ActiveLocalizationCultures.Count() > 1;
 }