コード例 #1
0
        public void CreateOrUpdateTemplate(TemplateInfo t)
        {
            var path      = Path.Combine(Paths.TemplatesPath, Path.GetFileNameWithoutExtension(t.TemplateFilePath) + ".xml");
            var templates = GetTemplates(true);

            if (string.IsNullOrEmpty(t.Id))
            {
                if (File.Exists(path) || File.Exists(Path.Combine(Paths.TemplatesPath,
                                                                  Path.GetFileName(t.TemplateFilePath) ?? throw new InvalidOperationException())))
                {
                    throw new Exception("Szablon o takiej nazwie już istnieje");
                }

                t.Id = Guid.NewGuid().ToString();
                var fName = Path.GetFileName(t.TemplateFilePath);
                File.Copy(t.TemplateFilePath, Path.Combine(Paths.TemplatesPath, fName));
                t.TemplateFilePath = fName;
            }
            else
            {
                var item = templates.SingleOrDefault(x => string.Equals(x.Id, t.Id));
                if (item != null)
                {
                    File.Delete(Path.Combine(Paths.TemplatesPath, item.Name + ".xml"));
                }
            }

            XmlFileSerializer.Serialize(TemplateMapper.ToTemplate(t), path);
        }
 public CreateNotificationRequest(int notificationType, int templateType, int templateVersion, List <string> receiver, TemplateMapper templateMapper)
 {
     NotificationType = notificationType;
     TemplateType     = templateType;
     TemplateVersion  = templateVersion;
     Receiver         = receiver;
     TemplateMapper   = templateMapper;
 }
コード例 #3
0
        public void Map_WithDomainObject_ReturnsDtoObject()
        {
            // Arrange
            var mapper = new TemplateMapper();

            // Act
            var dtoObject = mapper.Map(_domainObject);

            // Assert
            Assert.IsInstanceOfType(dtoObject, typeof(TemplateDto));
        }
コード例 #4
0
        public void Map_WithDomainObjects_ReturnsDtoObjects()
        {
            // Arrange
            var mapper = new TemplateMapper();

            // Act
            var dtoObjects = mapper.Map(_domainObjects);

            // Assert
            Assert.IsInstanceOfType(dtoObjects, typeof(List<TemplateDto>));
        }
コード例 #5
0
    public void TemplateMapper_Can_Map_TemplateDto_To_TemplateModel()
    {
        // Arrange
        var mapper      = new TemplateMapper();
        var templateDto = new TemplateDto(Guid.NewGuid(), "TemplateName", "Script");

        // Act
        var templateModel = mapper.Map(templateDto);

        // Assert
        templateModel.Should().BeEquivalentTo(templateDto,
                                              properties => properties
                                              .Including(x => x.Id)
                                              .Including(x => x.Name)
                                              .Including(x => x.Script));
    }
コード例 #6
0
        public void TemplateMapper_Can_Map_TemplateModel_To_TemplateDto()
        {
            // Arrange
            var mapper        = new TemplateMapper();
            var templateModel = new Template
            {
                Id     = Guid.NewGuid(),
                Name   = "TemplateName",
                Script = "Script"
            };

            // Act
            var templateDto = mapper.Map(templateModel);

            // Assert
            templateDto.Should().BeEquivalentTo(templateModel,
                                                properties => properties
                                                .Including(x => x.Id)
                                                .Including(x => x.Name)
                                                .Including(x => x.Script));
        }
コード例 #7
0
        public IEnumerable <TemplateInfo> GetTemplates(bool includeDisabled = false)
        {
            if (!Directory.Exists(Paths.TemplatesPath))
            {
                return(null);
            }

            var files = Directory.GetFiles(Paths.TemplatesPath, "*.xml");

            var templates = new List <TemplateInfo>();

            foreach (var file in files)
            {
                var template = XmlFileSerializer.Deserialize <Template>(file);
                if (!includeDisabled && !template.IsEnabled)
                {
                    continue;
                }
                templates.Add(TemplateMapper.ToTemplateInfo(template));
            }

            return(templates);
        }
コード例 #8
0
        public DefaultCodeTemplate GetDefaultCodeTemplate(string defaultTempalteFilePath, string templateName, string eventName)
        {
            DefaultCodeTemplate defaultTemlate = null;

            if (this.iOWrapper.DirectoryExists(defaultTempalteFilePath))
            {
                var mappedTemplateName = TemplateMapper.GetAliasTemplateName(templateName);
                var file = this.iOWrapper.DirectoryGetFiles(defaultTempalteFilePath)
                           .FirstOrDefault(fl => fl.Contains(mappedTemplateName + eventName));
                if (file == null)
                {
                    return(null);
                }

                XmlDocument doc = new XmlDocument();
                doc.Load(file);
                var node = doc.GetElementsByTagName("default_code_template")[0];


                defaultTemlate = new DefaultCodeTemplate();
                defaultTemlate.TempalteName  = node.Attributes["templateName"]?.InnerText;
                defaultTemlate.EventDataType = EventSpecificData.None;
                EventSpecificData eventData;
                if (Enum.TryParse <EventSpecificData>(node.Attributes["eventData"]?.InnerText, out eventData))
                {
                    defaultTemlate.EventDataType = eventData;
                }

                defaultTemlate.WrapperSourceCode     = node.SelectSingleNode("wrapper_code")?.InnerText;
                defaultTemlate.SimpleSourceCode      = node.SelectSingleNode("simple_code/source_code")?.InnerText;
                defaultTemlate.SimpleUnitTestsCode   = node.SelectSingleNode("simple_code/test_code")?.InnerText;
                defaultTemlate.AdvancedSourceCode    = node.SelectSingleNode("advanced_code/source_code")?.InnerText;
                defaultTemlate.AdvancedUnitTestsCode = node.SelectSingleNode("advanced_code/test_code")?.InnerText;
            }

            return(defaultTemlate);
        }