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<DataElementElementValue>.</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); }
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); }
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"); }
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); }