示例#1
0
        public static async Task LogMenuSavedAsync(string checksum, LunchMenu lm)
        {
            var connString = ConnectionString();

            using (var conn = new MySqlConnection(connString))
            {
                await conn.OpenAsync();

                using (var cmd = new MySqlCommand())
                {
                    cmd.Connection  = conn;
                    cmd.CommandText = string.Format("INSERT INTO saved_lunch_menus (SavedAt,Checksum,ValidFrom,ValidTo) VALUES ('{0:yyyy-MM-dd HH:mm:ss}','{1}','{2:yyyy-MM-dd}','{3:yyyy-MM-dd}')", DateTime.Now, checksum, lm.ValidFrom, lm.ValidTo);
                    await cmd.ExecuteNonQueryAsync();
                }
            }
        }
示例#2
0
        public static async Task SaveLunchMenuToDatabaseAsync(LunchMenu lm)
        {
            var connString = ConnectionString();

            using (var conn = new MySqlConnection(connString))
            {
                await conn.OpenAsync();

                foreach (LunchMenuItem lmi in lm.MenuItems)
                {
                    using (var cmd = new MySqlCommand())
                    {
                        cmd.Connection  = conn;
                        cmd.CommandText = string.Format("INSERT INTO lunch_menu_items (Name,Price,Foodtype,Date,Weight,Alergens) VALUES ({0})",
                                                        lmi.ToSqlQueryValues());

                        await cmd.ExecuteNonQueryAsync();
                    }
                }
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("Please provide CONFIG filename as parameter!");
                return;
            }

            Console.WriteLine("Loading CONFIG file...");
            string configFile = args[0];


            if (!File.Exists(configFile))
            {
                Console.WriteLine("CONFIG file does not exist! Exiting application...");
                return;
            }
            else
            {
                cfm = new ConfigurationFileManager(configFile);


                LunchMenuUrl = cfm.LunchMenuUrl;
                DbService.SetConnectionParameters(cfm.DbServer, cfm.DbUser, cfm.DbPass, cfm.DbName);
            }


            Console.WriteLine("Downloading document...");
            DownloadPDF();

            Console.WriteLine("Calculate hash...");
            string fileHash = CalculateSHA256CheckSum(_menufilename);

            Console.WriteLine(string.Format("{0}: {1}", _menufilename, fileHash));

            Console.WriteLine("Creating new name for a document...");
            string newfilename = string.Format("{0:yyyy-MM-dd_HH-mm-ss}.pdf", DateTime.Now);

            Console.WriteLine("Checking if file was processed...");
            if (DbService.CheckIfExistsInDatabase(fileHash))
            {
                Console.WriteLine("Document has been already processed. Quitting...");
                return;
            }

            Console.WriteLine("Copying document...");
            File.Copy(_menufilename, newfilename);

            Console.WriteLine("Processing menu...");
            string menu = GetRawTextFromFile(newfilename);

            LunchMenu lm = new LunchMenu(menu);

            Console.WriteLine(lm.ToString());

            Console.WriteLine("Saving to database...");
            DbService.SaveLunchMenuToDatabaseAsync(lm).Wait();

            Console.WriteLine("Logging this session...");
            DbService.LogMenuSavedAsync(fileHash, lm).Wait();
        }