protected virtual DanhMucItemData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); DanhMucItemData obj = new DanhMucItemData(); obj.ID = System.Convert.ToInt32(data.ID); obj.MaLoaiDanhMuc = System.Convert.ToString(data.MaLoaiDanhMuc); obj.MaDanhMuc = System.Convert.ToString(data.MaDanhMuc); obj.TenDanhMuc = System.Convert.ToString(data.TenDanhMuc); obj.MoTa = System.Convert.ToString(data.MoTa); obj.ThuTu = System.Convert.ToInt32(data.ThuTu); obj.IntVal1 = System.Convert.ToInt32(data.IntVal1); obj.IntVal2 = System.Convert.ToInt32(data.IntVal2); obj.IntVal3 = System.Convert.ToInt32(data.IntVal3); obj.DecVal1 = System.Convert.ToDecimal(data.DecVal1); obj.DecVal2 = System.Convert.ToDecimal(data.DecVal2); obj.DecVal3 = System.Convert.ToDecimal(data.DecVal3); obj.StrVal1 = System.Convert.ToString(data.StrVal1); obj.StrVal2 = System.Convert.ToString(data.StrVal2); obj.StrVal3 = System.Convert.ToString(data.StrVal3); obj.Active = System.Convert.ToBoolean(data.Active); return(obj); }
public static List <dynamic> RunSql(string _sql, Controller _controller) { List <dynamic> _dataRows = new List <dynamic>(); try { using (SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["RBAC_Model"].ConnectionString)) { sqlConn.Open(); SqlCommand sqlComm = new SqlCommand(_sql, sqlConn); sqlComm.CommandType = CommandType.Text; SqlDataReader dReader = sqlComm.ExecuteReader(); while (dReader.Read()) { DynamicDataRow _row = new DynamicDataRow(); for (int i = 0; i < dReader.FieldCount; i++) { _row.AddColumn(dReader.GetName(i), GetValue(dReader, i), dReader.GetDataTypeName(i).ToString()); } _dataRows.Add(_row); } sqlConn.Close(); } } catch (Exception ex) { throw ex; } return(_dataRows); }
private async Task QueryRows(object query) { string where = ""; if (query != null) { where = query.ToString(); } IsLoading = true; lock (_theLock) { ListOfRows.Clear(); } if (_layerSource == null) { _layerSource = await _selectedLayer.getFeatureClass(); } if (_layerSource != null) { var data = new List <DynamicDataRow>(); await QueuingTaskFactory.StartNew(() => { var queryFilter = new ArcGIS.Core.Data.QueryFilter { WhereClause = where }; int maxcols = 6; RowCursor cursor = _layerSource.Search(queryFilter); if (cursor.MoveNext()) { ExtendListView.Columns = new List <ArcGIS.Core.Data.Field>(); maxcols = cursor.Current.Fields.Count() > 6 ? 6 : cursor.Current.Fields.Count(); for (int c = 0; c < maxcols; c++) { ExtendListView.Columns.Add(cursor.Current.Fields[c]); } do { var row = new DynamicDataRow(); for (int v = 0; v < maxcols; v++) { row[GetName(cursor.Fields[v])] = cursor.Current[v].ToString(); } data.Add(row); } while (cursor.MoveNext()); } }); lock (_theLock) { ListOfRows = null; ListOfRows = data; } } RaisePropertyChanged("ListOfRows"); Status = string.Format("{0} rows loaded", ListOfRows.Count()); IsLoading = false; }
protected virtual DanhMucData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); DanhMucData obj = new DanhMucData(); // Chú ý Int64 hoặc Int32 phụ thuộc vào kiểu - dễ lẫn chỗ này obj.MaLoaiDanhMuc = System.Convert.ToString(data.MaLoaiDanhMuc); obj.TenLoaiDanhMuc = System.Convert.ToString(data.TenLoaiDanhMuc); obj.ThuTu = System.Convert.ToInt32(data.ThuTu); obj.System = System.Convert.ToBoolean(data.System); return(obj); }
public static object Cast(DynamicDataRow record, Type type) { var generetedObject = Activator.CreateInstance(type); var properties = type.GetProperties(); var propertiesCounter = 0; foreach (var column in record.Columns) { var value = record[column]; properties[propertiesCounter].SetValue(generetedObject, value, null); propertiesCounter++; } return(generetedObject); }
protected virtual SysGroupData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); SysGroupData obj = new SysGroupData(); obj.ID = System.Convert.ToInt32(data.ID); obj.ID_Creator = System.Convert.ToInt32(data.ID_Creator); obj.Name = System.Convert.ToString(data.Name); obj.Description = System.Convert.ToString(data.Description); obj.Active = System.Convert.ToBoolean(data.Active); return(obj); }
public static dynamic[] ExecuteStoredProcDynamically(string StoredProc, params object[] parameters) { List <dynamic> objects = new List <dynamic>(); DataTable dt = new DataTable(); try { DbInitializer.ThrowExceptionIfInitailizationWasNotSuccessfull(); DbCommand procommand = _database.GetStoredProcCommand(StoredProc, parameters); dt = _database.ExecuteDataSet(procommand).Tables[0]; foreach (DataRow row in dt.Rows) { dynamic drow = new DynamicDataRow(row); objects.Add(drow); } return(objects.ToArray()); } catch (Exception ex) { throw ex; } }
protected virtual SysAccountData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); SysAccountData obj = new SysAccountData(); obj.ID = System.Convert.ToInt32(data.ID); obj.Username = System.Convert.ToString(data.Username); obj.Password = System.Convert.ToString(data.Password); obj.RealName = System.Convert.ToString(data.RealName); obj.Email = System.Convert.ToString(data.Email); obj.ID_DonVis = System.Convert.ToString(data.ID_DonVis); obj.LastAccess = data.LastAccess != null?System.Convert.ToDateTime(data.LastAccess) : (DateTime?)null; obj.Active = System.Convert.ToBoolean(data.Active); obj.AccountType = System.Convert.ToByte(data.AccountType); obj.Creator_ID = System.Convert.ToInt32(data.Creator_ID); obj.ID_DonViGoc = System.Convert.ToInt32(data.ID_DonViGoc); obj.IsUpdate = System.Convert.ToBoolean(data.IsUpdate); return(obj); }
public void BasicDataRowTests() { DataTable table = new DataTable("table"); table.Columns.Add(new DataColumn() { ColumnName = "Name", DataType = typeof(string) }); table.Columns.Add(new DataColumn() { ColumnName = "Entered", DataType = typeof(DateTime) }); table.Columns.Add(new DataColumn() { ColumnName = "NullValue", DataType = typeof(string) }); DataRow row = table.NewRow(); DateTime now = DateTime.Now; row["Name"] = "Rick"; row["Entered"] = now; row["NullValue"] = null; // converted in DbNull dynamic drow = new DynamicDataRow(row); string name = drow.Name; DateTime entered = drow.Entered; string nulled = drow.NullValue; Assert.AreEqual(name, "Rick"); Assert.AreEqual(entered, now); Assert.IsNull(nulled); // this should throw a RuntimeBinderException Assert.AreEqual(entered, drow.enteredd); }
protected virtual SysGroupData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); SysGroupData obj = new SysGroupData(); obj.ID = System.Convert.ToInt32(data.ID); obj.ID_Creator = System.Convert.ToInt32(data.ID_Creator); obj.Name = System.Convert.ToString(data.Name); obj.Description = System.Convert.ToString(data.Description); obj.Active = System.Convert.ToBoolean(data.Active); return obj; }
private async void ReadRows() { if (_executeQuery) { return; } if (_gdbPath.IsEmpty()) { return; } if (SelectedTableName.IsEmpty()) { return; } _executeQuery = true; _columns.Clear(); _timer.Start(); OnPropertyChanged("IsExecutingQuery"); string tableName = SelectedTableName.Split(new char[] { '(', ')' }, StringSplitOptions.RemoveEmptyEntries)[1].Trim(); var data = new ObservableCollection <DynamicDataRow>(); try { //Note, we have to return something await TaskUtils.StartSTATask <int>(() => { using (Geodatabase gdb = new Geodatabase( new FileGeodatabaseConnectionPath(new Uri(_gdbPath, UriKind.Absolute)))) { var table = gdb.OpenDataset <Table>(tableName); RowCursor cursor = table.Search(); IReadOnlyList <Field> flds = cursor.GetFields(); foreach (var fld in flds) { _columns.Add(new ColumnData() { AliasName = fld.AliasName ?? fld.Name, Name = fld.Name, FieldType = fld.FieldType }); } while (cursor.MoveNext()) { var row = new DynamicDataRow(); for (int v = 0; v < flds.Count; v++) { row[GetName(flds[v])] = GetValue(cursor.Current, v); } data.Add(row); } } return(0); }); } finally { ExtendListView.Columns = _columns; _timer.Stop(); lock (_theLock) { _rows.Clear(); _rows = null; _rows = data; } if (_rows.Count > 0) { TableHasNoRows = ""; } else { TableHasNoRows = "No rows returned"; } _executeQuery = false; OnPropertyChanged("Rows"); OnPropertyChanged("IsExecutingQuery"); } }
public static List <dynamic> ExecuteStoredProcedure(REPORTS _report, string _rawParams, Controller _controller) { List <dynamic> _dataRows = new List <dynamic>(); try { using (SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["RBAC_Model"].ConnectionString)) { using (var command = new SqlCommand(_report.StoredProcedureName, sqlConn) { CommandType = CommandType.StoredProcedure }) { //Read parameters... string[] _parameters = _rawParams.Split('\\'); foreach (string _param in _parameters) { try { string _paramName = _param.Substring(0, _param.IndexOf('=')).Trim(); string _paramValue = _param.Substring(_param.IndexOf('=') + 1).Trim(); if (!string.IsNullOrEmpty(_paramValue)) { dynamic _paramSqlValue = _paramValue; switch (_report.PARAMETERS.Where(p => p.ParameterName == _paramName).FirstOrDefault().ParameterType.ToLower()) { case "datetime": _paramSqlValue = FormatDate4SqlStoredProcedureParameter(DateTime.ParseExact(_paramValue, "MM/dd/yyyy", CultureInfo.InvariantCulture)); break; case "date": _paramSqlValue = FormatDate4SqlStoredProcedureParameter(DateTime.ParseExact(_paramValue, "MM/dd/yyyy", CultureInfo.InvariantCulture)); break; case "int": _paramSqlValue = int.Parse(_paramValue); break; default: _paramSqlValue = _paramValue; break; } command.Parameters.Add(new SqlParameter(_paramName, _paramSqlValue)); } } catch (Exception ex) { } } sqlConn.Open(); SqlDataReader dbReader = command.ExecuteReader(); while (dbReader.Read()) { DynamicDataRow _row = new DynamicDataRow(); for (int i = 0; i < dbReader.FieldCount; i++) { _row.AddColumn(dbReader.GetName(i), GetValue(dbReader, i), dbReader.GetDataTypeName(i).ToString()); } _dataRows.Add(_row); } sqlConn.Close(); } } } catch (Exception ex) { throw ex; } return(_dataRows); }
protected virtual DanhMucItemData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); DanhMucItemData obj = new DanhMucItemData(); obj.ID = System.Convert.ToInt32(data.ID); obj.MaLoaiDanhMuc = System.Convert.ToString(data.MaLoaiDanhMuc); obj.MaDanhMuc = System.Convert.ToString(data.MaDanhMuc); obj.TenDanhMuc = System.Convert.ToString(data.TenDanhMuc); obj.MoTa = System.Convert.ToString(data.MoTa); obj.ThuTu = System.Convert.ToInt32(data.ThuTu); obj.IntVal1 = System.Convert.ToInt32(data.IntVal1); obj.IntVal2 = System.Convert.ToInt32(data.IntVal2); obj.IntVal3 = System.Convert.ToInt32(data.IntVal3); obj.DecVal1 = System.Convert.ToDecimal(data.DecVal1); obj.DecVal2 = System.Convert.ToDecimal(data.DecVal2); obj.DecVal3 = System.Convert.ToDecimal(data.DecVal3); obj.StrVal1 = System.Convert.ToString(data.StrVal1); obj.StrVal2 = System.Convert.ToString(data.StrVal2); obj.StrVal3 = System.Convert.ToString(data.StrVal3); obj.Active = System.Convert.ToBoolean(data.Active); return obj; }
private async Task QueryRows(object query) { string where = ""; if (query != null) { where = query.ToString(); } IsLoading = true; lock (_theLock) { ListOfRows.Clear(); } if (_layerSource == null) { _layerSource = await _selectedLayer.getFeatureClass(); } if (_layerSource != null) { var data = new List <DynamicDataRow>(); await QueuedTask.Run(() => { var queryFilter = new ArcGIS.Core.Data.QueryFilter { WhereClause = where }; int maxcols = 6; RowCursor cursor = null; // Use try catch to catch invalid SQL statements in queryFilter try { cursor = _layerSource.Search(queryFilter); } catch (GeodatabaseGeneralException gdbEx) { System.Windows.MessageBox.Show("Error searching data. " + gdbEx.Message, "Search Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Exclamation); return; } if (cursor.MoveNext()) { ExtendListView.Columns = new List <ArcGIS.Core.Data.Field>(); maxcols = cursor.Current.GetFields().Count() > 6 ? 6 : cursor.Current.GetFields().Count(); for (int c = 0; c < maxcols; c++) { ExtendListView.Columns.Add(cursor.Current.GetFields()[c]); } do { var row = new DynamicDataRow(); for (int v = 0; v < maxcols; v++) { if (cursor.Current[v] != null) { row[GetName(cursor.GetFields()[v])] = cursor.Current[v].ToString(); } } data.Add(row); } while (cursor.MoveNext()); } }); lock (_theLock) { ListOfRows = null; ListOfRows = data; } } RaisePropertyChanged("ListOfRows"); Status = string.Format("{0} rows loaded", ListOfRows.Count()); IsLoading = false; }
protected virtual DanhMucData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); DanhMucData obj = new DanhMucData(); // Chú ý Int64 hoặc Int32 phụ thuộc vào kiểu - dễ lẫn chỗ này obj.MaLoaiDanhMuc = System.Convert.ToString(data.MaLoaiDanhMuc); obj.TenLoaiDanhMuc = System.Convert.ToString(data.TenLoaiDanhMuc); obj.ThuTu = System.Convert.ToInt32(data.ThuTu); obj.System = System.Convert.ToBoolean(data.System); return obj; }
protected virtual SysAccountData Convert(DataRow row) { dynamic data = new DynamicDataRow(row); SysAccountData obj = new SysAccountData(); obj.ID = System.Convert.ToInt32(data.ID); obj.Username = System.Convert.ToString(data.Username); obj.Password = System.Convert.ToString(data.Password); obj.RealName = System.Convert.ToString(data.RealName); obj.Email = System.Convert.ToString(data.Email); obj.ID_DonVis = System.Convert.ToString(data.ID_DonVis); obj.LastAccess = data.LastAccess != null ? System.Convert.ToDateTime(data.LastAccess) : (DateTime?)null; obj.Active = System.Convert.ToBoolean(data.Active); obj.AccountType = System.Convert.ToByte(data.AccountType); obj.Creator_ID = System.Convert.ToInt32(data.Creator_ID); obj.ID_DonViGoc = System.Convert.ToInt32(data.ID_DonViGoc); obj.IsUpdate = System.Convert.ToBoolean(data.IsUpdate); return obj; }