string widgets = MercatorUi.Globals.CurrentUserRecord.WIDGETS;
DataTable dt;
if (string.IsNullOrEmpty(widgets))
{
dt = new DataTable("Widgets");
dt.Columns.Add("file", typeof(string));
dt.Columns.Add("location", typeof(System.Drawing.Point));
dt.Columns.Add("className", typeof(string));
dt.Columns.Add("size", typeof(System.Drawing.Size));
}
else
{
DataSet ds = Api.DataSetFromXmlString(widgets);
dt = ds.Tables[0];
}
// ici on effectue des modifications sur la DataTable dt
string widgetsNew;
if (dt.Rows.Count == 0)
widgetsNew = "";
else
widgetsNew = Api.DataTableToXmlString(dt);
using (SqlCommand cmd = new SqlCommand("update USERS set widgets = @widgetsNew where id = @id"))
{
cmd.Parameters.AddWithValue("@widgetsNew", widgetsNew).SqlDbType = SqlDbType.VarChar;
cmd.Parameters.AddWithValue("@id", Globals.UserId).SqlDbType = SqlDbType.Char;
Api.SqlExec(MercatorUi.Globals.RepData, cmd);
}