示例#1
0
        public static void MoveMD()
        {
            if (!Directory.Exists(@"C:\JizHydrusBackup\"))
            {
                Directory.CreateDirectory(@"C:\JizHydrusBackup\");
            }

            using (var context = new JizanOMSContext())
            {
                List <tblGateway> gateway = new List <tblGateway>();

                var y = context.tblGateways;
                gateway = y.ToList();

                foreach (var g in gateway)
                {
                    if (!Directory.Exists(@"C:\JizFTP\" + g.Name))
                    {
                        Console.WriteLine($"Folder {g.Name} not found.");
                        continue;
                    }

                    if (Directory.Exists(@"C:\JizHydrusBackup\" + g.Name))
                    {   //Overwrite files if exist.
                        string[] files = System.IO.Directory.GetFiles(@"C:\JizFTP\" + g.Name);

                        foreach (string s in files)
                        {
                            var destFile = Path.Combine(@"C:\JizHydrusBackup\" + g.Name, Path.GetFileName(s));
                            File.Copy(s, destFile, true);
                        }
                    }
                    else
                    {   //Move Directory.
                        Directory.Move(@"C:\JizFTP\" + g.Name, @"C:\JizHydrusBackup\" + g.Name);
                    }
                }
            }
        }
示例#2
0
        public static void GetLatest()
        {
            if (!Directory.Exists(@"C:\JizHydrusLatest\"))
            {
                Directory.CreateDirectory(@"C:\JizHydrusLatest\");
            }

            using (var context = new JizanOMSContext())
            {
                try
                {
                    List <tblGateway> gateway = new List <tblGateway>();

                    var y = from j in context.tblGateways
                            select j;
                    gateway = y.ToList();
                    //delete all latest here
                    var result = context.Database.ExecuteSqlCommand("delete from tblLatest");
                    Console.WriteLine($"Delete {result} from Latest Table");
                    foreach (var g in gateway)
                    {
                        var x = context.GetLatestMeterReading(g.Name);
                        //Console.WriteLine(x);
                        var extractMeter = context.Database
                                           .SqlQuery <CustomLatest>(
                            "SELECT DISTINCT MeterAddress, ReadingDate, RawTelegram FROM tblLatest WHERE GatewayId=@GatewayId",
                            new SqlParameter("@GatewayId", g.Name));
                        var    fileName = Timex.CurrentTime();
                        string path2    = @"C:\JizHydrusLatest\" + g.Name + "\\" + fileName + ".csv";
                        if (!Directory.Exists(@"C:\JizHydrusLatest\" + g.Name + "\\"))
                        {
                            Directory.CreateDirectory(@"C:\JizHydrusLatest\" + g.Name + "\\");
                        }
                        using (StreamWriter writer = new StreamWriter(path2, false))
                        {
                            string[] separator    = { "," };
                            var      filecontents = new StringBuilder();
                            filecontents.Append("METER_ADDRESS, READING_DATE, PACKET\r\n");

                            string extract = null;
                            foreach (var em in extractMeter)
                            {
                                extract += em.MeterAddress + ","; //Serial
                                extract += em.ReadingDate
                                           .ToString()
                                           .DBtoCSVDateConvert() + ","; //Date
                                extract += em.RawTelegram;              //Packet
                                extract += "\r\n";
                            }
                            filecontents.Append(extract);
                            writer.Write(filecontents.ToString());
                            writer.Flush();
                            writer.Close();
                        }
                    }
                    //MessageBox.Show("Latest record/s extracted.");
                    Console.WriteLine("Latest record/s extracted.");
                    //Console.WriteLine("Extracted");
                }
                catch (Exception)
                {
                    return;
                }
            }
        }
示例#3
0
        public static void ExportHydrusData()
        {
            using (var context = new JizanOMSContext())
            {
                try
                {
                    GetOMS.OMSFolder();
                    GetLatest();
                    ToBackup.MoveMD();

                    //string strPath = Environment.GetFolderPath(
                    //    System.Environment.SpecialFolder.DesktopDirectory);
                    string strPath = @"C:\JizHydrusLatest\";

                    var extractMeter1 = context.Database
                                        .SqlQuery <HydrusData>("SELECT * FROM viewLatestHydrusData WHERE ReadingDate IS NOT NULL");
                    var extractMeter2 = context.Database
                                        .SqlQuery <HydrusData>("SELECT * FROM viewLatestHydrusData WHERE ReadingDate IS NULL");

                    var fileName = Timex.CurrentTime();

                    string path2 = strPath + "\\" + "HYDRUS_DATA_" + fileName + ".csv";

                    using (StreamWriter writer = new StreamWriter(path2, false))
                    {
                        string[] separator    = { "," };
                        var      filecontents = new StringBuilder();
                        filecontents.Append("#, Account No, Area No, Area Name, Serial No, RAW_TELEGRAM, READING_DATE\r\n");

                        string extract = null;
                        foreach (var em in extractMeter1)
                        {
                            extract += em.RowNum + ",";       //#
                            extract += em.AccountNo + ",";    //AccountNo
                            extract += em.AreaNo + ",";       //AreaNo
                            extract += em.AreaName + ",";     //AreaName
                            extract += em.MeterAddress + ","; //SerialNo
                            extract += em.RawTelegram + ",";  //Packet
                            extract += em.ReadingDate
                                       .ToString()
                                       .DBtoCSVDateConvert(); //Date
                            extract += "\r\n";
                        }

                        foreach (var em in extractMeter2)
                        {
                            extract += em.RowNum + ",";       //#
                            extract += em.AccountNo + ",";    //AccountNo
                            extract += em.AreaNo + ",";       //AreaNo
                            extract += em.AreaName + ",";     //AreaName
                            extract += em.MeterAddress + ","; //SerialNo
                            extract += em.RawTelegram + ",";  //Packet
                            extract += em.ReadingDate;        //Date
                            extract += "\r\n";
                        }

                        filecontents.Append(extract);
                        writer.Write(filecontents.ToString());
                        writer.Flush();
                        writer.Close();
                    }
                    //Console.WriteLine("Extracted Hydrus Data");
                    Console.WriteLine("Extracted Hydrus Data in JizHydrusLatest Folder.");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    //return;
                }
            }
        }