0

DataSet Desconectado

Posted by Fabio's Blog on 19:51
----------------------------------------------------------
UTILIZADO PARA CARREGAR O DATASET DESCONECTADO
----------------------------------------------------------

                    // carrega os dados da tabela TB_TERR_MARC no dataset desconectado
                    DataSet v_obj_ds_marc = new DataSet();
                    POGWEB.WSConsulta.Consulta WSConsulta_marc = WSInvoke.CarregarWebServiceConsulta();
                    v_obj_ds_marc = WSConsulta_marc.SP_DIST_TB_TERR_MARC_S("S"
                                                            , this.id_terr
                                                            , null
                                                            , null
                                                            , null
                                                            , Context.User.Identity.Name.ToString().Trim()
                                                            , "S"
                                                            , null
                                                            , null);

                    Session.Remove("TB_TERR_MARC");

                    this.uct_cbo_dist.SelectedIndex = -1;
                    this.uct_cbo_marc.SelectedIndex = -1;

                    if (v_obj_ds_marc.Tables[0].Rows.Count > 0)
                    {
                        foreach (DataRow row in v_obj_ds_marc.Tables[0].Rows)
                        {
                            this.GravarTabelaTemporaria(row["id_dist"].ToString()
                                                    , row["id_marc"].ToString()
                                                    , row["nm_dist"].ToString()
                                                    , row["ds_marc"].ToString());
                        }
                    }

                    v_obj_ds_marc.Dispose();
                    this.CarregarGridDistrito();

---------------------------------------------------------------
FUNÇÕES PARA CRIAR O DATASET DESCONECTADO E GRAVAR
---------------------------------------------------------------

#region Tabela Temporária

        /// <summary>
        /// Cria DataSet que contera os dados
        /// </summary>
        /// <returns>DataSet Formatado</returns>
        private DataSet CriarTabela()
        {
            DataSet v_ds_tabl = new DataSet();
            if (Session["TB_TERR_MARC"] == null)
            {
                DataTable v_dt_tabl = new DataTable("TB_TERR_MARC");

                v_dt_tabl.Columns.Add("id_dist", typeof(string));
                v_dt_tabl.Columns.Add("id_marc", typeof(string));
                v_dt_tabl.Columns.Add("nm_dist", typeof(string));
                v_dt_tabl.Columns.Add("nm_marc", typeof(string));
                v_ds_tabl.Tables.Add(v_dt_tabl);
            }
            else
            {
                v_ds_tabl = (DataSet)Session["TB_TERR_MARC"];
            }

            return v_ds_tabl;
        }

        /// <summary>
        /// Grava Tabela Temporária
        /// </summary>
        /// <returns></returns>
        private bool GravarTabelaTemporaria(string pa_id_dist
                                            , string pa_id_marc
                                            , string pa_nm_dist
                                            , string pa_nm_marc)
        {
            try
            {
                DataSet v_ds_tabl = new DataSet();

                v_ds_tabl = CriarTabela();

                // Verifica se já existe no grid
                DataRow[] rows = v_ds_tabl.Tables[0].Select("id_dist = '" + pa_id_dist.Trim() + "' and id_marc = '" + pa_id_marc.Trim() + "'");
                if (rows.Length != 0)
                {
                    this.uct_lbl_msg.MessageType = LabelMessageType.Alerta;
                    this.uct_lbl_msg.Text = "Marca e Distrito já cadastrado.";
                    return false;
                }


                DataRow v_ds_row = v_ds_tabl.Tables[0].NewRow();
                v_ds_row["id_dist"] = pa_id_dist.ToString();
                v_ds_row["id_marc"] = pa_id_marc.ToString();
                v_ds_row["nm_dist"] = pa_nm_dist.ToString();
                v_ds_row["nm_marc"] = pa_nm_marc.ToString();

                v_ds_tabl.Tables[0].Rows.Add(v_ds_row);
                v_ds_tabl.AcceptChanges();

                Session.Add(v_ds_tabl.Tables[0].TableName.ToString(), v_ds_tabl);

                return true;
            }
            catch (Exception ex)
            {
                this.uct_lbl_msg.MessageType = LabelMessageType.Error;
                this.uct_lbl_msg.Text = String.Format(Mensagem.ObterMensagem(16), ex.Message);
                return false;
            }

        }

        #endregion Tabela Temporária

--------------------------------------------------------------------------------------------------------------
CAPTURANDO OS DADOS DO DATASET DESCONECTADO E PASSANDO PARA GRAVAÇÃO NO BANCO DE DADOS
--------------------------------------------------------------------------------------------------------------

                System.Text.StringBuilder sb_id_dist = new System.Text.StringBuilder();
                System.Text.StringBuilder sb_id_marc = new System.Text.StringBuilder();

                if (Session["TB_TERR_MARC"] != null)
                {
                    DataSet v_obj_ds = new DataSet();
                    v_obj_ds = CriarTabela();

                    if (v_obj_ds.Tables[0].Rows.Count > 0)
                    {
                        foreach (DataRow row in v_obj_ds.Tables[0].Rows)
                        {
                            sb_id_dist.Append(row["id_dist"].ToString().Trim() + "|");
                            sb_id_marc.Append(row["id_marc"].ToString().Trim() + "|");
                        }
                    }
                }

                if (sb_id_dist.ToString().Equals(""))
                {
                    this.uct_lbl_msg.MessageType = LabelMessageType.Alerta;
                    this.uct_lbl_msg.Text = Mensagem.ObterMensagem(263);
                    return;
                }

Copyright © 2009 Fabio's Blog All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive. Distribuído por Templates