private void dtgLocalidades_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        {
            DsCodigoPostalEntrega ds = new DsCodigoPostalEntrega();

            ds = (DsCodigoPostalEntrega)Session["DsCodigoPostalEntregaCliente"];
            foreach (DataGridItem item in dtgLocalidades.Items)
            {
                DsCodigoPostalEntrega.DatosRow dr = (DsCodigoPostalEntrega.DatosRow)ds.Datos.Rows[item.DataSetIndex];
                CheckBox chk = (CheckBox)item.FindControl("chkAsignar");
                dr.Seleccionado = chk.Checked;
            }
            Session["DsCodigoPostalEntregaCliente"] = ds;
            BindGridPaginacion(e.NewPageIndex);
        }
        private void BindGrid(int currentPage)
        {
            try
            {
                SisPackController.AdministrarGrillas.Configurar(dtgLocalidades, "LocalidadID", 400);

                ICodigoPostalRetiro codigoPostalRetiro = CodigoPostalRetiroFactory.GetCodigoPostal();
                codigoPostalRetiro.ProvinciaID   = Utiles.Validaciones.obtieneEntero(ddlProvincia.SelectedValue);
                codigoPostalRetiro.CPDesdeFiltro = txtCodigoPostalDesde.Text;
                codigoPostalRetiro.CPHastaFiltro = txtCodigoPostalHasta.Text;
                string agrupacion        = txtAgrupacion.Text;
                string calle             = txtCalle.Text;
                DsCodigoPostalEntrega ds = codigoPostalRetiro.GetCodigoPostalEntregaByUnidadVentaID(UnidadVentaID, agrupacion, calle);

                IProvincia provincia = ProvinciaFactory.GetProvincia();
                provincia.ProvinciaID = codigoPostalRetiro.ProvinciaID;
                provincia.Consultar();
                lblProvinciaSel.Text = provincia.ProvinciaDescrip;
                txtProvinciaSel.Text = provincia.ProvinciaID.ToString();
                lblPais.Text         = provincia.Pais.PaisDescrip;
                txtPaisSel.Text      = provincia.Pais.PaisID.ToString();
                chkPais.Visible      = true;
                chkProvincia.Visible = true;

                dtgLocalidades.DataSource = ds;
                dtgLocalidades.DataBind();
                Session["DsCodigoPostalEntregaCliente"] = ds;

                if (ds.Datos.Count > 0)
                {
                    this.dtgLocalidades.CurrentPageIndex = currentPage;
                    this.dtgLocalidades.DataSource       = ds;
                    this.dtgLocalidades.DataBind();
                    MostrarBotones(true);
                }

                if (Utiles.Validaciones.obtieneEntero(this.ddlProvincia.SelectedValue) == (int)NegociosSisPackInterface.SisPack.Provincia.BsAs)
                {
                    dtgLocalidades.Columns[6].Visible = true;
                }
                else
                {
                    dtgLocalidades.Columns[6].Visible = false;
                }
            }
            catch (Exception ex)
            {
                ManejaErrores(ex);
            }
        }
Exemple #3
0
        public DsCodigoPostalEntrega GetCodigoPostalEntregaByUnidadVentaID(int UnidadVentaID, string Agrupacion, string CalleDescrip)
        {
            DsCodigoPostalEntrega ds = new DsCodigoPostalEntrega();
            SqlParameter pProvinciaID = new SqlParameter("@ProvinciaID", this.ProvinciaID);
            SqlParameter pCPDesdeFiltro = new SqlParameter("@CPDesdeFiltro", this.CPDesdeFiltro);
            SqlParameter pCPHastaFiltro = new SqlParameter("@CPHastaFiltro", this.CPHastaFiltro);
            SqlParameter pLocalidadDescrip = new SqlParameter("@LocalidadDescrip", string.Empty);
            SqlParameter pUnidadVentaDescrip = new SqlParameter("@UnidadVentaDescrip", string.Empty);
            SqlParameter pTarifarioDescrip = new SqlParameter("@TarifarioDescrip", string.Empty);
            SqlParameter pUnidadVentaID = new SqlParameter("@UnidadVentaID", UnidadVentaID);
            SqlParameter pAgrupacion = new SqlParameter("@Agrupacion", Agrupacion);
            SqlParameter pCalleDescrip = new SqlParameter("@CalleDescrip", CalleDescrip);

            Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "CodigosPostalesEntregaByUnidadVentaIDALL", pProvinciaID, pCPDesdeFiltro, pCPHastaFiltro, pLocalidadDescrip, pUnidadVentaDescrip, pTarifarioDescrip, pUnidadVentaID, pAgrupacion, pCalleDescrip);

            return ds;
        }
        private void Validaciones()
        {
            bool tieneLocalidades = false;

            if (Utiles.Validaciones.obtieneEntero(this.txtTarifarioRetiroEntregaID.Text) == 0)
            {
                throw new Exception("Debe seleccionar un Tarifario Retiro/Entrega.");
            }

            if (chkPais.Checked || chkProvincia.Checked)
            {
                tieneLocalidades = true;
            }

            for (int i = 0; i < lstAgrupacionRetiroEntrega.Items.Count; i++)
            {
                if (lstAgrupacionRetiroEntrega.Items[i].Selected)
                {
                    tieneLocalidades = true; break;
                }
            }
            if (!tieneLocalidades)
            {
                DsCodigoPostalEntrega ds = (DsCodigoPostalEntrega)Session["DsCodigoPostalEntregaCliente"];
                foreach (DataGridItem item in dtgLocalidades.Items)
                {
                    DsCodigoPostalEntrega.DatosRow dr = (DsCodigoPostalEntrega.DatosRow)ds.Datos.Rows[item.DataSetIndex];
                    CheckBox chk = (CheckBox)item.FindControl("chkAsignar");
                    dr.Seleccionado = chk.Checked;
                    if (dr.Seleccionado)
                    {
                        tieneLocalidades = true; break;
                    }
                }
            }

            if (!tieneLocalidades)
            {
                throw new Exception("Debe seleccionar un Codigo Postal, Provincia, País o Agrupacion.");
            }
        }
        private void BindGridPaginacion(int currentPage)
        {
            try
            {
                SisPackController.AdministrarGrillas.Configurar(dtgLocalidades, "LocalidadID", 400);
                DsCodigoPostalEntrega ds = (DsCodigoPostalEntrega)Session["DsCodigoPostalEntregaCliente"];
                dtgLocalidades.DataSource = ds;
                dtgLocalidades.DataBind();

                if (ds.Datos.Count > 0)
                {
                    this.dtgLocalidades.CurrentPageIndex = currentPage;
                    this.dtgLocalidades.DataSource       = ds;
                    this.dtgLocalidades.DataBind();
                }
            }
            catch (Exception ex)
            {
                ManejaErrores(ex);
            }
        }
        private void Guardar()
        {
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }
            Validaciones();

            DsCodigoPostalEntrega ds = (DsCodigoPostalEntrega)Session["DsCodigoPostalEntregaCliente"];

            foreach (DataGridItem item in dtgLocalidades.Items)
            {
                DsCodigoPostalEntrega.DatosRow dr = (DsCodigoPostalEntrega.DatosRow)ds.Datos.Rows[item.DataSetIndex];
                CheckBox chk = (CheckBox)item.FindControl("chkAsignar");
                dr.Seleccionado = chk.Checked;
            }
            Session["DsCodigoPostalEntregaCliente"] = ds;

            ICodigoPostalEntregaCliente codigoPostalEntrega = CodigoPostalEntregaClienteFactory.GetCodigoPostalEntregaCliente();

            codigoPostalEntrega.CodigoPostalEntregaClienteID    = 0;
            codigoPostalEntrega.TarifarioClienteRetiroEntregaID = Utiles.Validaciones.obtieneEntero(this.txtTarifarioRetiroEntregaID.Text);
            codigoPostalEntrega.ClienteID = ClienteID;
            codigoPostalEntrega.UnidadesVentas.Add(UnidadVentaID);

            //Se guarda la provincia como entrega
            if (chkProvincia.Checked)
            {
                if (Utiles.Validaciones.obtieneEntero(txtProvinciaSel.Text) == 0)
                {
                    throw new Exception("Debe seleccionar la provincia.");
                }
                else
                {
                    codigoPostalEntrega.ProvinciaID = Utiles.Validaciones.obtieneEntero(txtProvinciaSel.Text);
                }
            }

            //Se guarda el pais como entrega
            if (chkPais.Checked)
            {
                if (Utiles.Validaciones.obtieneEntero(txtPaisSel.Text) == 0)
                {
                    throw new Exception("Debe seleccionar el pais.");
                }
                else
                {
                    codigoPostalEntrega.PaisID = Utiles.Validaciones.obtieneEntero(txtPaisSel.Text);
                }
            }

            // Se guardan las agrupaciones como entregas
            for (int i = 0; i < lstAgrupacionRetiroEntrega.Items.Count; i++)
            {
                if (lstAgrupacionRetiroEntrega.Items[i].Selected)
                {
                    codigoPostalEntrega.Agrupaciones.Add(Utiles.Validaciones.obtieneEntero(lstAgrupacionRetiroEntrega.Items[i].Value));
                }
            }

            if (ds != null)
            {
                // Se guardan las localidades como entregas
                foreach (DsCodigoPostalEntrega.DatosRow dr in ds.Datos)
                {
                    if ((dr.IsSeleccionadoNull() ? false : dr.Seleccionado) == true)
                    {
                        codigoPostalEntrega.Localidades.Add(dr.LocalidadID);
                        codigoPostalEntrega.CodigosPostales.Add(dr.IsCodigoPostalIDNull() ? 0 : dr.CodigoPostalID);
                    }
                }
            }

            codigoPostalEntrega.Guardar(usuario);

            HGDataBind(false);
            LimpiarSeleccion();

            string script = "";

            script += "			alert('Los datos se guardaron correctamente.');\n";

            ScriptManager.RegisterClientScriptBlock(this.UpdatePanel2,
                                                    UpdatePanel2.GetType(),
                                                    "muestraMensaje",
                                                    script,
                                                    true);

            Consultar();
            ConsultarAsignadas();
        }