Ejemplo n.º 1
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            try
            {
                string modalidadEntregaID = this.ddlModalidadEntrega.SelectedValue;
                string productoID         = this.ddlProducto.SelectedValue;
                string tiempoEntregaID    = this.ddlTiempoEntrega.SelectedValue;

                string servicioID           = this.ddlServicio.SelectedValue;       //this.txtServicioIDSel.Text;
                string codigoBarras         = this.txtCodigoBarrasTotal.Text;
                string valorDeclarado       = this.txtValorDeclarado.Text;
                string estadoCodigoBarrasID = this.txtPrevendido.Text;
                string importeCR            = this.txtImporteCR.Text;

                // obtengo la unidad de venta que se forma con todo lo seleccionado en los combos
                IUnidadVenta unidadVenta   = UnidadVentaFactory.GetUnidadVenta();
                int          uvID          = unidadVenta.GetUnidadVentaByProdTEServicio(Utiles.Validaciones.obtieneEntero(productoID), Utiles.Validaciones.obtieneEntero(tiempoEntregaID), servicioID.Replace(";", ","));
                string       unidadVentaID = Convert.ToString(uvID);

                // verifico que la agencia contenga los servicios que tiene la unidad de venta seleccionada
                // ya que si NO los tiene, no podrá emitir dicha unidad de venta
                if (!this.AgenciaContieneServicio(uvID, 0, this.AgenciaConectadaID))
                {
                    throw new Exception("Errores.Invalidos.AgenciaServiciosUVenta");
                }

                //------------ Controlo que el código de barras utilizado se haya prevendido
                // al mismo cliente que abona la guía
                if (estadoCodigoBarrasID == "1")                 //prevendido
                {
                    // devuelve 'true' si el codigo de barras fue prevendido a un cliente (o agencia)
                    // y este es igual al remitente de la guia, o bien, si el código no
                    // fue prevendido a un cliente (o agencia), o si fue asignado
                    IAdministrarGuias admGuiaO = AdministrarGuiasFactory.GetAdministrarGuias();
                    admGuiaO.ClienteCorp.ClienteID = Session["ClienteCorp.ClienteID"] != null?Convert.ToInt32(Session["ClienteCorp.ClienteID"]) : 0;                       //obtener de la session

                    admGuiaO.AgenciaConectadaID = this.AgenciaConectadaID;
                    int valido = admGuiaO.EsCodigoPrevendidoAcliente(codigoBarras);
                    if (valido == 1)
                    {
                        throw new Exception("ATENCIÓN: El código de barras ingresado fue prevendido a otro cliente.");
                        //Page.RegisterStartupScript("muestraMensaje",SisPackController.GenerarJavaScripts.MostrarMensaje("ATENCIÓN: El código de barras utilizado fue prevendido a otro cliente."));
                        //Session["AdmGuia"] = admGuiaO;
                    }
                    else if (valido == 2)
                    {
                        throw new Exception("ATENCIÓN: El código de barras ingresado fue prevendido a otra agencia.");
                        //Page.RegisterStartupScript("muestraMensaje",SisPackController.GenerarJavaScripts.MostrarMensaje("ATENCIÓN: El código de barras utilizado fue prevendido a otro agencia."));
                        //Session["AdmGuia"] = admGuiaO;
                    }
                }
                //------------------------


                //obtengo el valor declarado si el codigo de barra está asociado a una unidad de venta
                //y si el mismo fue prevendido
                //ICodigoBarras codigoBarras = CodigoBarrasFactory.GetCodigoBarras();
                //codigoBarras

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                scriptString.Append("window.dialogArguments.UnidadVentaID = '" + unidadVentaID + "';\n");
                scriptString.Append("window.dialogArguments.ModalidadEntregaID = '" + modalidadEntregaID + "';\n");
                scriptString.Append("window.dialogArguments.ProductoID = '" + productoID + "';\n");
                scriptString.Append("window.dialogArguments.TiempoEntregaID = '" + tiempoEntregaID + "';\n");
                scriptString.Append("window.dialogArguments.CodigoBarras = '" + codigoBarras + "';\n");
                scriptString.Append("window.dialogArguments.ServicioID = '" + servicioID + "';\n");
                scriptString.Append("window.dialogArguments.ValorDeclarado ='" + valorDeclarado + "';\n");
                scriptString.Append("window.dialogArguments.ImporteCR ='" + importeCR + "';\n");
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scriptModalCliente", scriptString.ToString());
            }
            catch (Exception ex)
            {
                this.ManejaErrores(ex);
            }
        }