private void EnqueueCommands(ActionParams actionparams) { try { System.Diagnostics.Debug.WriteLine("UpdateUDT Enqueue Start:" + DateTime.Now.ToString("hh:mm:ss ffff")); lock (_lock) { CommandsQueue.Enqueue(actionparams); } System.Diagnostics.Debug.WriteLine("UpdateUDT Enqueue End:" + DateTime.Now.ToString("hh:mm:ss ffff")); _autoResetEvent.Set(); } catch { } }
public void UpdateUdt(ActionParams actionparams) { System.Diagnostics.Debug.WriteLine("UpdateUDT Start:" + DateTime.Now.ToString("hh:mm:ss ffff")); if (actionparams.NeedRefresh) { RefreshUdt(CnctArgs.Udtname); } System.Diagnostics.Debug.WriteLine("UpdateUDT Start 1:" + DateTime.Now.ToString("hh:mm:ss ffff")); DataTable dtTable = CurrentDataSet.Tables[actionparams.TableIndex]; DataRow[] dr = dtTable.Select(actionparams.PrimaryColumn + "='" + actionparams.PrimaryValue + "'"); for (int i = 0; i < actionparams.Columns.Count(); i++) { dr[0][actionparams.Columns[i]] = actionparams.Values[i]; } UdtArgs args = new UdtArgs(); UpdateRowRespArgs respargs = new UpdateRowRespArgs(); respargs.TableName = dr[0].Table.TableName; respargs.Data = Array.ConvertAll(dr[0].ItemArray, x => x.ToString()); args.Action = "updaterow"; UdtParams udtparams = new UdtParams(); udtparams.UpdateRowParams = respargs; args.ActionParams = new UdtParams[1] { udtparams }; args.Udtid = _mudtinfo.UdtId; args.UserName = Environment.UserName; System.Diagnostics.Debug.WriteLine("UpdateUDT End 0:" + DateTime.Now.ToString("hh:mm:ss ffff")); _mObjUdtDataHandler.UpdateRow(args); System.Diagnostics.Debug.WriteLine("UpdateUDT End:" + DateTime.Now.ToString("hh:mm:ss ffff")); }
public void InsertUdt(ActionParams actionparams) { System.Diagnostics.Debug.WriteLine("InsertUDTData Start:" + DateTime.Now.ToString("hh:mm:ss ffff")); if (actionparams.NeedRefresh) { RefreshUdt(CnctArgs.Udtname); } System.Diagnostics.Debug.WriteLine("InsertUDTData Start 1:" + DateTime.Now.ToString("hh:mm:ss ffff")); DataTable dtTable = CurrentDataSet.Tables[actionparams.TableIndex]; DataRow dr = dtTable.NewRow(); for (int i = 0; i < actionparams.Columns.Count(); i++) { dr[actionparams.Columns[i]] = actionparams.Values[i]; } if (dr.Table.Columns.Count > 1 && dr.Table.Columns[1].ColumnName.Contains("_ID") && dtTable.Rows.Count > 0) { var parentkey = dtTable.Rows[0][1]; dr[1] = parentkey; } if (dr.Table.Columns.Contains("Visibility") && string.IsNullOrEmpty(Convert.ToString(dr["Visibility"]))) { dr["Visibility"] = true; } if (!actionparams.Columns.Contains("ID") && dtTable.Columns.Contains("ID")) { DataRow drlast = dtTable.Rows[dtTable.Rows.Count - 1]; int id = 0; if (drlast != null && drlast["ID"] != null) { int.TryParse(Convert.ToString(drlast["ID"]), out id); } id++; dr["ID"] = id; } UdtArgs args = new UdtArgs(); AddRowRespArgs respargs = new AddRowRespArgs(); respargs.TableName = dr.Table.TableName; respargs.Data = Array.ConvertAll(dr.ItemArray, x => x.ToString()); args.Action = "addrow"; UdtParams udtparams = new UdtParams(); udtparams.AddRowParams = respargs; args.ActionParams = new UdtParams[1] { udtparams }; args.Udtid = _mudtinfo.UdtId; args.UserName = Environment.UserName; System.Diagnostics.Debug.WriteLine("InsertUDTData End 0:" + DateTime.Now.ToString("hh:mm:ss ffff")); _mObjUdtDataHandler.AddRow(args); //Testing merging at same time //sreenath added System.Diagnostics.Debug.WriteLine("InsertUDTData End:" + DateTime.Now.ToString("hh:mm:ss ffff")); }
public void UpdateUdt(int tableIndex, string[] Columns, string[] Values, string primaryColumn, string PrimaryValue, bool needrefresh) { ActionParams actionparams = new ActionParams { TableIndex = tableIndex, Columns = Columns, Values = Values, PrimaryColumn = primaryColumn, PrimaryValue = PrimaryValue, NeedRefresh = needrefresh, ActionType = ActionType.Update }; EnqueueCommands(actionparams); }
public void InsertUdt(int tableIndex, string[] Columns, string[] Values, bool needrefresh) { ActionParams actionparams = new ActionParams { TableIndex = tableIndex, Columns = Columns, Values = Values, NeedRefresh = needrefresh, ActionType = ActionType.Insert }; EnqueueCommands(actionparams); }