public void DateRange_Data_Element_Between_Precision_Mont_With_Begin_Circa()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.BGN_DT        = new DateTime(1940, 07, 01);
            dataRow.END_DT        = new DateTime(1945, 08, 31);
            dataRow.BGN_DT_STND   = "+194007";
            dataRow.END_DT_STND   = "+194508";
            dataRow.BGN_CIRCA_IND = 1;
            dataRow.END_CIRCA_IND = 0;
            dataRow.DT_OPRTR_ID   = (int)ScopeArchivDateOperator.Between;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.dateRange, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("zwischen ca. 07.1940 und 08.1945");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("between approx. 7/1940 and 8/1945");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("entre env. 07/1940 et 08/1945");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("tra il ca. 07/1940 e il 08/1945");
            value.DateRange.DateOperator.Should().Be(DateRangeDateOperator.between);
            value.DateRange.From.Should().Be("+194007");
            value.DateRange.To.Should().Be("+194508");
            value.DateRange.FromApproxIndicator.Should().BeTrue();
            value.DateRange.ToApproxIndicator.Should().BeFalse();
            value.DateRange.FromDate.Should().Be(new DateTime(1940, 7, 01));
            value.DateRange.ToDate.Should().Be(new DateTime(1945, 8, 31));
            value.DateRange.SearchFromDate.Should().BeBefore(value.DateRange.FromDate);
            value.DateRange.SearchToDate.Should().BeAfter(value.DateRange.ToDate);
        }
        protected override ElasticTimePeriod GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            ElasticTimePeriod retVal = null;

            if (value != null &&
                value.DateRange.DateOperator != DateRangeDateOperator.na &&
                value.DateRange.DateOperator != DateRangeDateOperator.sd)
            {
                retVal = new ElasticTimePeriod
                {
                    StartDate = value.DateRange.FromDate,
                    EndDate   = value.DateRange.ToDate <= DateTime.MaxValue.AddDays(-1)
                        ? value.DateRange.ToDate.AddDays(1).AddSeconds(-1)
                        : DateTime.MaxValue,
                    SearchStartDate          = value.DateRange.SearchFromDate,
                    SearchEndDate            = value.DateRange.SearchToDate,
                    Text                     = value.TextValues.FirstOrDefault(t => t.IsDefaultLang)?.Value,
                    StartDateText            = value.DateRange.From,
                    EndDateText              = value.DateRange.To,
                    StartDateApproxIndicator = value.DateRange.FromApproxIndicator,
                    EndDateApproxIndicator   = value.DateRange.ToApproxIndicator
                };

                retVal.Years = GetCreationPeriodYears(value, retVal.StartDate, retVal.EndDate);
            }

            return(retVal);
        }
        public void DateRange_Data_Element_Exact_Precision_Mont_With_Circa()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.BGN_DT        = new DateTime(1940, 07, 01);
            dataRow.END_DT        = new DateTime(1940, 07, 31);
            dataRow.BGN_DT_STND   = "+194007";
            dataRow.END_DT_STND   = null;
            dataRow.BGN_CIRCA_IND = 1;
            dataRow.END_CIRCA_IND = 0;
            dataRow.DT_OPRTR_ID   = (int)ScopeArchivDateOperator.Exact;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.dateRange, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("ca. 07.1940");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("approx. 7/1940");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("env. 07/1940");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("ca. 07/1940");
            value.DateRange.DateOperator.Should().Be(DateRangeDateOperator.exact);
            value.DateRange.From.Should().Be("+194007");
            value.DateRange.To.Should().BeNullOrEmpty();
            value.DateRange.FromApproxIndicator.Should().BeTrue();
            value.DateRange.ToApproxIndicator.Should().BeFalse();
            value.DateRange.FromDate.Should().Be(new DateTime(1940, 7, 01));
            value.DateRange.ToDate.Should().Be(new DateTime(1940, 7, 31));
            value.DateRange.SearchFromDate.Should().BeBefore(value.DateRange.FromDate);
            value.DateRange.SearchToDate.Should().BeAfter(value.DateRange.ToDate);
        }
        public void DateRange_Data_Element_Sine_Dato()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.BGN_DT        = DateTime.MinValue;
            dataRow.END_DT        = DateTime.MaxValue;
            dataRow.BGN_DT_STND   = null;
            dataRow.END_DT_STND   = null;
            dataRow.BGN_CIRCA_IND = 0;
            dataRow.END_CIRCA_IND = 0;
            dataRow.DT_OPRTR_ID   = (int)ScopeArchivDateOperator.SineDato;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.dateRange, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("s. d. (sine dato)");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("s. d. (sine dato)");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("s. d. (sans date)");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("s. d. (senza data)");
            value.DateRange.DateOperator.Should().Be(DateRangeDateOperator.sd);
            value.DateRange.From.Should().BeNullOrEmpty();
            value.DateRange.To.Should().BeNullOrEmpty();
            value.DateRange.FromApproxIndicator.Should().BeFalse();
            value.DateRange.ToApproxIndicator.Should().BeFalse();
            value.DateRange.FromDate.Should().Be(DateTime.MinValue);
            value.DateRange.ToDate.Should().Be(DateTime.MaxValue);
            value.DateRange.SearchFromDate.Should().BeSameDateAs(value.DateRange.FromDate);
            value.DateRange.SearchToDate.Should().BeSameDateAs(value.DateRange.ToDate);
        }
        public void Date_Data_Element_Precision_Day()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.BGN_DT      = new DateTime(1940, 07, 20);
            dataRow.END_DT      = new DateTime(1940, 07, 20);
            dataRow.BGN_DT_STND = "+19400720";
            dataRow.DT_OPRTR_ID = 0;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.date, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("20.07.1940");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("7/20/1940");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("20/07/1940");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("20/07/1940");
            value.DateRange.DateOperator.Should().Be(DateRangeDateOperator.exact);
            value.DateRange.From.Should().Be("+19400720");
            value.DateRange.To.Should().BeNullOrEmpty();
            value.DateRange.FromApproxIndicator.Should().BeFalse();
            value.DateRange.ToApproxIndicator.Should().BeFalse();
            value.DateRange.FromDate.Should().Be(new DateTime(1940, 7, 20));
            value.DateRange.ToDate.Should().Be(new DateTime(1940, 7, 20));
            value.DateRange.SearchFromDate.Should().BeSameDateAs(value.DateRange.FromDate);
            value.DateRange.SearchToDate.Should().BeSameDateAs(value.DateRange.ToDate);
        }
        public void Date_Data_Element_Precision_Year()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.BGN_DT      = new DateTime(1940, 01, 01);
            dataRow.END_DT      = new DateTime(1940, 12, 31);
            dataRow.BGN_DT_STND = "+1940";
            dataRow.DT_OPRTR_ID = 0;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.date, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("1940");
            value.DateRange.DateOperator.Should().Be(DateRangeDateOperator.exact);
            value.DateRange.From.Should().Be("+1940");
            value.DateRange.To.Should().BeNullOrEmpty();
            value.DateRange.FromApproxIndicator.Should().BeFalse();
            value.DateRange.ToApproxIndicator.Should().BeFalse();
            value.DateRange.FromDate.Should().Be(new DateTime(1940, 1, 1));
            value.DateRange.ToDate.Should().Be(new DateTime(1940, 12, 31));
            value.DateRange.SearchFromDate.Should().BeBefore(value.DateRange.FromDate);
            value.DateRange.SearchToDate.Should().BeAfter(value.DateRange.ToDate);
        }
        /// <summary>
        ///     Helper method to return the values for a specifc data element.
        /// </summary>
        /// <param name="dataSet">The data set.</param>
        /// <param name="datenElementId">The daten element identifier.</param>
        /// <param name="elementType">Type of the data element.</param>
        /// <returns>List&lt;DataElementElementValue&gt;.</returns>
        private List <DataElementElementValue> GetValues(DetailDataDataSet dataSet, int datenElementId, DataElementElementType elementType)
        {
            var retVal          = new List <DataElementElementValue>();
            var dataElementList = dataSet.DetailData.Where(d => d.DATEN_ELMNT_ID == datenElementId);

            foreach (var row in dataElementList)
            {
                DataElementElementValue value;

                // Create new value if it is not a memo field, or it is the first element in the sequenze
                if (elementType != DataElementElementType.memo || row.ELMNT_SQNZ_NR == 1)
                {
                    value = new DataElementElementValue();
                    retVal.Add(value);
                }
                else
                {
                    value = retVal.Last();
                }

                DataElementHelper.FillDataElementElementValue(elementType, row, value, languageSettings);
            }

            return(retVal);
        }
        protected override bool?GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            bool?retVal = null;

            if (value != null)
            {
                retVal = value.BooleanValue;
            }

            return(retVal);
        }
예제 #9
0
        protected override ElasticDateWithYear GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            ElasticDateWithYear retVal = null;

            if (value != null)
            {
                retVal = new ElasticDateWithYear
                {
                    Date = value.DateValue,
                    Year = value.DateValue.Year
                };
            }

            return(retVal);
        }
예제 #10
0
        protected override ElasticBase64 GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            ElasticBase64 retVal = null;

            if (value != null)
            {
                retVal = new ElasticBase64
                {
                    Value    = value.BlobValueBase64.Value,
                    MimeType = value.BlobValueBase64.MimeType
                };
            }

            return(retVal);
        }
        public void Header_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.TITEL = "Titel";
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.header, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("Titel");
            value.Sequence.Should().Be(1);
        }
        protected override ElasticHyperlink GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            ElasticHyperlink retVal = null;

            if (value != null)
            {
                retVal = new ElasticHyperlink
                {
                    Text = value.Link.Value,
                    Url  = value.Link.Href
                };
            }

            return(retVal);
        }
        public void FileLink_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT = @"C:\Temp\testfile.txt";
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.fileLink, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be(@"C:\Temp\testfile.txt");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Should().BeNull();
        }
        public void MailLink_Data_Element_Without_Prefix()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT = "*****@*****.**";
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.mailLink, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("*****@*****.**");
            value.Link.Value.Should().Be("*****@*****.**");
            value.Link.Href.Should().Be("mailto:[email protected]");
        }
        protected override ElasticFloat GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            ElasticFloat retVal = null;

            if (value != null)
            {
                retVal = new ElasticFloat
                {
                    Value            = value.FloatValue.Value,
                    DecimalPositions = value.FloatValue.DecimalPositions,
                    Text             = value.TextValues.FirstOrDefault(t => t.IsDefaultLang)?.Value
                };
            }

            return(retVal);
        }
        public void Accrual_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.INT_ZAHL = 5;
            dataRow.MEMO_TXT = "Some Text";
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.accrual, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("5 - Some Text");
            value.TextValues.FirstOrDefault().Value.Should().Be("5 - Some Text");
        }
예제 #17
0
        protected override ElasticEntityLink GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            ElasticEntityLink retVal = null;

            if (value != null)
            {
                retVal = new ElasticEntityLink
                {
                    Value          = value.EntityLink.Value,
                    EntityRecordId = value.EntityLink.EntityRecordId,
                    EntityType     = value.EntityLink.EntityType
                };
            }

            return(retVal);
        }
        public void Hyperlink_Data_Element_New_Style_No_Http_Prefix()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT      = "Microsoft" + Environment.NewLine + "www.microsoft.com";
            dataRow.ELMNT_SQNZ_NR = 1;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.hyperlink, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("Microsoft");
            value.Link.Value.Should().Be("Microsoft");
            value.Link.Href.Should().Be("http://www.microsoft.com");
        }
        public void Selection_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT      = "Content of selection field";
            dataRow.ELMNT_SQNZ_NR = 1;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.selection, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("Content of selection field");
            value.Sequence.Should().Be(1);
            value.TextValues.Count.Should().Be(1);
        }
        public void Image_and_Media_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT  = @"C:\Temp\testfile.jpg";
            dataRow.BNR_DATEN = (byte[])new ImageConverter().ConvertTo(Resources.sample, typeof(byte[]));
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.image, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be(@"testfile.jpg");
            value.BlobValueBase64.Value.Should().Be(Convert.ToBase64String(dataRow.BNR_DATEN));
            value.BlobValueBase64.MimeType.Should().Be("image/jpeg");
        }
        public void Text_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT      = "Test value";
            dataRow.ELMNT_SQNZ_NR = 2;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.text, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("Test value");
            value.Sequence.Should().Be(2);
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Should().BeNull();
        }
        public void Time_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.ZT = new DateTime(1999, 01, 05, 02, 30, 34); // Date part is ignored
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.time, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("02:30:34");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("2:30:34 AM");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("02:30:34");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("02:30:34");
            value.TimeValue.Should().BeSameDateAs(new DateTime(1999, 01, 05, 02, 30, 34));
        }
        public void Timespan_Data_Element_Less_Than_A_Day()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.INT_ZAHL = 5721; // timespan in seconds
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.timespan, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("1:35:21");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("1:35:21");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("1:35:21");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("1:35:21");
            value.DurationInSeconds.Should().Be(5721);
        }
        public void Integer_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.INT_ZAHL = 953125;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.integer, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be(dataRow.INT_ZAHL.ToString("N0", defaultCulture.NumberFormat));
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be(dataRow.INT_ZAHL.ToString("N0", englishCulture.NumberFormat));
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be(dataRow.INT_ZAHL.ToString("N0", frenchCulture.NumberFormat));
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be(dataRow.INT_ZAHL.ToString("N0", italianCulture.NumberFormat));
            value.IntValue.Should().Be(953125);
        }
        public void Boolean_Data_Element_Yes()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.INT_ZAHL = 1;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.boolean, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("Ja");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be("Yes");
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be("Oui");
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be("Si");
            value.BooleanValue.Should().BeTrue();
        }
        protected override int?GetValueInternal(DataElementElementValue value, DataElement dataElement)
        {
            int?retVal = null;

            if (value != null)
            {
                switch (dataElement.ElementType)
                {
                case DataElementElementType.integer:
                    retVal = value.IntValue;
                    break;

                case DataElementElementType.timespan:
                    retVal = value.DurationInSeconds;
                    break;
                }
            }

            return(retVal);
        }
        public void Float_Data_Element_Two_Digits()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.FLOAT_ZAHL    = 1012.5m;
            dataRow.DZML_STLN_ANZ = 2;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.@float, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be(dataRow.FLOAT_ZAHL.ToString("N2", defaultCulture.NumberFormat));
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Value.Should().Be(dataRow.FLOAT_ZAHL.ToString("N2", englishCulture.NumberFormat));
            value.TextValues.FirstOrDefault(t => t.Lang == "fr").Value.Should().Be(dataRow.FLOAT_ZAHL.ToString("N2", frenchCulture.NumberFormat));
            value.TextValues.FirstOrDefault(t => t.Lang == "it").Value.Should().Be(dataRow.FLOAT_ZAHL.ToString("N2", italianCulture.NumberFormat));
            value.FloatValue.Value.Should().Be(1012.5f);
            value.FloatValue.DecimalPositions.Should().Be(2);
        }
        public void EntityLink_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT              = "Just a text";
            dataRow.VRKNP_GSFT_OBJ_ID     = 1234;
            dataRow.VRKNP_GSFT_OBJ_KLS_ID = 9;
            var value = new DataElementElementValue();

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.entityLink, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("Just a text");
            value.TextValues.FirstOrDefault(t => t.Lang == "en").Should().BeNull();
            value.EntityLink.Value.Should().Be("Just a text");
            value.EntityLink.EntityRecordId.Should().Be("1234");
            value.EntityLink.EntityType.Should().Be(Enum.GetName(typeof(ScopeArchivGeschaeftsObjektKlasse), 9));
        }
        private static List <int> GetCreationPeriodYears(DataElementElementValue value, DateTime startDate, DateTime endDate)
        {
            // Calculate the number of years
            int lastYear;

            if (endDate.Month == 1 &&
                endDate.Day == 1 &&
                endDate.Hour == 0 &&
                endDate.Minute == 0 &&
                endDate.Second == 0 &&
                endDate.Millisecond == 0)
            {
                lastYear = endDate.Year - 1;
            }
            else
            {
                lastYear = endDate.Year;
            }

            var firstYear = startDate.Year;

            if (value.DateRange.DateOperator == DateRangeDateOperator.after ||
                value.DateRange.DateOperator == DateRangeDateOperator.startingWith)
            {
                lastYear = firstYear;
            }

            if (value.DateRange.DateOperator == DateRangeDateOperator.to ||
                value.DateRange.DateOperator == DateRangeDateOperator.before)
            {
                firstYear = lastYear;
            }

            var years = Enumerable.Range(firstYear, lastYear - firstYear + 1).ToList();

            return(years);
        }
        public void Memo_Data_Element()
        {
            // Arrange
            var dataRow = ds.DetailData.NewDetailDataRow();

            dataRow.MEMO_TXT      = "continues here";
            dataRow.ELMNT_SQNZ_NR = 2;
            var value = new DataElementElementValue
            {
                TextValues = new List <DataElementElementValueTextValue>
                {
                    new DataElementElementValueTextValue {
                        Value = "The sentence ", IsDefaultLang = true, Lang = "en"
                    }
                }
            };

            // Act
            DataElementHelper.FillDataElementElementValue(DataElementElementType.memo, dataRow, value, languageSettings);

            // Assert
            value.TextValues.FirstOrDefault(t => t.IsDefaultLang).Value.Should().Be("The sentence continues here");
            value.Sequence.Should().Be(1);
        }