private object GetValue(DataCommandParameter p, object Value) { object retVal = null; switch (p.Type) { case DataCommandParameterType.Guid: if (Value != null) { if (Value.ToString() == String.Empty) { retVal = DBNull.Value; } else { retVal = new Guid(Value.ToString()); } } break; case DataCommandParameterType.Int32: if (Value != null) { if (Value.ToString() == String.Empty) { retVal = DBNull.Value; } else { retVal = Value; } } break; default: if (Value != null) { if (Value.ToString() == String.Empty) { retVal = DBNull.Value; } else { retVal = Value; } } break; } return(retVal); }
private void AddInParameter(Database db, DbCommand command, DataCommandParameter p, object value) { if (p.IsUserDefinedType) { if (p.IsTableType) { //db.AddInParameter AddTableValueParameter(db, command, p.Name, p.TypeName, GetValue(p, value), ','); } } else { db.AddInParameter(command, p.Name, (DbType)Enum.Parse(typeof(DbType), p.Type.ToString()), GetValue(p, value)); } }
private void RefreshDataCommandParameters(ScreenDataCommand item) { //get data command DataCommand c = DataCommand.GetDataCommand(item.Name); if (c != null) { //loop through screen data command parameters List <ScreenDataCommandParameter> remove = new List <ScreenDataCommandParameter>(); foreach (ScreenDataCommandParameter p in item.Parameters) { ScreenDataCommandParameter localP = p; if (!c.Parameters.Exists(x => x.Name == localP.Name)) { remove.Add(localP); } } //are there any missing from data command - if so remove foreach (ScreenDataCommandParameter p in remove) { item.Parameters.Remove(p); } //loop through data command parameters foreach (DataCommandParameter p in c.Parameters) { DataCommandParameter localP = p; if (!item.Parameters.Exists(x => x.Name == localP.Name)) { //are there any missing from screen command parameters - if so add with control as default ScreenDataCommandParameter sp = new ScreenDataCommandParameter(); sp.InputType = ScreenInputType.Control; sp.Name = p.Name; sp.InputKey = p.Name.Replace("@", "").Replace("'", "").Replace(" ", ""); item.Parameters.Add(sp); } } } }