Ejemplo n.º 1
0
        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                IGuia oGuia = GuiaFactory.GetGuia();
                IGuiaServicioConfirmacion oGuiaServ = GuiaServicioConfirmacionFactory.GetGuiaServicioConfirmacion();
                DsGuias ds = new DsGuias();
                DsGuiaServicioConfirmacion dsGuiaServ = new DsGuiaServicioConfirmacion();

                if (this.rbCodigo.Checked)
                {
                    try
                    {
                        oGuia.TipoGuia = NegociosSisPackInterface.SisPack.TipoGuia(this.txtCodigoBarra.Text.Substring(0, 1).Trim()).Trim();

                        if (oGuia.TipoGuia.Equals(""))
                        {
                            throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");
                        }

                        oGuia.NroSucursalGuia = this.txtCodigoBarra.Text.Substring(1, 4);
                        oGuia.NroGuia         = Convert.ToInt32(this.txtCodigoBarra.Text.Substring(5));
                        ds = oGuia.GetGuiaOneServicio();
                    }
                    catch (Exception)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado un nro. de guía correcto.");
                        return;
                    }
                }
                else if (this.rbTipo.Checked)
                {
                    oGuia.TipoGuia        = this.ddlTipoGuia.SelectedValue;
                    oGuia.NroSucursalGuia = this.txtNroSucursal.Text.Trim().Equals("") ? "0" : this.txtNroSucursal.Text.Trim();
                    oGuia.NroGuia         = this.txtNroGuia.Text.Trim().Equals("") ? 0 : Convert.ToInt32(this.txtNroGuia.Text.Trim());
                    ds = oGuia.GetGuiaOneServicio();
                }
                else if (rbRemito.Checked)
                {
                    ds = oGuia.GetGuiaByRemitoDataSet(txtNroRemito.Text);
                    if (ds.Datos.Count > 0)
                    {
                        oGuia.GuiaID          = Convert.ToInt32(ds.Datos.Rows[0]["GuiaID"].ToString());
                        oGuia.NroGuia         = Convert.ToInt32(ds.Datos.Rows[0]["NroGuia"].ToString());
                        oGuia.NroSucursalGuia = ds.Datos.Rows[0]["NroSucursalGuia"].ToString();
                        oGuia.TipoGuia        = ds.Datos.Rows[0]["TipoGuia"].ToString();
                    }
                }
                else
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado el nro. de guía .");
                    return;
                }

                if (ds.Datos.Count == 0)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("El nro. de guía no es correcto o no tiene asociado un servicio a confirmar.");
                    return;
                }

                oGuiaServ.GuiaID = oGuia.GuiaID;
                dsGuiaServ       = oGuiaServ.Consultar();

                if (dsGuiaServ.Datos.Count > 0)
                {
                    lblMensaje.Text     = "La guia ya ha sido confirmada";
                    butImprimir.Enabled = true;
                    btnGuardar.Enabled  = false;
                    return;
                }
                else
                {
                    hdnRemito.Value     = ds.Datos.Rows[0]["Observaciones"].ToString(); // en Observaciones viene guardado el numero de remito
                    lblMensaje.Text     = "La guia se encuentra en condiciones de confirmar su servicio";
                    butImprimir.Enabled = false;
                    btnGuardar.Enabled  = true;
                }

                txtNroGuia.Text           = oGuia.NroGuia.ToString();
                txtNroSucursal.Text       = oGuia.NroSucursalGuia;
                ddlTipoGuia.SelectedValue = oGuia.TipoGuia;

                txtCodigoBarra.Text = (oGuia.TipoGuia == "R" ? "9" : (oGuia.TipoGuia == "A" ? "3" : "4")) + oGuia.NroSucursalGuia + oGuia.NroGuia.ToString();

                Session["GuiaConfirmacion"] = ds;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }