Ejemplo n.º 1
0
 public static List<GenerateCodeInfo> GetGenerateCodeInfoList(List<Type> typeList)
 {
     if ((typeList == null) || (typeList.Count == 0))
     {
         return new List<GenerateCodeInfo>();
     }
     List<GenerateCodeInfo> list = new List<GenerateCodeInfo>(typeList.Count);
     foreach (Type type in typeList)
     {
         GenerateCodeInfo class2 = new GenerateCodeInfo
         {
             GenerateParameters = GetGenerateParametersInfo(type)
         };
         class2.ClassCodeString = GenerateClass(class2.GenerateParameters);
         list.Add(class2);
     }
     return list;
 }
Ejemplo n.º 2
0
        static public GenerateCodeInfo Files(string[] filePaths, Action <ProgressInfo, string> callback = null)
        {
            GenerateCodeInfo result = new GenerateCodeInfo();
            StringBuilder    code   = new StringBuilder();

            using (ExcelAssist excelAssist = new ExcelAssist())
            {
                for (int i = 0; i < filePaths.Length; i++)
                {
                    using (SQLitePathInfo info = new SQLitePathInfo(filePaths[i]))
                    {
                        result.Path = info.DirectoryPath;

                        SQLiteData[] dataSets = excelAssist.Read(filePaths[i]);
                        if (null != dataSets)
                        {
                            for (int j = 0; j < dataSets.Length; j++)
                            {
                                SQLiteAssist.CreateTable(info.SqlConnection, dataSets[j]);
                                SQLiteAssist.Insert(info.SqlConnection, dataSets[j], (insertPercent) =>
                                {
                                    callback(new ProgressInfo(i / (float)filePaths.Length, insertPercent),
                                             String.Format("{0} ({1}/{2})", info.FileName, j + 1, dataSets.Length));
                                });

                                code.Append(dataSets[j].GetCode(info.FileName));
                                code.Append("\n");
                            }
                        }
                        callback?.Invoke(new ProgressInfo((i + 1) / (float)filePaths.Length, 1.0f),
                                         String.Format("{0} ({1}/{1})", info.FileName, dataSets.Length));
                    }
                }
            }
            result.Code = code.ToString();
            return(result);
        }