Example #1
0
 /// <summary>
 /// Evento Producido al Cambiar el Texto del Control "Código"
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void txtCodProducto_TextChanged(object sender, EventArgs e)
 {
     //Instanciando producto
     using (SAT_CL.Despacho.DevolucionFaltanteProducto prod = DevolucionFaltanteProducto.ObtieneProducto(txtCodProducto.Text))
     {
         //Validando si existe el producto
         if (prod.habilitar)
         {
             //Asignando Descripción
             txtDescripcionProd.Text = prod.descripcion_producto;
         }
         else
         {
             //Asignando Descripción
             txtDescripcionProd.Text = "";
         }
     }
 }
Example #2
0
        /// <summary>
        /// Método encargado de Guardar el Detalle de la Devolución
        /// </summary>
        /// <returns></returns>
        public RetornoOperacion GuardaDetalleDevolucion()
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result    = new RetornoOperacion();
            int id_producto_devolucion = 0;

            //Inicializando Transacción
            using (TransactionScope trans = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Validando que exista el Registro
                if (_objDevolucionFaltante.habilitar)
                {
                    //Validando que exista un Selección
                    if (gvDetalles.SelectedIndex != -1)
                    {
                        //Instanciando Detalle
                        using (DevolucionFaltanteDetalle dfd = new DevolucionFaltanteDetalle(Convert.ToInt32(gvDetalles.SelectedDataKey["Id"])))
                        {
                            //Validando que exista un Detalle
                            if (dfd.id_devolucion_faltante_detalle > 0)
                            {
                                //Obteniendo Producto
                                using (DevolucionFaltanteProducto producto = DevolucionFaltanteProducto.ObtieneProducto(txtCodProducto.Text))
                                {
                                    //Validando que exista el Producto
                                    if (!producto.habilitar)
                                    {
                                        //Insertando Producto
                                        result = DevolucionFaltanteProducto.InsertarDevolucionFaltanteProducto(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor,
                                                                                                               txtDescripcionProd.Text.ToUpper(), txtCodProducto.Text.ToUpper(), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                    }
                                    else
                                    {
                                        //Asignando Resultado Positivo
                                        result = new RetornoOperacion(producto.id_devolucion_faltante_producto, "", true);
                                    }
                                }

                                //Validando Operación Exitosa
                                if (result.OperacionExitosa)
                                {
                                    //Asignando Producto
                                    id_producto_devolucion = result.IdRegistro;

                                    //Editando Detalle
                                    result = dfd.EditaDevolucionFaltanteDetalle(dfd.id_devolucion_faltante, (DevolucionFaltanteDetalle.EstatusDevolucionDetalle)Convert.ToByte(ddlEstatusDet.SelectedValue),
                                                                                id_producto_devolucion, Convert.ToDecimal(txtCantidad.Text == "" ? "0" : txtCantidad.Text),
                                                                                Convert.ToByte(ddlUnidad.SelectedValue), txtCodProducto.Text.ToUpper(), txtDescripcionProd.Text.ToUpper(),
                                                                                (DevolucionFaltanteDetalle.RazonDetalle)Convert.ToInt32(ddlRazonDet.SelectedValue),
                                                                                ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                }
                            }
                            else
                            {
                                //Instanciando Excepción
                                result = new RetornoOperacion("No Existe el Detalle");
                            }
                        }
                    }
                    else
                    {
                        //Obteniendo Producto
                        using (DevolucionFaltanteProducto producto = DevolucionFaltanteProducto.ObtieneProducto(txtCodProducto.Text))
                        {
                            //Validando que exista el Producto
                            if (!producto.habilitar)
                            {
                                //Insertando Producto
                                result = DevolucionFaltanteProducto.InsertarDevolucionFaltanteProducto(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor,
                                                                                                       txtDescripcionProd.Text.ToUpper(), txtCodProducto.Text.ToUpper(), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                            }
                            else
                            {
                                //Asignando Resultado Positivo
                                result = new RetornoOperacion(producto.id_devolucion_faltante_producto, "", true);
                            }
                        }

                        //Validando Operación Exitosa
                        if (result.OperacionExitosa)
                        {
                            //Asignando Producto
                            id_producto_devolucion = result.IdRegistro;

                            //Insertando Devolución
                            result = DevolucionFaltanteDetalle.InsertaDevolucionFaltanteDetalle(_objDevolucionFaltante.id_devolucion_faltante, id_producto_devolucion,
                                                                                                Convert.ToDecimal(txtCantidad.Text == "" ? "0" : txtCantidad.Text), Convert.ToByte(ddlUnidad.SelectedValue),
                                                                                                Cadena.RegresaCadenaSeparada(txtCodProducto.Text, "ID:", 0, "0").ToUpper(), Cadena.RegresaCadenaSeparada(txtDescripcionProd.Text, "ID:", 0, "0").ToUpper(),
                                                                                                (DevolucionFaltanteDetalle.RazonDetalle)Convert.ToInt32(ddlRazonDet.SelectedValue), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                        }
                    }
                }
                else
                {
                    //Instanciando Excepción
                    result = new RetornoOperacion("No existe la Devolución");
                }

                //Validando que la Operación haya sido Exitosa
                if (result.OperacionExitosa)
                {
                    //Completando Transacción
                    trans.Complete();
                }
            }


            //Validando que la Operación fuese Exitosa
            if (result.OperacionExitosa)
            {
                //Inicializando Devolución
                InicializaDevolucion(this._objDevolucionFaltante.id_devolucion_faltante);

                //Limpiando Controles
                limpiaControles();
            }

            //Mostrando Mensaje
            ScriptServer.MuestraNotificacion(this.Page, result, ScriptServer.PosicionNotificacion.AbajoDerecha);

            //Devolviendo Resultado Obtenido
            return(result);
        }