Example #1
0
        static int CreateFunctionResultModel(string DirBasePath, SPInformation storedProcedure, string NamespaceOfContextFile, string SPName)
        {
            var resultSetList = storedProcedure.GetSPResultSet(SPName).OrderBy(x => x.column_ordinal).ToList();

            //Check what return by SP
            if (resultSetList.Count == 1)
            {
                return(1);
            }
            else if (resultSetList.Count > 1)
            {
                #region Create Class File Text

                var ModelsPath = Path.Combine(DirBasePath, "Models");
                if (!Directory.Exists(ModelsPath))
                {
                    Directory.CreateDirectory(ModelsPath);
                }

                var newModelPath = Path.Combine(ModelsPath, SPName + "_Result.cs");

                string tempClass = string.Empty;

                //TODO
                tempClass += "namespace " + NamespaceOfContextFile + ".Models";
                tempClass += Environment.NewLine + "{";

                tempClass += Environment.NewLine + "\t" + "using System;";
                tempClass += Environment.NewLine + "\t" + "public partial class " + SPName.ToString() + "_Result";

                tempClass += Environment.NewLine + "\t" + "{";

                foreach (var item in resultSetList)
                {
                    tempClass += Environment.NewLine + "\t\t" + "public";
                    var sysDataType = DataTypeHelper.GetSysTypeFromSqlType(item.system_type_name, item.is_nullable);

                    tempClass += " " + sysDataType + " " + item.name.Replace("-", "_");

                    tempClass += " { get; set; }";
                }

                tempClass += Environment.NewLine + "\t" + "}";

                tempClass += Environment.NewLine + "}";

                File.WriteAllText(newModelPath, tempClass);

                #endregion

                return(2);
            }
            else
            {
                return(0);
            }
        }