Ejemplo n.º 1
0
        static void Main()
        {
            MicronConfig config = new MicronConfig()
            {
                DatabaseName = "books_db",
            };

            MicronDbContext.AddConnectionSetup(config);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Converts a DataTable to a list with generic objects
        /// </summary>
        /// <typeparam name="T">Generic object</typeparam>
        /// <param name="datatable">DataTable</param>
        /// <returns>List with generic objects</returns>
        public static IEnumerable <T> MapToList <T>(DataTable datatable) where T : class, new()
        {
            try
            {
                List <T> list = new List <T>();

                foreach (var row in datatable.AsEnumerable())
                {
                    T obj = new T();
                    foreach (var prop in obj.GetType().GetProperties())
                    {
                        try
                        {
                            PropertyInfo    propertyInfo = obj.GetType().GetProperty(prop.Name);
                            MicronDbContext db           = (MicronDbContext)datatable.ExtendedProperties["db"];

                            if (prop.GetValue(obj, null) != null && prop.GetValue(obj, null).GetType() == typeof(DateTime))
                            {
                                propertyInfo.SetValue(obj, row[prop.Name], null);
                            }
                            else if (prop.PropertyType == typeof(MicronDbContext))
                            {
                                propertyInfo.SetValue(obj, db, null);
                            }
                            else
                            {
                                propertyInfo.SetValue(obj, Convert.ChangeType(row[prop.Name], propertyInfo.PropertyType), null);
                            }
                        }
                        catch (Exception err)
                        {
                            continue;
                        }
                    }


                    list.Add(obj);
                }



                return(list);
            }
            catch
            {
                return(null);
            }
        }
        static void Main()
        {
            //create database connection to my_database


            MicronConfig setUp = new MicronConfig()
            {
                DatabaseName = "my_database"
            };

            MicronDbContext.AddConnectionSetup(setUp);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmLogin());
        }
Ejemplo n.º 4
0
        static void Main()
        {
            MicronConfig config = new MicronConfig()
            {
                DatabaseName = "ngdu",
                Host         = "localhost",
                User         = "******",
                Password     = "",
                Port         = "3306",
            };

            MicronDbContext.AddConnectionSetup(config);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Auth());
        }
Ejemplo n.º 5
0
        public static IEnumerable <T> For <T>(this IEnumerable <T> me, IMicron micron)
        {
            if (micron == null)
            {
                return(new List <T>());
            }
            MicronDbContext db     = (MicronDbContext)GetPropValue(micron, "DefaultDBContext");
            var             table1 = db.GetTableName(typeof(T));        //order
            var             table2 = db.GetTableName(micron.GetType()); //customer
            List <T>        ret    = new List <T>();

            try
            {
                //get relationship property
                var relationships = db.Relationships.AsEnumerable()
                                    .Where(r =>
                                           r.Field <string>("REFERENCED_TABLE_NAME").ToLower() == table2.ToLower()
                                           &&
                                           r.Field <string>("TABLE_NAME").ToLower() == table1.ToLower()

                                           )?.CopyToDataTable();
                var table1Col = relationships.Rows[0]["COLUMN_NAME"].ToString();
                var table2Col = relationships.Rows[0]["REFERENCED_COLUMN_NAME"].ToString();

                var val = GetPropValue(micron, table2Col);
                { }
                foreach (var item in me)
                {
                    var val2 = GetPropValue(item, table1Col);
                    //filter here
                    if (val2.ToString() == val.ToString())
                    {
                        ret.Add(item);
                    }
                }
                return(ret);
            }
            catch (Exception)
            {
                return(new List <T>());
            }
        }
Ejemplo n.º 6
0
        static void Main()
        {
            MicronConfig config = new MicronConfig()
            {
                DatabaseName = "WorkAssistant",
                Host         = "127.0.0.1",
                User         = "******",
                Password     = "******",
                Port         = "3306"
            };
            MicronDbContext db = new MicronDbContext("config");

            MicronDbContext.AddConnectionSetup(config);
            var micron = new MicronDbContext();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            TestDbContext dbContext = new TestDbContext();

            Application.Run(new WorkAssistant());
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            string mode = "model-first";



            Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;

            ConsoleColor defaultBgCol = Console.BackgroundColor;
            ConsoleColor defaultFore  = Console.ForegroundColor;


            if (args.Length == 0)
            {
                Console.WriteLine(Resources.asciArt_txt);
                Console.WriteLine("A PRODUCT OF BUNIFU \n________________________________________\n\n\n");

                Console.BackgroundColor = ConsoleColor.DarkRed;
                Console.WriteLine("No project file added");
            }

            var projectPath = args[0];

            if (File.Exists(projectPath) && projectPath.ToLower().EndsWith(".csproj"))
            {
                MicronConfig config          = new MicronConfig();
                FileInfo     projectPathInfo = new FileInfo(projectPath.Trim());
                string[]     ignoreList      = new string[] { };

                string ignoreFile = Path.Combine(projectPathInfo.DirectoryName, "micron_ignore.txt");
                string modeFile   = Path.Combine(projectPathInfo.DirectoryName, "micron_mode.txt");


                if (args.Length > 1)
                {
                    mode = args[1];
                    File.WriteAllText(modeFile, mode);
                }
                else
                {
                    mode = File.ReadAllText(modeFile);
                }


                if (File.Exists(ignoreFile))
                {
                    ignoreList = File.ReadAllLines(ignoreFile);
                }

                Console.WriteLine("Project File: " + projectPathInfo.FullName + "\n\n");
                string nameSpace = "Data.Models";

                if (!File.Exists(ignoreFile))
                {
                    File.WriteAllText(ignoreFile, "");

                    Console.WriteLine(Resources.asciArt_txt);
                    Console.WriteLine("A PRODUCT OF BUNIFU \n________________________________________\n\n\n");
                }
                else
                {
                    bool found = false;
                    Console.Write("Fetching connections: ");
                    //parse file
                    foreach (var file in projectPathInfo.Directory.GetFiles("*.cs", SearchOption.AllDirectories))
                    {
                        Console.Write("#");
                        //look for MicronConfig()
                        string source = File.ReadAllText(file.FullName);
                        source = source.Replace(" ", "");
                        source = source.Replace("\n", "");

                        if (source.Contains("MicronConfig()"))
                        {
                            if (source.Contains("DatabaseName=\""))
                            {
                                found = true;
                                Kuto k = new Kuto(source);
                                k = k.Extract("MicronConfig()", "");
                                k = k.Extract("{", "}");
                                if (k.Contains("DatabaseName"))
                                {
                                    config.DatabaseName = k.Extract("DatabaseName=\"", "\"").ToString();
                                }
                                if (k.Contains("Host"))
                                {
                                    config.Host = k.Extract("Host=\"", "\"").ToString();
                                }
                                if (k.Contains("Password"))
                                {
                                    config.Password = k.Extract("Password=\"", "\"").ToString();
                                }
                                if (k.Contains("User"))
                                {
                                    config.User = k.Extract("User=\"", "\"").ToString();
                                }
                                if (k.Contains("Locality"))
                                {
                                    config.Locality = k.Extract("Locality=\"", "\"").ToString();
                                }
                                break;
                            }
                        }
                        System.Threading.Thread.Sleep(300);
                    }

                    if (!found)
                    {
                        Console.WriteLine();
                        Console.WriteLine();

                        Console.BackgroundColor = ConsoleColor.DarkRed;
                        Console.WriteLine("No Micron Configuration found");
                        return;
                    }

                    Console.WriteLine();
                    Console.WriteLine();

                    Console.WriteLine("Micron Configuration found:");
                    Console.BackgroundColor = ConsoleColor.DarkGreen;
                    MicronLogger.Log(config);
                    Console.BackgroundColor = defaultBgCol;
                }



                MicronDbContext db = new MicronDbContext(config);

                Console.BackgroundColor = ConsoleColor.DarkBlue;
                Console.WriteLine("Connected.... Generating DB Models for " + config.DatabaseName);
                Console.BackgroundColor = defaultBgCol;



                if (mode == "database-first")
                {
                    Console.WriteLine("Executng database-first");
                    //generate model here
                    db.GenerateModels(projectPath.Trim(), nameSpace, ignoreList);
                }
                else
                {
                    //model first
                    Console.WriteLine("Executng model-first");
                    db.GenerateSchemaFromModels(projectPath.Trim(), ignoreList);
                }



                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine("Successfully Completed :)");
                Console.BackgroundColor = defaultBgCol;
                Console.WriteLine();
                Console.WriteLine();
                Console.ForegroundColor = defaultFore;

                return;
            }


            Console.BackgroundColor = ConsoleColor.DarkRed;
            Console.WriteLine("No csProj found");
        }