Exemplo n.º 1
0
        public void DatePeriodExtractor_Returns_ElasticTimePeriod()
        {
            var extractor = new TimePeriodExtractor();
            var actual    = extractor.GetValue(dataElements, "7"); // 7 == Entstehungszeitraum

            actual.Text.Should().Be("01.01.1914 - 31.12.1918");
            actual.EndDate.Year.Should().Be(1918);
            actual.StartDate.Year.Should().Be(1914);
            actual.Years.Count.Should().Be(5);
        }
        public BackupFileFolderInfo GetFolderInfo(DirectoryInfo directoryInfo)
        {
            BackupFileFolderInfo result = null;
            var periodStart             = TimePeriodExtractor.GetTimestamp(directoryInfo.Name);

            if (periodStart.HasValue)
            {
                var periodEnd = TimePeriodExtractor.GetPeriodEnd(directoryInfo.Name);

                result = new BackupFileFolderInfo(BackupFileNamingConvention, directoryInfo, periodStart.Value, periodEnd);
            }

            return(result);
        }
        private object GetValue(List <DataElement> detailData, FieldConfiguration fieldConfiguration)
        {
            object retVal = null;

            try
            {
                switch (fieldConfiguration.Type)
                {
                case ElasticFieldTypes.TypeString:
                    var textExtractor = new TextExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, textExtractor);
                    break;

                case ElasticFieldTypes.TypeTimePeriod:
                    var timePeriodExtractor = new TimePeriodExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, timePeriodExtractor);
                    break;

                case ElasticFieldTypes.TypeDateWithYear:
                    var dateWithYearExtractor = new DateWithYearExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, dateWithYearExtractor);
                    break;

                case ElasticFieldTypes.TypeBase64:
                    var elasticBase64Extractor = new Base64Extractor();
                    retVal = GetValue(detailData, fieldConfiguration, elasticBase64Extractor);
                    break;

                case ElasticFieldTypes.TypeInt + "?":
                case ElasticFieldTypes.TypeInt:
                    var intExtractor = new IntExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, intExtractor);
                    break;

                case ElasticFieldTypes.TypeBool + "?":
                case ElasticFieldTypes.TypeBool:
                    var boolExtractor = new BoolExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, boolExtractor);
                    break;

                case ElasticFieldTypes.TypeFloat + "?":
                case ElasticFieldTypes.TypeFloat:
                    var floatExtractor = new FloatExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, floatExtractor);
                    break;

                case ElasticFieldTypes.TypeHyperlink:
                    var hyperlinkExtractor = new HyperlinkExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, hyperlinkExtractor);
                    break;

                case ElasticFieldTypes.TypeEntityLink:
                    var entityLinkExtractor = new EntityLinkExtractor();
                    retVal = GetValue(detailData, fieldConfiguration, entityLinkExtractor);
                    break;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                throw;
            }

            return(retVal);
        }