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); } }