using System; using System.Globalization; namespace Wayne.FDCPOSLibrary { static public class FDCConvert { static public NumberFormatInfo nfi = new NumberFormatInfo(); static public DateTimeFormatInfo dtfi = new DateTimeFormatInfo(); static private string decimalSeparator = ","; static public string DecimalSeparator { get {return decimalSeparator;} set { decimalSeparator=value; nfi.NumberDecimalSeparator = decimalSeparator; } } static private string thousandSeparator = ""; static public string ThousandSeparator { get {return thousandSeparator;} set { thousandSeparator=value; nfi.NumberGroupSeparator = thousandSeparator; } } static public string DateFormat { get{ if (FDCGlobal.ProtocolVersion == FDCVersion.V0003) return Define.DateFormatV03; else return Define.DateFormatV05; } } static public string ToString(Decimal dec) { string s = Convert.ToString(dec, nfi); return s; } static public string ToString(Double doubl) { string s = Convert.ToString(doubl, nfi); return s; } static public string ToString(DateTime datetime) { dtfi.FullDateTimePattern = FDCConvert.DateFormat; if (FDCGlobal.ProtocolVersion == FDCVersion.V0003) dtfi.ShortDatePattern = FDCConvert.DateFormat.Substring(0, FDCConvert.DateFormat.IndexOf(' ')); else dtfi.ShortDatePattern = FDCConvert.DateFormat.Substring(0, FDCConvert.DateFormat.IndexOf('T')); string s = Convert.ToString(datetime, dtfi); if (FDCGlobal.ProtocolVersion > FDCVersion.V0003 && s.IndexOf(' ') > -1) s = s.Replace(' ', 'T'); //if (s.IndexOf(Define.TimeSep) == -1) //{ // string badTimeSep = s.Substring(s.IndexOf(" ") + 3, 1); // s.Replace(badTimeSep, Define.TimeSep); //} return s; } static public Double ToDouble(string str) { if (str == null || str == "") return 0; Double d = Convert.ToDouble(str, nfi); return d; } static public Decimal ToDecimal(string str) { if (str == null || str == "") return 0; Decimal dec = Convert.ToDecimal(str, nfi); return dec; } static public OverallResult OverallResultToInt(string sOverallResult) { if (sOverallResult == OverallResult.Success.ToString()) return OverallResult.Success; else if (sOverallResult == OverallResult.PartialFailure.ToString()) return OverallResult.PartialFailure; else if (sOverallResult == OverallResult.Failure.ToString()) return OverallResult.Failure; else if (sOverallResult == OverallResult.DeviceUnavailable.ToString()) return OverallResult.DeviceUnavailable; else if (sOverallResult == OverallResult.DeviceDisabled.ToString()) return OverallResult.DeviceDisabled; else if (sOverallResult == OverallResult.WrongDeviceNo.ToString()) return OverallResult.WrongDeviceNo; else if (sOverallResult == OverallResult.TimeOut.ToString()) return OverallResult.TimeOut; else if (sOverallResult == OverallResult.FormatError.ToString()) return OverallResult.FormatError; else if (sOverallResult == OverallResult.ParsingError.ToString()) return OverallResult.ParsingError; else if (sOverallResult == OverallResult.ValidationError.ToString()) return OverallResult.ValidationError; else if (sOverallResult == OverallResult.MissingMandatoryData.ToString()) return OverallResult.MissingMandatoryData; else if (sOverallResult == OverallResult.WrongConfiguration.ToString()) return OverallResult.WrongConfiguration; else if (sOverallResult == OverallResult.NoData.ToString()) return OverallResult.NoData; else if (sOverallResult == OverallResult.NoLogon.ToString()) return OverallResult.NoLogon; else if (sOverallResult == OverallResult.AuthentificationError.ToString()) return OverallResult.AuthentificationError; return OverallResult.Success; } } }