Array
(
)

Carregar em uma variável de sessão

Pjava
   - 04 nov 2011

Pessoal, tenho seguinte problema. Na aplicação em que eu trabalho, temos algo que chamamos de campos customizáveis. Esses campos são campos q o usuário cria para trabalhar. Esses campos já sõa pré-programados. Acontece que eles são carregados na sessão e pelo que vi em meu projeto, não há em nenhum lugar esses campos sendo carregados. Logo no grid eles vêm vazios. Preciso então carregá-los em uma sessão, pois o sistema busca eles de uma sessão. Então vem a pergunta? Como eu faço isso?
Abaixo a parte em q os campos fixos são carregados e os customizáveis
List<IndiceCustom> listaCustomizaveis = (List<IndiceCustom>) Session[parametrosCustomizaveis];
DataTable dt;
if (Session[DOC_dataTable] == null)
{
dt = new DataTable();
dt.Columns.Add(new DataColumn(departamento, typeof (String)));
dt.Columns.Add(new DataColumn(endereco, typeof (String)));
dt.Columns.Add(new DataColumn(tipo_documento, typeof (String)));
dt.Columns.Add(new DataColumn(complemento, typeof (String)));
dt.Columns.Add(new DataColumn(data_inicial, typeof (DateTime)));
dt.Columns.Add(new DataColumn(data_final, typeof (DateTime)));
dt.Columns.Add(new DataColumn(previsao_expurgo, typeof (DateTime)));
dt.Columns.Add(new DataColumn(sequencia_inicial, typeof (Int32)));
dt.Columns.Add(new DataColumn(sequencia_final, typeof (Int32)));
dt.Columns.Add(new DataColumn(descricao, typeof (String)));
dt.Columns.Add(new DataColumn(cod_documento, typeof (Int32)));
dt.Columns.Add(new DataColumn(cod_caixa, typeof (Int32)));
dt.Columns.Add(new DataColumn(cod_tipo_documento, typeof (Int32)));
// Colunas que estavam sendo adicionadas em documento_solicitação. (Porque lá não sei)
dt.Columns.Add(new DataColumn(cod_xtipo_os, typeof (int)));
dt.Columns.Add(new DataColumn(forma_atendimento, typeof (string)));
if (listaCustomizaveis != null)
{
foreach (IndiceCustom ic in listaCustomizaveis)
{
dt.Columns.Add(new DataColumn(ic.Titulo, typeof (string)));
}
}
}
else
{
dt = (DataTable) Session[DOC_dataTable];
}

Rodrigo Odasaki
   - 03 dez 2011

Cara você não pode fazer assim:

CamposCustomizados camposcustomizados = new CamposCustomizados()
{
campoA = SessionUsuario.campoA,
campoB = SessionUsuario.campoB,
campoC = SessionUsuario.campoC,
campoD = SessionUsuario.campoD
};

E depois salva o objeto no banco. utilizando LINQ ou ADO