public void StringToDateTimeOffsetConverter_ConvertConvertBackStringDateTest() { var dateConverter = new StringToDateTimeConverter(); var testDate = new DateTime(2020, 12, 12, 5, 50, 00); //Passing a DateTime to the Convert() method var dateConverted = (String)dateConverter.Convert(testDate, null, null, null); //Validates that the conversion from DateTime to String was successful Assert.IsNotNull(dateConverted); Assert.AreEqual(dateConverted.GetType(), typeof(String)); Assert.AreEqual(dateConverted.ToString(), "December 12, 2020 5:50 AM"); //Passing a string with a specific data format to the ConvertBack() method var dateContertedBack = (DateTime)dateConverter.ConvertBack("December 12, 2020 5:50 AM", null, null, null); //Validates that the conversion from String to DateTime was successful Assert.IsNotNull(dateContertedBack); Assert.AreEqual(dateContertedBack.GetType(), typeof(DateTime)); Assert.AreEqual(dateContertedBack.ToString(DefaultDateFormat), testDate.ToString(DefaultDateFormat)); }
public void TestConverterShouldConvertNull() { var result = _converter.Convert(string.Empty); Assert.That(result, Is.Null); }
/// <summary> /// Parses a CalDav response XML into a list of CalDavElements. /// </summary> /// <param name="ResponseXmlDoc">XML to parse.</param> /// <returns>All CalDavElements contained in the Xml.</returns> public static List <CalDavElement> Parse(XmlDocument ResponseXmlDoc) { List <CalDavElement> allElements = new List <CalDavElement>(); if (ResponseXmlDoc.DocumentElement != null) { foreach (XmlNode xnode in ResponseXmlDoc.DocumentElement) { CalDavElement myElement = new CalDavElement(); if (xnode.SelectSingleNode("*[local-name()='href']") != null) { myElement.Url = xnode.SelectSingleNode("*[local-name()='href']").InnerText; } if (xnode.SelectSingleNode("*[local-name()='propstat']/*[local-name()='prop']/*[local-name()='getetag']") != null) { myElement.ETag = xnode.SelectSingleNode("*[local-name()='propstat']/*[local-name()='prop']/*[local-name()='getetag']").InnerText; } if (xnode.SelectSingleNode("*[local-name()='propstat']/*[local-name()='prop']/*[local-name()='calendar-data']") != null) { string[] parameters = xnode.SelectSingleNode("*[local-name()='propstat']/*[local-name()='prop']/*[local-name()='calendar-data']").InnerText.Split(new char[] { '\n' }); foreach (var item in parameters) { string[] specificParameter = item.Split(new char[] { ':' }, 2); if (specificParameter[0].ToUpper().StartsWith("UID") && specificParameter[1] != null) { myElement.Guid = specificParameter[1]; } if (specificParameter[0].ToUpper().StartsWith("SUMMARY") && specificParameter[1] != null) { myElement.Summary = specificParameter[1]; } if (specificParameter[0].ToUpper().StartsWith("DESCRIPTION") && specificParameter[1] != null) { myElement.Description = specificParameter[1]; } if (specificParameter[0].ToUpper().StartsWith("LAST-MODIFIED") && specificParameter[1] != null) { myElement.LastModified = StringToDateTimeConverter.Convert(specificParameter[1], -CaldavConnector.LASTMODIFIED_DATE_OFFSET); } if (specificParameter[0].ToUpper().StartsWith("LOCATION") && specificParameter[1] != null) { myElement.Location = specificParameter[1]; } if (specificParameter[0].ToUpper().StartsWith("DTSTART") && specificParameter[1] != null) { if (specificParameter[1].Contains("T")) { myElement.AllDayEvent = false; } else { myElement.AllDayEvent = true; } myElement.Start = StringToDateTimeConverter.Convert(specificParameter[1]); } if (specificParameter[0].ToUpper().StartsWith("DTEND") && specificParameter[1] != null) { myElement.End = StringToDateTimeConverter.Convert(specificParameter[1]); } } } allElements.Add(myElement); } } return(allElements); }
public IEnumerable <LoanInformation> Read(string file) { using (var doc = SpreadsheetDocument.Open(file, false)) { var workbookPart = doc.WorkbookPart; var worksheetPart = workbookPart.WorksheetParts.First(); var reader = OpenXmlReader.Create(worksheetPart); bool isFirst = true; while (reader.Read()) { if (reader.ElementType == typeof(Row)) { if (reader.IsEndElement) { continue; } if (isFirst) { isFirst = false; continue; } var children = reader.LoadCurrentElement().ChildElements; var loan = new LoanInformation(); foreach (Cell child in children.Where(x => x is Cell)) { var columnReference = Regex.Replace(child.CellReference.ToString(), @"[\d]", string.Empty); var cellContent = child.InnerText; switch (columnReference) { case "A": loan.Id = cellContent; continue; case "B": loan.IssueDate = StringToDateTimeConverter.Convert(cellContent); continue; case "C": loan.ClosingDate = StringToDateTimeConverter.Convert(cellContent); continue; case "D": loan.ListingDate = StringToDateTimeConverter.Convert(cellContent); continue; case "E": loan.Country = cellContent; continue; case "F": loan.LoanOriginator = cellContent; continue; case "G": loan.MintosRating = cellContent; continue; case "H": loan.LoanType = cellContent; continue; case "I": loan.LoanRate = Convert.ToDecimal(cellContent); continue; case "J": loan.Term = Convert.ToUInt16(cellContent); continue; case "K": loan.Collateral = YesNoToBooleanConverter.Convert(cellContent); continue; case "L": loan.InitialLtv = Convert.ToDecimal(cellContent); continue; case "M": loan.Ltv = Convert.ToDecimal(cellContent); continue; case "N": loan.LoanStatus = cellContent; continue; case "O": loan.BuybackReason = cellContent; continue; case "P": loan.InitialLoanAmount = Convert.ToDecimal(cellContent); continue; case "Q": loan.RemainingLoanAmount = Convert.ToDecimal(cellContent); continue; case "R": loan.Currency = cellContent; continue; case "S": loan.Buyback = YesNoToBooleanConverter.Convert(cellContent); continue; default: throw new ArgumentOutOfRangeException(nameof(columnReference)); } } yield return(loan); } } } }