Ejemplo n.º 1
0
    public Config Elements(Action <ElementBuilder> builderAction)
    {
        ElementBuilder builder = new ElementBuilder(this);

        builderAction(builder);
        return(this);
    }
Ejemplo n.º 2
0
        public void GenerateQuestionAndAnswersList_ShouldReturn_ListWithSingleItem_For_ElementType(EElementType type)
        {
            // Arrange
            var value = "value";

            _mockElementMapper
            .Setup(_ => _.GetAnswerStringValue(It.IsAny <IElement>(), It.IsAny <FormAnswers>()))
            .Returns(value);

            var formAnswers = new FormAnswers {
                Pages = new List <PageAnswers>()
            };
            var labelText = "I am a label";

            var element = new ElementBuilder()
                          .WithType(type)
                          .WithQuestionId("testQuestion")
                          .WithLabel(labelText)
                          .Build();

            var page = new PageBuilder()
                       .WithElement(element)
                       .Build();

            var formSchema = new FormSchemaBuilder()
                             .WithPage(page)
                             .Build();

            // Act
            var result = _documentCreation.GenerateQuestionAndAnswersList(formAnswers, formSchema);

            Assert.Equal(2, result.Count);
            Assert.Equal($"{labelText}: {value}", result[0]);
        }
Ejemplo n.º 3
0
        public void GetAnswerStringValue_ShouldReturnCorrectValue_ForFileUpload(EElementType type)
        {
            // Arrange
            var questionId = "test-questionID";
            var labelText  = "Evidence file";
            var value      = new List <FileUploadModel> {
                new FileUploadModel {
                    TrustedOriginalFileName = "your_upload_file.txt"
                }
            };
            var formAnswers = new FormAnswers {
                Pages = new List <PageAnswers> {
                    new PageAnswers {
                        Answers = new List <Answers> {
                            new Answers {
                                QuestionId = $"{questionId}-fileupload", Response = Newtonsoft.Json.JsonConvert.SerializeObject(value)
                            }
                        }
                    }
                }
            };

            var element = new ElementBuilder()
                          .WithType(type)
                          .WithQuestionId(questionId)
                          .WithLabel(labelText)
                          .Build();

            // Act
            var result = _elementMapper.GetAnswerStringValue(element, formAnswers);

            // Assert
            Assert.Equal(value[0].TrustedOriginalFileName, result);
        }
        // resolving a style delegate parameter
        public IPropProvider Resolve(ComponentBuilderContext context, ElementBuilder element, PropTypeInfo prop, YamlNode node)
        {
            if (!IsStyleDelegate(prop.Type))
            {
                return(null);
            }

            var provider = new Provider(prop.Type);

            foreach (var(key, value) in node.ToMapping())
            {
                try
                {
                    // find member by name
                    var memberName = key.ToScalar().Value;
                    var member     = provider.FindMember(memberName);

                    // resolve member using prop provider
                    var memberProvider = member == null ? null : ((IYamlComponentBuilder)context.Builder).PropResolver.Resolve(context, null, member, value);

                    if (memberProvider == null)
                    {
                        throw new YamlComponentException($"Cannot resolve property or field '{memberName}' in element {provider.DrawableType}.", key);
                    }

                    provider.Properties[member] = memberProvider;
                }
                catch (Exception e)
                {
                    context.OnException(e);
                }
            }

            return(provider);
        }
Ejemplo n.º 5
0
        public AddAnotherPageTransformFactoryTests()
        {
            var textboxElement = new ElementBuilder()
                                 .WithQuestionId("textbox")
                                 .WithType(EElementType.Textbox)
                                 .Build();

            var addAnotherElement = new ElementBuilder()
                                    .WithLabel("Person")
                                    .WithQuestionId("person")
                                    .WithType(EElementType.AddAnother)
                                    .WithNestedElement(textboxElement)
                                    .WithAppendText("person")
                                    .Build();

            addAnotherElement.Properties.Elements = new List <IElement> {
                textboxElement
            };

            _page = new PageBuilder()
                    .WithPageSlug("people")
                    .WithElement(addAnotherElement)
                    .Build();



            _transformFactory = new AddAnotherPageTransformFactory();
        }
Ejemplo n.º 6
0
        public void GenerateElementProperties_ShouldReturnCorrectPropertiesFor_Textbox(EElementType type)
        {
            // Arrange
            var questionId = "test-question-id";
            var value      = "test-value";
            var length     = 205;

            var element = new ElementBuilder()
                          .WithType(type)
                          .WithQuestionId(questionId)
                          .WithValue(value)
                          .WithMaxLength(length)
                          .Build();

            // Act
            var result = element.GenerateElementProperties();

            // Assert
            Assert.NotEmpty(result);
            Assert.True(result.ContainsKey("name"));
            Assert.True(result.ContainsKey("id"));
            Assert.True(result.ContainsKey("maxlength"));
            Assert.True(result.ContainsKey("value"));
            Assert.True(result.ContainsValue(questionId));
            Assert.True(result.ContainsValue(value));
            Assert.True(result.ContainsValue(length));
        }
        public async Task ProcessOrganisation_Application_ShouldThrowApplicationException_WhenOrganisationProvider_ThrowsException()
        {
            _organisationProvider.Setup(_ => _.SearchAsync(It.IsAny <string>())).Throws <Exception>();

            var element = new ElementBuilder()
                          .WithType(EElementType.Organisation)
                          .WithOrganisationProvider(EOrganisationProvider.Fake.ToString())
                          .WithQuestionId("test-address")
                          .Build();

            var page = new PageBuilder()
                       .WithElement(element)
                       .WithPageSlug("page-one")
                       .WithValidatedModel(true)
                       .Build();

            var schema = new FormSchemaBuilder()
                         .WithPage(page)
                         .Build();

            var viewModel = new Dictionary <string, dynamic>
            {
                { "Guid", Guid.NewGuid().ToString() },
                { "subPath", "" },
                { element.Properties.QuestionId, _searchModel.SearchTerm },
            };

            var result = await Assert.ThrowsAsync <ApplicationException>(() => _service.ProcessOrganisation(viewModel, page, schema, "", "page-one"));

            _organisationProvider.Verify(_ => _.SearchAsync(It.IsAny <string>()), Times.Once);
            _pageHelper.Verify(_ => _.GenerateHtml(It.IsAny <Page>(), It.IsAny <Dictionary <string, dynamic> >(), It.IsAny <FormSchema>(), It.IsAny <string>(), It.IsAny <FormAnswers>(), It.IsAny <List <object> >()), Times.Never);
            Assert.StartsWith($"OrganisationService.ProccessInitialOrganisation:: An exception has occured while attempting to perform organisation lookup, Exception: ", result.Message);
        }
    public ConfigBuilder WithElement(Action <ElementBuilder> builderConfig)
    {
        var elementBuilder = new ElementBuilder();

        builderConfig(elementBuilder);
        return(this.WithElement(elementBuilder));
    }
        public void Validate_MultipleFileUpload_Should_ReturnsFalseWhen_SingleFileIsNot_AllowedExtensions_WithMultipleFiles()
        {
            // Arrange
            var fileName = "invaidfile.jpg";
            var element  = new ElementBuilder()
                           .WithType(EElementType.MultipleFileUpload)
                           .WithQuestionId("fileUpload")
                           .WithAcceptedMimeType(".jpg")
                           .Build();

            var viewModel = new Dictionary <string, dynamic>();
            var docs      = new List <DocumentModel>();

            docs.Add(new DocumentModel {
                FileSize = 16, Content = base64EncodedImage
            });
            docs.Add(new DocumentModel {
                FileSize = 2, Content = base64EncodedInvalidMimeType, FileName = fileName
            });
            viewModel.Add($"fileUpload{FileUploadConstants.SUFFIX}", docs);

            // Act
            var result = _validator.Validate(element, viewModel, new form_builder.Models.FormSchema());

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal($"{fileName} must be a JPG.", result.Message);
        }
        public void Validate_MultipleFileUpload_Should_ReturnsFalseWhen_SingleFileIsNot_AllowedExtensions_WithThreeAcceptedMimeTypes()
        {
            // Arrange
            var element = new ElementBuilder()
                          .WithType(EElementType.MultipleFileUpload)
                          .WithQuestionId("fileUpload")
                          .WithAcceptedMimeType(".png")
                          .WithAcceptedMimeType(".txt")
                          .WithAcceptedMimeType(".pdf")
                          .Build();

            var viewModel     = new Dictionary <string, dynamic>();
            var docs          = new List <DocumentModel>();
            var documentModel = new DocumentModel {
                FileSize = 16, Content = base64EncodedImage
            };

            docs.Add(documentModel);
            viewModel.Add($"fileUpload{FileUploadConstants.SUFFIX}", docs);

            // Act
            var result = _validator.Validate(element, viewModel, new form_builder.Models.FormSchema());

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal("The selected file must be a PNG, TXT or PDF.", result.Message);
        }
        public void Validate_MultipleFileUpload_Should_ReturnTrueWhen_MultipleFiles_Are_AllowedExtension()
        {
            // Arrange
            var element = new ElementBuilder()
                          .WithType(EElementType.MultipleFileUpload)
                          .WithQuestionId("fileUpload")
                          .WithAcceptedMimeType(".jpg")
                          .Build();

            var viewModel     = new Dictionary <string, dynamic>();
            var documentModel = new List <DocumentModel> {
                new DocumentModel {
                    FileSize = 16, Content = base64EncodedImage
                }, new DocumentModel {
                    FileSize = 16, Content = base64EncodedImage
                }
            };

            viewModel.Add($"fileUpload{FileUploadConstants.SUFFIX}", documentModel);

            // Act
            var result = _validator.Validate(element, viewModel, new form_builder.Models.FormSchema());

            // Assert
            Assert.True(result.IsValid);
        }
        public void Validate_MultipleFileUpload_Should_ReturnsFalseWhen_MultipleFilesAreNot_AllowedExtension()
        {
            // Arrange
            var element = new ElementBuilder()
                          .WithType(EElementType.MultipleFileUpload)
                          .WithQuestionId("fileUpload")
                          .WithAcceptedMimeType(".png")
                          .Build();

            var viewModel = new Dictionary <string, dynamic>();
            var docs      = new List <DocumentModel>
            {
                new DocumentModel {
                    FileName = "file1.png", FileSize = 16, Content = base64EncodedImage
                },
                new DocumentModel {
                    FileName = "file2.png", FileSize = 16, Content = base64EncodedImage
                }
            };

            viewModel.Add($"fileUpload{FileUploadConstants.SUFFIX}", docs);

            // Act
            var result = _validator.Validate(element, viewModel, new form_builder.Models.FormSchema());

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal("file2.png must be a PNG. <br/> file1.png must be a PNG.", result.Message);
        }
        public void Validate_MultipleFileUpload_ShouldReturnsFalse_WhenDocumentType_IsNull_ForMultipleFiles()
        {
            // Arrange
            var element = new ElementBuilder()
                          .WithType(EElementType.MultipleFileUpload)
                          .WithQuestionId("fileUpload")
                          .WithAcceptedMimeType(".jpg")
                          .Build();

            var viewModel = new Dictionary <string, dynamic>();
            var docs      = new List <DocumentModel>
            {
                new DocumentModel {
                    FileName = "file1.txt", FileSize = 16, Content = "VGhpcyBpcyBhIHRlc3Q="
                },
                new DocumentModel {
                    FileName = "file2.txt", FileSize = 2, Content = "VGhpcyBpcyBhIHRlc3Q="
                }
            };

            viewModel.Add($"fileUpload{FileUploadConstants.SUFFIX}", docs);

            // Act
            var result = _validator.Validate(element, viewModel, new form_builder.Models.FormSchema());

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal("file2.txt must be a JPG. <br/> file1.txt must be a JPG.", result.Message);
        }
Ejemplo n.º 14
0
        // Creates some text and associate it with the text layer
        static Obj CreateGroup3(PDFDoc doc, Obj layer)
        {
            using (ElementWriter writer = new ElementWriter())
                using (ElementBuilder builder = new ElementBuilder())
                {
                    writer.Begin(doc);

                    // Begin writing a block of text
                    Element element = builder.CreateTextBegin(Font.Create(doc, Font.StandardType1Font.e_times_roman), 120);
                    writer.WriteElement(element);

                    element = builder.CreateTextRun("A text layer!");

                    // Rotate text 45 degrees, than translate 180 pts horizontally and 100 pts vertically.
                    Matrix2D transform = Matrix2D.RotationMatrix(-45 * (3.1415 / 180.0));
                    transform.Concat(1, 0, 0, 1, 180, 100);
                    element.SetTextMatrix(transform);

                    writer.WriteElement(element);
                    writer.WriteElement(builder.CreateTextEnd());

                    Obj grp_obj = writer.End();

                    // Indicate that this form (content group) belongs to the given layer (OCG).
                    grp_obj.PutName("Subtype", "Form");
                    grp_obj.Put("OC", layer);
                    grp_obj.PutRect("BBox", 0, 0, 1000, 1000);                  // Set the clip box for the content.

                    return(grp_obj);
                }
        }
        public static IModelUI CreatePort(this ElementBuilder elementBuilder, CommandDispatcher commandDispatcher, IPortModel model)
        {
            var ui = new DebuggingPort();

            ui.SetupBuildAndUpdate(model, commandDispatcher, elementBuilder.View, elementBuilder.Context);
            return(ui);
        }
Ejemplo n.º 16
0
        public void GetAnswerValue_ShouldReturnNullWhenResponseIsEmpty_AndNumeric()
        {
            // Arrange
            var element = new ElementBuilder()
                          .WithQuestionId("testNumber")
                          .WithNumeric(true)
                          .Build();

            var formAnswers = new FormAnswers
            {
                Pages = new List <PageAnswers>
                {
                    new PageAnswers {
                        Answers = new List <Answers> {
                            new Answers
                            {
                                QuestionId = "testNumber"
                            }
                        }
                    }
                }
            };

            // Act
            var result = _elementMapper.GetAnswerValue(element, formAnswers);

            // Assert
            Assert.Null(result);
        }
Ejemplo n.º 17
0
        public IPropProvider Resolve(ComponentBuilderContext context, ElementBuilder element, PropTypeInfo prop, YamlNode node)
        {
            if (prop.Type != typeof(MarginPadding))
            {
                return(null);
            }

            switch (node)
            {
            case YamlScalarNode scalar:
                return(new Provider(new MarginPadding(scalar.ToSingle())));

            case YamlSequenceNode sequence when sequence.Children.Count == 1:
                return(new Provider(new MarginPadding(sequence[0].ToSingle())));

            case YamlSequenceNode sequence when sequence.Children.Count == 4:
                return(new Provider(new MarginPadding
                {
                    Top = sequence[0].ToSingle(),
                    Right = sequence[1].ToSingle(),
                    Bottom = sequence[2].ToSingle(),
                    Left = sequence[3].ToSingle()
                }));

            case YamlMappingNode mapping:
                var value = new MarginPadding();

                foreach (var(keyNode, valueNode) in mapping)
                {
                    var key = keyNode.ToScalar().Value;

                    switch (key)
                    {
                    case "top":
                        value.Top = valueNode.ToSingle();
                        break;

                    case "right":
                        value.Right = valueNode.ToSingle();
                        break;

                    case "bottom":
                        value.Bottom = valueNode.ToSingle();
                        break;

                    case "left":
                        value.Left = valueNode.ToSingle();
                        break;

                    default:
                        throw new YamlComponentException($"Invalid margin/padding property '{key}'.", keyNode);
                    }
                }

                return(new Provider(value));

            default:
                throw new YamlComponentException("Must be a sequence containing 4 components or a mapping that specifies top-left-bottom-right margin/padding respectively.", node);
            }
        }
Ejemplo n.º 18
0
        public async Task Transform_ShouldNotReturnAddAnotherButtonElement_WhenMaximumFieldsetsReached()
        {
            // Act
            var textboxElement = new ElementBuilder()
                                 .WithQuestionId("textbox")
                                 .WithType(EElementType.Textbox)
                                 .Build();

            var addAnotherElement = new ElementBuilder()
                                    .WithLabel("Person")
                                    .WithQuestionId("person")
                                    .WithType(EElementType.AddAnother)
                                    .WithNestedElement(textboxElement)
                                    .WithMaximumFieldsets(2)
                                    .Build();

            addAnotherElement.Properties.Elements = new List <IElement> {
                textboxElement
            };

            var page = new PageBuilder()
                       .WithPageSlug("people")
                       .WithElement(addAnotherElement)
                       .Build();

            var result = await _transformFactory.Transform(page, _savedAnswers);

            var addAnotherButton = result.Elements.Where(_ => _.Type.Equals(EElementType.Button) && _.Properties.ButtonName.Equals(AddAnotherConstants.AddAnotherButtonKey)).ToList();

            // Assert
            Assert.Equal(2, result.Elements.Count(_ => _.Type.Equals(EElementType.Button)));
            Assert.Empty(addAnotherButton);
        }
Ejemplo n.º 19
0
        public static IModelUI CreateNode(this ElementBuilder elementBuilder, CommandDispatcher store, VerticalNodeModel model)
        {
            IModelUI ui = new VerticalNode();

            ui.SetupBuildAndUpdate(model, store, elementBuilder.View, elementBuilder.Context);
            return(ui);
        }
Ejemplo n.º 20
0
        public static IModelUI CreateNode(this ElementBuilder elementBuilder, CommandDispatcher dispatcher, MixNodeModel model)
        {
            IModelUI ui = new VariableIngredientNode();

            ui.SetupBuildAndUpdate(model, dispatcher, elementBuilder.View, elementBuilder.Context);
            return(ui);
        }
        public async Task ProcessFile_ProcessSelectedFiles_ShouldCallPageFactory_IfModelStateInvalid()
        {
            // Arrange
            var element = new ElementBuilder()
                          .WithType(EElementType.MultipleFileUpload)
                          .WithQuestionId("fileUpload")
                          .Build();

            var page = new PageBuilder()
                       .WithElement(element)
                       .WithValidatedModel(true)
                       .WithPageSlug("page-one")
                       .Build();

            var schema = new FormSchemaBuilder()
                         .WithPage(page)
                         .WithBaseUrl("baseUrl")
                         .Build();

            var viewModel = new Dictionary <string, dynamic>
            {
                {
                    "Submit", "Submit"
                }
            };

            // Act
            var result = await _service.ProcessFile(viewModel, page, schema,
                                                    new Guid().ToString(), It.IsAny <string>(), null, false);

            // Assert
            _mockPageFactory.Verify(_ => _.Build(It.IsAny <Page>(), It.IsAny <Dictionary <string, dynamic> >(), It.IsAny <FormSchema>(), It.IsAny <string>(), It.IsAny <FormAnswers>(), null), Times.Once);
            Assert.IsType <ProcessRequestEntity>(result);
            Assert.True(result.UseGeneratedViewModel);
        }
Ejemplo n.º 22
0
    public static void Main()
    {
        // create elements using static methods trough HTMLDispatcher class
        Console.WriteLine(HTMLDispatcher.CreateImage("pics/logo.png", "site logo", "resizable"));
        Console.WriteLine();

        Console.WriteLine(HTMLDispatcher.CreateURL("site.com", "Site link", "Click here"));
        Console.WriteLine();

        Console.WriteLine(HTMLDispatcher.CreateInput("radio", "group", "married"));
        Console.WriteLine();

        // create elements with ElementBuilder class instance 
        ElementBuilder div = new ElementBuilder("div");

        div.AddAttribute("class", "clearfix");
        div.AddAttribute("id", "homebox");
        div.AddContent("Text goes here.");
        div.AddContent(" More text added here.");

        Console.WriteLine(div.ToString());
        Console.WriteLine();

        Console.WriteLine(div * 2);
    }
        /// <summary>
        /// Gets the code for namespace reference.
        /// </summary>
        /// <returns>
        /// The code for namespace reference.
        /// </returns>
        public string CreateCodeForNamespaceReference()
        {
            var elementBuilder = new ElementBuilder();

            elementBuilder.AddNode(null, this.ContractsNamespaceReference);
            return(elementBuilder.GenerateCode(this.TextDocument.Language));
        }
Ejemplo n.º 24
0
        private static string GuessTitle(this ElementBuilder elemBuilder)
        {
            var title = elemBuilder.Title ?? elemBuilder.Reference?.Title ?? string.Empty;

            if (!elemBuilder.ForceGenerateTitle && !string.IsNullOrWhiteSpace(title))
            {
                return(title);
            }

            var txtContent = (TextContent)elemBuilder
                             .Contents
                             .FirstOrDefault(c => (c.ContentType & ContentTypeFlag.Text) != ContentTypeFlag.None);

            if (txtContent != null)
            {
                HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(txtContent.Text);

                var text = doc.DocumentNode
                           .SelectNodes("//text()")
                           ?.Select(n => n.InnerText);

                title = text != null?string.Join(" ", text) : txtContent.Text;

                title = HtmlEntity.DeEntitize(title);

                return(title.Substring(0, Math.Min(title.Length, 80)));
            }

            return(title);
        }
Ejemplo n.º 25
0
        static void AddCovePage(PDFDoc doc)
        {
            // Here we dynamically generate cover page (please see ElementBuilder
            // sample for more extensive coverage of PDF creation API).
            Page page = doc.PageCreate(new Rect(0, 0, 200, 200));

            using (ElementBuilder b = new ElementBuilder())
                using (ElementWriter w = new ElementWriter())
                {
                    w.Begin(page);
                    Font font = Font.Create(doc, "Arial", "");
                    w.WriteElement(b.CreateTextBegin(font, 12));
                    Element e = b.CreateTextRun("My PDF Collection");
                    e.SetTextMatrix(1, 0, 0, 1, 50, 96);
                    e.GetGState().SetFillColorSpace(ColorSpace.CreateDeviceRGB());
                    e.GetGState().SetFillColor(new ColorPt(1, 0, 0));
                    w.WriteElement(e);
                    w.WriteElement(b.CreateTextEnd());
                    w.End();
                    doc.PagePushBack(page);
                }

            // Alternatively we could import a PDF page from a template PDF document
            // (for an example please see PDFPage sample project).
            // ...
        }
Ejemplo n.º 26
0
        public async Task RenderAsync_ShouldCall_ElementHelper_ToGetCurrentValue_AndRenderView()
        {
            //Arrange
            var element = new ElementBuilder()
                          .WithType(EElementType.MultipleFileUpload)
                          .Build();

            var page = new PageBuilder()
                       .WithElement(element)
                       .Build();

            var viewModel = new Dictionary <string, dynamic>();

            var schema = new FormSchemaBuilder()
                         .WithName("form-name")
                         .Build();

            var formAnswers = new FormAnswers();

            //Act
            await element.RenderAsync(
                _mockIViewRender.Object,
                _mockElementHelper.Object,
                string.Empty,
                viewModel,
                page,
                schema,
                _mockHostingEnv.Object,
                formAnswers);

            //Assert
            _mockIViewRender.Verify(_ => _.RenderAsync(It.Is <string>(x => x.Equals("MultipleFileUpload")), It.IsAny <MultipleFileUpload>(), It.IsAny <Dictionary <string, object> >()), Times.Once);
            _mockElementHelper.Verify(_ => _.CurrentValue <object>(It.IsAny <string>(), It.IsAny <Dictionary <string, dynamic> >(), It.IsAny <FormAnswers>(), It.IsAny <string>()), Times.Once);
        }
Ejemplo n.º 27
0
        public void GenerateElementProperties_Should_Generate_ElementProperties(int value)
        {
            //Arrange
            var questionId = "filetest";
            var element    = new ElementBuilder()
                             .WithType(EElementType.MultipleFileUpload)
                             .WithQuestionId(questionId)
                             .WithMaxFileSize(value)
                             .Build();

            //Act
            var result = element.GenerateElementProperties();

            //Assert
            Assert.Equal(7, result.Count);
            Assert.True(result.ContainsKey("data-individual-file-size"));
            Assert.True(result.ContainsKey("data-module"));
            Assert.True(result.ContainsKey("multiple"));
            Assert.True(result.ContainsKey("multiple"));
            Assert.True(result.ContainsKey("type"));
            Assert.True(result.ContainsKey("accept"));
            Assert.True(result.ContainsKey("id"));
            Assert.True(result.ContainsKey("name"));
            Assert.True(result.ContainsValue($"{questionId}{FileUploadConstants.SUFFIX}"));
            Assert.True(result.ContainsValue("file"));
            Assert.True(result.ContainsValue(true));
            Assert.True(result.ContainsValue("smbc-multiple-file-upload"));
            Assert.True(result.ContainsValue(value * SystemConstants.OneMBInBinaryBytes));
        }
Ejemplo n.º 28
0
        private string ChangeProperty(Property propertyClone, bool baseClassVersion, LanguageElement classExpression)
        {
            if (propertyClone == null)
            {
                return(String.Empty);
            }

            ElementBuilder eb = CodeRush.Language.GetActiveElementBuilder();

            // so it's no longer an auto-implemented property....
            propertyClone.IsAutoImplemented = false;
            // remove all nodes and create new ones...
            propertyClone.RemoveAllNodes();

            // create a field variable if it doesn't already exist...
            string   varName = CodeRush.Strings.Get("FormatFieldName", propertyClone.Name);
            Variable var     = eb.BuildVariable(propertyClone.MemberTypeReference, varName);

            // add property getter...
            //Get getter = GetGetter(eb, varName);
            //propertyClone.AddNode(getter);
            string propDecl = String.Format("public {0} {1}\n{{\n", propertyClone.MemberTypeReference, propertyClone.Name);
            string getter   = String.Format("get {{ return {0}; }}\n", varName);

            // create property setter...

            Set setter;

            if (!baseClassVersion)
            {
                setter = GetSetter(eb, propertyClone, varName);
            }
            else
            {
                setter = GetOnPropertyChangedLambdaSetter(eb, propertyClone, varName);
            }
            //propertyClone.AddNode(setter);
            string setterStr = CodeRush.Language.GenerateElement(setter);
            string propBlock = String.Format("{0}{1}{2}}}", propDecl, getter, setterStr);

            // See if member is needed
            bool createField = true;

            foreach (LanguageElement member in classExpression)
            {
                if (member is IFieldElement && member.Name == varName)
                {
                    createField = false; break;
                }
            }
            if (createField)
            {
                return(CodeRush.Language.GenerateElement(var) + propBlock);//CodeRush.Language.GenerateElement(propertyClone);
            }
            else
            {
                return(propBlock);// CodeRush.Language.GenerateElement(propertyClone);
            }
        }
Ejemplo n.º 29
0
 public static string CreateInput(string inputType, string name, string value)
 {
     ElementBuilder eb = new ElementBuilder("input");
     eb.AddAttribute("type", inputType);
     eb.AddAttribute("name", name);
     eb.AddAttribute("value", value);
     return eb.Element;
 }
Ejemplo n.º 30
0
 public static string CreateImage(string imageSource, string alt, string title)
 {
     ElementBuilder eb = new ElementBuilder("img");
     eb.AddAttribute("src", imageSource);
     eb.AddAttribute("alt", alt);
     eb.AddAttribute("title", title);
     return eb.Element;
 }
        public void CanSetFormula()
        {
            var elementMapping = new ElementMapping();
            var part = new ElementBuilder(elementMapping);
            part.Formula("formula");

            elementMapping.Formula.ShouldEqual("formula");
        }
Ejemplo n.º 32
0
 public static string CreateURL(string url, string title, string text)
 {
     ElementBuilder eb = new ElementBuilder("a");
     eb.AddAttribute("href", url);
     eb.AddAttribute("title", title);
     eb.AddContent(text);
     return eb.Element;
 }
        public void CanSetLength()
        {
            var elementMapping = new ElementMapping();
            var part = new ElementBuilder(elementMapping);
            part.Length(50);

            elementMapping.Length.ShouldEqual(50);
        }
        public void CanSetPrecision()
        {
            var elementMapping = new ElementMapping();
            var part = new ElementBuilder(elementMapping);
            part.Precision(10);

            elementMapping.Precision.ShouldEqual(10);
        }
Ejemplo n.º 35
0
 public static string CreateImage(string source, string alt, string title)
 {
     ElementBuilder image = new ElementBuilder("img");
     image.AddAttribute("src", source);
     image.AddAttribute("alt", alt);
     image.AddAttribute("title", title);
     return image.ToString();
 }
Ejemplo n.º 36
0
 public static string CreateInput(string type, string name, string value)
 {
     var input = new ElementBuilder("input");
     input.AddAttribute("type", type);
     input.AddAttribute("name", name);
     input.AddAttribute("value", value);
     return input.ToString();
 }
 public static ElementBuilder CreateInput(string inputType,string inputName,string inputValue)
 {
     ElementBuilder inputField = new ElementBuilder("input");
     inputField.AddAttribute("type", inputType);
     inputField.AddAttribute("name", inputName);
     inputField.AddAttribute("value", inputValue);
     return inputField;
 }
 public static ElementBuilder CreateImage(string imgSource, string imageAlt, string title)
 {
     ElementBuilder image = new ElementBuilder("img");
     image.AddAttribute("src", imgSource);
     image.AddAttribute("title", title);
     image.AddAttribute("alt", imageAlt);
     return image;
 }
Ejemplo n.º 39
0
        public static ElementBuilder Span(this FluentHelper helper)
        {
            var htmlHelper = helper.HtmlHelper;
            var component = new Element(htmlHelper) { TagName = "span" };

            var builder = new ElementBuilder(component);
            return builder;
        }
Ejemplo n.º 40
0
 public static string CreateURL(string url, string title, string text)
 {
     ElementBuilder a = new ElementBuilder("a");
     a.AddAtribute("href", url);
     a.AddAtribute("title", title);
     a.AddContent(text);
     return a.ToString();
 }
Ejemplo n.º 41
0
 public static string CreateImage(string src, string alt, string title)
 {
     ElementBuilder element = new ElementBuilder("img");
     element.AddAttribute("src", src);
     element.AddAttribute("alt", alt);
     element.AddAttribute("title", title);
     return element.ToString();
 }
Ejemplo n.º 42
0
 public static string CreateInput(string type, string name, string value)
 {
     ElementBuilder a = new ElementBuilder("a");
     a.AddAtribute("type", type);
     a.AddAtribute("name", name);
     a.AddAtribute("value", value);
     return a.ToString();
 }
        public static IGraphElement CreateInlineExpressionNode(this ElementBuilder elementBuilder, IStore store, ExpressionNodeModel model)
        {
            var ui = new Node();

            ui.AddToClassList(Unity.Modifier.GraphElements.Node.k_UssClassName + "--expression-node");
            ui.Setup(model, store, elementBuilder.GraphView);
            return(ui);
        }
Ejemplo n.º 44
0
 public static ElementBuilder CreateImage(string imgSrc, string alt, string title)
 {
     var img = new ElementBuilder("img");
     img.AddAttribute("title", title);
     img.AddAttribute("alt", alt);
     img.AddAttribute("src", imgSrc);
     return img;
 }
Ejemplo n.º 45
0
        public void AnyTest()
        {
            var element = new ElementBuilder().CreateTextBox().WithName("search").Build().AsTextBox();

            element.Text = "no";

            var t = element.Text;
        }
Ejemplo n.º 46
0
 public static string CreateImage(string source, string alternative, string title)
 {
     var img = new ElementBuilder("img");
     img.AddAttribute("src", source);
     img.AddAttribute("alt", alternative);
     img.AddAttribute("title", title);
     return img.ToString();
 }
 public static ElementBuilder CreateURL(string url, string title, string text)
 {
     ElementBuilder aTag = new ElementBuilder("a");
     aTag.AddAttribute("href", url);
     aTag.AddAttribute("title", title);
     aTag.AddContent(text);
     return aTag;
 }
Ejemplo n.º 48
0
        public static ElementBuilder CreateImage(string source, string alt, string title)
        {
            var element = new ElementBuilder("img");
            element.AddAttribute("src", source);
            element.AddAttribute("alt", alt);
            element.AddAttribute("title", title);

            return element;
        }
Ejemplo n.º 49
0
        public static ElementBuilder CreateURL(string url, string text)
        {
            var element = new ElementBuilder("a");

            element.AddAttribute("href", url);
            element.AddContent(text);

            return element;
        }
Ejemplo n.º 50
0
        public static ElementBuilder CreateImageURL(string href, string title, string text)
        {
            var a = new ElementBuilder("a", true);
            a.AddAttribute("href", href);
            a.AddAttribute("title", title);
            a.AddContent(text);

            return a;
        }
Ejemplo n.º 51
0
       public static string CreateURL(string url, string title, string text)
       {
           ElementBuilder anchor=new ElementBuilder("a");
           anchor.AddAttribute("url", url);
           anchor.AddAttribute("title", title);
           anchor.AddContent(text);

           return anchor.ToString();
       }
Ejemplo n.º 52
0
        public static string CreateInput(string type, string name, string value)
        {
            ElementBuilder elem = new ElementBuilder("input");
            elem.AddAttribute("type", type);
            elem.AddAttribute("name", name);
            elem.AddContent(value);

            return elem.ToString();
        }
Ejemplo n.º 53
0
        public static ElementBuilder CreateUrl(string url, string title, string text)
        {
            ElementBuilder link = new ElementBuilder("a");
            link.AddAttribute("href", url);
            link.AddAttribute("title", title);
            link.AddContent(text);

            return link;
        }
Ejemplo n.º 54
0
        public static ElementBuilder CreateInput(string type = "button", string name = "name", string value = "")
        {
            ElementBuilder input = new ElementBuilder("input");
            input.AddAttribute("type", type);
            input.AddAttribute("name", name);
            input.AddAttribute("value", value);

            return input;
        }
Ejemplo n.º 55
0
 public static string CreateImage(string src, string alt, string title)
 {
     ElementBuilder img = new ElementBuilder("img");
     img.AddAtribute("src", src);
     img.AddAtribute("alt", alt);
     img.AddAtribute("title", title);
     img.CloseSelf(true);
     return img.ToString();
 }
        public static string CreateURL(string url, string title, string text)
        {
            ElementBuilder urlValue = new ElementBuilder("a");

            urlValue.AddAttribute("href", url);
            urlValue.AddAttribute("title", title);
            urlValue.AddAttribute(text, text);

            return urlValue.ToString();
        }
Ejemplo n.º 57
0
        public static ElementBuilder CreateInput(string type, string name, string value)
        {
            var element = new ElementBuilder("input");

            element.AddAttribute("type", type);
            element.AddAttribute("name", name);
            element.AddAttribute("value", value);

            return element;
        }
Ejemplo n.º 58
0
 private void AddAttribute(LanguageElement element, string AttributeName)
 {
     var Builder = new ElementBuilder();
     var Attribute = Builder.BuildAttribute(AttributeName);
     var Section = Builder.BuildAttributeSection();
     Section.AddAttribute(Attribute);
     var Code = CodeRush.CodeMod.GenerateCode(Section, false);
     SourcePoint InsertionPoint = new SourcePoint(element.Range.Start.Line, 1);
     CodeRush.Documents.ActiveTextDocument.QueueInsert(InsertionPoint, Code);
 }
Ejemplo n.º 59
0
        public static string CreateInput(string inputType, string name, string text)
        {
            ElementBuilder input = new ElementBuilder("input");

            input.AddAttribute("type", inputType);
            input.AddAttribute("name", name);
            input.AddContent(text);

            return input.ToString();
        }
Ejemplo n.º 60
0
 static void Main()
 {
     ElementBuilder div = new ElementBuilder("div");
     div.AddAttribute("id", "page");
     div.AddAttribute("class", "big");
     div.AddContent("<p>Hello</p>");
     Console.WriteLine(div * 2 +
         HTMLDispatcher.CreateImage("img.jpg", "alt", "title") +
         HTMLDispatcher.CreateURL("www.softuni.bg", "title", "text") +
         HTMLDispatcher.CreateInput("type", "name", "value"));
 }