async Task TestTblaFill() { //Dynamically create Table from class. //Not fullfil our requirements. Table structure should be created at design time //to use in Controls. Create maunally now. //var aaaa = CreateDataTable<TblaRec>(); //dataSet1.Tables.Add(aaaa); var dt = dataSet1.Tables[0]; //if (dt.Rows[0].RowState == DataRowState. dt.BeginLoadData(); int nor = 0, ml = 0; Channel channel = new Channel($"127.0.0.1:50051", ChannelCredentials.Insecure); //Channel channel = new Channel($"217.160.13.102:50051", ChannelCredentials.Insecure); var client = new CRUDs.CRUDsClient(channel); CancellationToken token = new CancellationToken(); DataRow row; Stopwatch sw = new Stopwatch(); sw.Start(); using (var response = client.TblaFill(new QryProxy { Query = "abc" })) { while (await response.ResponseStream.MoveNext(token)) { //var proxy = response.ResponseStream.Current; row = dt.NewRow(); ProxyHelper.ProxyToRow(dt, row, response.ResponseStream.Current); dt.Rows.Add(row); nor++; //ml += proxy.CalculateSize(); //MessageBox.Show(rec.Message); } } sw.Stop(); dt.AcceptChanges(); dt.EndLoadData(); MessageBox.Show($"Time elapsed: {nor:n0}recs {sw.ElapsedMilliseconds:n0}ms {nor / sw.ElapsedMilliseconds}recs/ms TotalSize:{ml:n0}"); }
private void button4_Click(object sender, EventArgs e) { var dt = dataSet1.Tables[1]; string rs = ""; Channel channel = new Channel($"127.0.0.1:50051", ChannelCredentials.Insecure); //Channel channel = new Channel($"217.160.13.102:50051", ChannelCredentials.Insecure); var client = new CRUDs.CRUDsClient(channel); var request = new AHPproxy(); // Unchanged disindakileri gonder, deleted disindakileri reply ile guncelle, hata yoksa her rec icin AcceptChanges for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i].ClearErrors(); // States: Added, Modified, Deletede, Unchanged rs = dt.Rows[i].RowState.ToString().Substring(0, 1); if (rs == "A" || rs == "M") { request.RowSte = rs; ProxyHelper.RowToProxy(dt, dt.Rows[i], request); var reply = client.AHPupdate(request); if (string.IsNullOrEmpty(reply.RowErr)) { ProxyHelper.ProxyToRow(dt, dt.Rows[i], reply); dt.Rows[i].AcceptChanges(); } else { dt.Rows[i].RowError = reply.RowErr; dt.Rows[i].RejectChanges(); } } } channel.ShutdownAsync().Wait(); }