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); } } } }
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; } } }
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; } } }