/// <summary> /// 正規のフォーマットで現在DGV1で表示中のPlace別CSVファイルを保存する sessionボタンのセッション別に表示させる為 /// </summary> /// <param name="dgv1"></param> public void SaveNowDgvDefaultCsv(DataGridView dgv1) { var rd = new ReadDatas(@"./temp/temp.csv"); var p = rd.GetListData; List <EventInfo_dgvs> listdatas = p.EDgvList; //File.Delete(@"./temp/nowdgv.csv"); //1-97行目にの通し番号を記入 using (var sw = new StreamWriter(@"./temp/nowdgv.csv", false)) { for (int i = 0; i < 97; i++) { sw.WriteLine(i + 1 + ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"); } } //98行目に 98 + 1~30までを記入 using (var sw = new StreamWriter(@"./temp/nowdgv.csv", true)) { var lines = "98"; for (int i = 0; i < 30; i++) { lines += "," + (i + 1); } sw.WriteLine(lines); } //99行目に 項目名を記入 using (var sw = new StreamWriter(@"./temp/nowdgv.csv", true)) { var lines = "99"; lines += "," + "日程" + "," + "開催会場" + "," + "会名" + "," + "テーマ" + "," + "保存先メイン" + "," + "保存先サブ" + "," + "予備" + "," + "会場名" + "," + "セッション" + "," + "演者ID" + "," + "演者名" + "," + "開始時間" + "," + "終了時間" + "," + "演 題 名" + "," + "備考・申し送り" + "," + "保存先メインパス" + "," + "保存先サブパス" + "," + "PC持込み" + "," + "音声あり" + "," + "映像あり" + "," + "申し送りあり" + "," + "修正" + "," + "発表者ツール" + "," + "演台上" + "," + "パワーポイント2003" + "," + "パワーポイント2007" + "," + "パワーポイント2010" + "," + "パワーポイント2013" + "," + "パワーポイント2016" + "," + "パワーポイント2019"; sw.WriteLine(lines); } //100行目に データを記入 using (var sw = new StreamWriter(@"./temp/nowdgv.csv", true)) { var lines = "100"; lines += "," + p.EventDate + "," + p.Venue + "," + p.Title + "," + p.Theme + "," + p.SavePathMain + "," + p.SavePathSub + "," + p.Reserve + ",,,,,,,,,,,,,,,,,,,,,,,"; sw.WriteLine(lines); } //末尾加筆にならないよう、StreamWriter のコンストラクタの第二引数には false を指定 using (var sw = new StreamWriter(@"./temp/nowdgv.csv", true)) { for (int r = 0; r < dgv1.Rows.Count - 1; r++) { var lines = ""; for (int c = 0; c < dgv1.Columns.Count - 1; c++) { lines += dgv1.Rows[r].Cells[c].Value.ToString(); lines += ','; } sw.WriteLine(lines); } } }
public static List <OnTimeEntity> GetReadDatas(int uId, List <string> stationList, string trans) { ReadDatas rDatas = new ReadDatas(); //储出返回的信息 List <OnTimeEntity> onTimeList = new List <OnTimeEntity>(); var options = new List <ChannelOption> { new ChannelOption(ChannelOptions.MaxReceiveMessageLength, int.MaxValue) }; var channel = new Channel(Conf.Config.DB_SERVER_IP, ChannelCredentials.Insecure, options); var client = new BatchService(new gRPCServices.gRPCServicesClient(channel)); rDatas = client.GetReadMsg(stationList, trans); //初始话站点信息 if (StationHelper.stationInfoList == null || StationHelper.stationInfoList.Count == 0) { StationHelper.getStationInfoList(); } for (int i = 0; i < rDatas.RData.Count; i++) { string id = rDatas.RData[i].StationId; //获取雨量精度 //double accuracy = StationHelper.stationInfoDic4[id]. double accuracy = 0.5; string state = "-"; if (rDatas.RData[i].Data != null && rDatas.RData[i].Data.Length > 0) { int rawData = int.Parse(rDatas.RData[i].Data); double totalRain = rawData * accuracy; state = totalRain.ToString(); } else { state = "获取失败"; } onTimeList.Add(new OnTimeEntity { id = id, stationId = StationHelper.stationInfoDic4[id].stationId, stationName = StationHelper.stationInfoDic4[id].stationName, state = state }); } channel.ShutdownAsync().Wait(); client.StopGrpcClient(); return(onTimeList); }
public ReadDatas GetReadMsg(List <string> stationList, string trans) { try { ReadRequest request = new ReadRequest(); switch (trans) { case "1": request.RType = ReadRequest.Types.readType.ReadStoredWater; break; case "2": request.RType = ReadRequest.Types.readType.ReadRealWater; break; case "3": request.RType = ReadRequest.Types.readType.ReadRain; break; case "4": request.RType = ReadRequest.Types.readType.ReadSoil; break; default: break; } //对sList进行初始话 StationList sList = new StationList(); foreach (var v in stationList) { sList.Ids.Add(v); } request.SList = sList; ReadDatas info = grpcClient.BatchRead(request); return(info); } catch (Exception exp) { Debug.WriteLine("RPC failed" + exp); throw; } }
public ReadDatas GetReadDatas(ReadRequest request) { readDataDic = new CDictionary <string, string>(); ReadDatas readDatas = new ReadDatas(); m_timer_1.Start(); if (request.RType == ReadRequest.Types.readType.ReadStoredWater) { CProtocolEventManager.DownForData += ReadForData_EventHandler_1; foreach (var id in request.SList.Ids) { CEntityStation station = CDBDataMgr.Instance.GetStationById(id); CPortDataMgr.Instance.GroupStorageWaterFirst(station); } } else if (request.RType == ReadRequest.Types.readType.ReadRealWater) { CProtocolEventManager.DownForData += ReadForData_EventHandler_2; foreach (var id in request.SList.Ids) { CEntityStation station = CDBDataMgr.Instance.GetStationById(id); CPortDataMgr.Instance.GroupRealityWater(station); } } else if (request.RType == ReadRequest.Types.readType.ReadRain) { CProtocolEventManager.DownForData += ReadForData_EventHandler_3; foreach (var id in request.SList.Ids) { CEntityStation station = CDBDataMgr.Instance.GetStationById(id); CPortDataMgr.Instance.GroupRainWater(station); } } //else if (request.RType == ReadRequest.Types.readType.ReadSoil) //{ // foreach (var id in request.SList.Ids) // { // CEntityStation station = CDBDataMgr.Instance.GetStationById(id); // CPortDataMgr.Instance.GroupSoilWater(station); // } //} //等待读取完成 while (true) { // 等待 if (timeDown_1) { foreach (var id in request.SList.Ids) { if (readDataDic.ContainsKey(id)) { readDatas.RData.Add(new ReadData() { StationId = id, Data = readDataDic[id] }); } else { readDatas.RData.Add(new ReadData() { StationId = id, Data = "" }); } } break; } } m_timer_1.Stop(); CProtocolEventManager.DownForData -= ReadForData_EventHandler_1; CProtocolEventManager.DownForData -= ReadForData_EventHandler_2; CProtocolEventManager.DownForData -= ReadForData_EventHandler_3; return(readDatas); }