Ejemplo n.º 1
0
        public static bool GetCsvStaticDataSource(out IRunTimeDataSource yourStaticData, out string errorMes, string yourFormatData)
        {
            errorMes       = null;
            yourStaticData = null;
            string   csvPath     = null;
            int      CodePage    = 65001;
            Encoding csvEncoding = null;

            if (yourFormatData.Contains('-'))
            {
                if (!yourFormatData.MySplitIntEnd('-', out csvPath, out CodePage))
                {
                    errorMes = string.Format("[GetCsvStaticDataSource]error in [MySplitIntEnd] with :[{0}]", yourFormatData);
                    return(false);
                }
            }
            else
            {
                csvPath = yourFormatData;
            }
            try
            {
                csvEncoding = System.Text.Encoding.GetEncoding(CodePage);
            }
            catch
            {
                errorMes = string.Format("[GetCsvStaticDataSource]error in 【CodePage】 [{0}]", yourFormatData);
                return(false);
            }
            csvPath = csvPath.StartsWith("@") ? csvPath.Remove(0, 1) : string.Format("{0}\\casefile\\{1}", CaseTool.rootPath, csvPath);
            if (!System.IO.File.Exists(csvPath))
            {
                errorMes = string.Format("[GetCsvStaticDataSource]error in csv path [path not exixts] [{0}]", yourFormatData);
                return(false);
            }
            MyCommonHelper.FileHelper.CsvFileHelper myCsv = new MyCommonHelper.FileHelper.CsvFileHelper(csvPath, csvEncoding);
            try
            {
                yourStaticData = new MyStaticDataSourceCsv(myCsv.GetListCsvData());
            }
            catch (Exception ex)
            {
                errorMes = ex.Message;
                return(false);
            }
            finally
            {
                myCsv.Dispose();
            }
            return(true);
        }
Ejemplo n.º 2
0
        public static bool GetCsvStaticDataSource(out IRunTimeDataSource yourStaticData, out string errorMes, string yourFormatData)
        {
            errorMes       = null;
            yourStaticData = null;
            string   csvPath     = null;
            int      CodePage    = 65001;
            Encoding csvEncoding = null;

#if ALLOW_CSV_EMPTY
            if (yourFormatData.StartsWith("*"))
            {
                int[] tempConuts;
                if (!yourFormatData.Remove(0, 1).MySplitToIntArray('-', out tempConuts) || tempConuts.Length != 2)
                {
                    errorMes = string.Format("[GetCsvStaticDataSource]error in [MySplitToIntArray] with :[{0}]", yourFormatData);
                    return(false);
                }
                if (tempConuts[0] < 1 || tempConuts[1] < 1)
                {
                    errorMes = string.Format("[GetCsvStaticDataSource]error in [MySplitToIntArray] with :[{0}] \nYour row conut and columu conut should greater than 0 ", yourFormatData);
                    return(false);
                }
                List <string> tempRow = new List <string>(tempConuts[0]);
                for (int i = 0; i < tempConuts[0]; i++)
                {
                    tempRow.Add(null);
                }
                List <List <string> > tempCsvDataSource = new List <List <string> >(tempConuts[1]);
                for (int i = 0; i < tempConuts[1]; i++)
                {
                    tempCsvDataSource.Add(tempRow.ToList());
                }
                yourStaticData = new MyStaticDataSourceCsv(tempCsvDataSource, yourFormatData);
                return(true);
            }
#endif
            if (yourFormatData.Contains('-'))
            {
                if (!yourFormatData.MySplitIntEnd('-', out csvPath, out CodePage))
                {
                    errorMes = string.Format("[GetCsvStaticDataSource]error in [MySplitIntEnd] with :[{0}]", yourFormatData);
                    return(false);
                }
            }
            else
            {
                csvPath = yourFormatData;
            }
            try
            {
                csvEncoding = System.Text.Encoding.GetEncoding(CodePage);
            }
            catch
            {
                errorMes = string.Format("[GetCsvStaticDataSource]error in 【CodePage】 [{0}]", yourFormatData);
                return(false);
            }
            csvPath = csvPath.StartsWith("@") ? csvPath.Remove(0, 1) : string.Format("{0}\\FreeHttp\\{1}", MyCommonTool.rootPath, csvPath);
            if (!System.IO.File.Exists(csvPath))
            {
                errorMes = string.Format("[GetCsvStaticDataSource]error in csv path [path not exixts] [{0}]", yourFormatData);
                return(false);
            }
            MyCommonHelper.FileHelper.CsvFileHelper myCsv = new MyCommonHelper.FileHelper.CsvFileHelper(csvPath, csvEncoding);
            try
            {
                yourStaticData = new MyStaticDataSourceCsv(myCsv.GetListCsvData(), yourFormatData);
            }
            catch (Exception ex)
            {
                errorMes = ex.Message;
                return(false);
            }
            finally
            {
                myCsv.Dispose();
            }
            return(true);
        }