Esempio n. 1
0
        /// <summary>
        /// Método encargado de Guardar las Facturas de Otros Servicios
        /// </summary>
        private void guardaFacturaOtros()
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Validando Estatus
            switch ((Pagina.Estatus)Session["estatus"])
            {
            case Pagina.Estatus.Nuevo:
            {
                //Inicializando Bloque Transaccional
                using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                {
                    //Guardando Factura
                    result = ucFacturado.GuardaFactura();

                    //Validando que se haya Insertado la Factura
                    if (result.OperacionExitosa)
                    {
                        //Guardando Factura
                        int idFactura = result.IdRegistro;

                        //Insertando Facturación de Otros Servicios
                        result = SAT_CL.Facturacion.FacturacionOtros.InsertaFacturacionOtros(idFactura, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCompaniaEmisor.Text, "ID:", 1)),
                                                                                             Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtClienteReceptor.Text, "ID:", 1)), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                        //Validando que se insertara la Facturación de Otros
                        if (result.OperacionExitosa)
                        {
                            //Completando Transacción
                            trans.Complete();
                        }
                    }
                }

                break;
            }

            case Pagina.Estatus.Edicion:
            {
                //Instanciando la Factura de Otro Servicio
                using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"])))
                {
                    //Validando que Exista el Registro
                    if (fo.id_facturacion_otros > 0)
                    {
                        //Editando la Factura de Otro Servicio
                        result = fo.EditaFacturacionOtros(fo.id_facturado, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCompaniaEmisor.Text, "ID:", 1)),
                                                          Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtClienteReceptor.Text, "ID:", 1)), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                    }
                }

                break;
            }
            }

            //Validando que la Operación fuese Exitosa
            if (result.OperacionExitosa)
            {
                //Asignando el Registro a Session
                Session["id_registro"] = result.IdRegistro;
                Session["estatus"]     = Pagina.Estatus.Lectura;

                //Inicializando Página
                inicializaPagina();
            }

            //Asignando Mensaje de la Operación
            lblError.Text = result.Mensaje;
        }