예제 #1
0
파일: Comprobacion.cs 프로젝트: lulzzz/SAT
 /// <summary>
 /// Método Público encargado de Editar las Comprobaciones
 /// </summary>
 /// <param name="id_deposito">Deposito de la Comprobación</param>
 /// <param name="id_concepto_comprobacion">Concepto de la Comprobación</param>
 /// <param name="id_autorizacion_comprobacion">Autorización de la Comprobación</param>
 /// <param name="observacion_comprobacion">Observación de la Comprobación</param>
 /// <param name="bit_transferencia">Estatus de Transferencia</param>
 /// <param name="id_transferencia">Referencia de la Transferencia</param>
 /// <param name="id_usuario">Usuario que Actualiza el Registro</param>
 /// <returns></returns>
 public RetornoOperacion EditaComprobacion(int id_deposito, int id_concepto_comprobacion, int id_autorizacion_comprobacion, string observacion_comprobacion,
                                           bool bit_transferencia, int id_transferencia, SAT_CL.EgresoServicio.DetalleLiquidacion.Estatus estatus, int id_unidad, int id_operador, int id_proveedor, int id_servicio, int id_movimiento,
                                           DateTime fecha_liquidacion, int id_liquidacion, decimal cantidad, decimal valor_unitario, int id_usuario)
 {
     //Devolviendo Resultado Obtenido
     return(this.actualizaRegistro(id_deposito, id_concepto_comprobacion, id_autorizacion_comprobacion, observacion_comprobacion,
                                   bit_transferencia, id_transferencia, estatus, id_unidad, id_operador, id_proveedor, id_servicio, id_movimiento,
                                   fecha_liquidacion, id_liquidacion, cantidad, valor_unitario, id_usuario, this._habilitar));
 }
예제 #2
0
파일: Comprobacion.cs 프로젝트: lulzzz/SAT
        /// <summary>
        /// Método Público encargado de Insertar las Comprobaciones
        /// </summary>
        /// <param name="id_deposito">Deposito de la Comprobación</param>
        /// <param name="id_concepto_comprobacion">Concepto de la Comprobación</param>
        /// <param name="id_autorizacion_comprobacion">Autorización de la Comprobación</param>
        /// <param name="observacion_comprobacion">Observación de la Comprobación</param>
        /// <param name="bit_transferencia">Estatus de Transferencia</param>
        /// <param name="id_transferencia">Referencia de la Transferencia</param>
        /// <param name="id_usuario">Usuario que Actualiza el Registro</param>
        /// <returns></returns>
        public static RetornoOperacion InsertaComprobacion(int id_deposito, int id_concepto_comprobacion, int id_autorizacion_comprobacion, string observacion_comprobacion,
                                                           bool bit_transferencia, int id_transferencia, SAT_CL.EgresoServicio.DetalleLiquidacion.Estatus estatus, int id_unidad, int id_operador, int id_proveedor, int id_servicio, int id_movimiento,
                                                           DateTime fecha_liquidacion, int id_liquidacion, decimal cantidad, decimal valor_unitario, int id_usuario)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Inicializando Transaccion
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciando Deposito
                using (Deposito dep = new Deposito(id_deposito))
                {
                    //Validando que Exista el Deposito
                    if (dep.habilitar)
                    {
                        //Validando Estatus
                        if (dep.Estatus == Deposito.EstatusDeposito.PorLiquidar)
                        {
                            //Instanciando Positivo
                            result = new RetornoOperacion(0, "", true);
                        }
                        else
                        {
                            //Instanciando Negativo
                            result = new RetornoOperacion(string.Format("El Estatus '{0}' del Deposito no permite su Comprobación", dep.Estatus));
                        }
                    }
                    else
                    {
                        //Instanciando Positivo
                        result = new RetornoOperacion(0, "", true);
                    }

                    //Validando Resultado del Deposito
                    if (result.OperacionExitosa)
                    {
                        //Armando Arreglo de Parametros
                        object[] param = { 1,                         0, id_deposito, id_concepto_comprobacion, id_autorizacion_comprobacion, observacion_comprobacion, bit_transferencia,
                                           id_transferencia, id_usuario, true,        "",                       "" };

                        //Obteniendo Comprobación
                        int idComprobacion = 0;

                        //Ejecutando resultado del SP
                        result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);

                        //Validando que la Operación haya sido exitosa
                        if (result.OperacionExitosa)
                        {
                            //Obteniendo Comprobación
                            idComprobacion = result.IdRegistro;

                            //Insertando Detalle de Liquidación
                            result = SAT_CL.EgresoServicio.DetalleLiquidacion.InsertaDetalleLiquidacion(104, idComprobacion, id_unidad, id_operador, id_proveedor,
                                                                                                        id_servicio, id_movimiento, id_liquidacion, cantidad, 0, valor_unitario, id_usuario);

                            //Validando que la Operación haya sido exitosa
                            if (result.OperacionExitosa)
                            {
                                //Instanciando Deposito (Detalle Liquidación)
                                using (SAT_CL.EgresoServicio.DetalleLiquidacion det = new SAT_CL.EgresoServicio.DetalleLiquidacion(id_deposito, 51))
                                {
                                    //Validando que Exista el Deposito
                                    if (det.id_detalle_liquidacion > 0)
                                    {
                                        //Agregando Referencia de la Liquidación al Detalle del Deposito
                                        result = det.EditaDetalleLiquidacion(det.id_tabla, det.id_registro, det.id_estatus_liquidacion, det.id_unidad,
                                                                             det.id_operador, det.id_proveedor_compania, det.id_servicio, det.id_movimiento, det.fecha_liquidacion,
                                                                             id_liquidacion, det.cantidad, det.id_unidad_medida, det.valor_unitario, id_usuario);
                                    }
                                    else
                                    {
                                        //Si es una Comprobación sin Deposito
                                        result = new RetornoOperacion(idComprobacion);
                                    }

                                    //Validando que se añadio el Deposito a la Liqudiación
                                    if (result.OperacionExitosa)
                                    {
                                        //Completando Transacción
                                        trans.Complete();

                                        //Instanciando Resultado de COmprobacion
                                        result = new RetornoOperacion(idComprobacion);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            //Devolviendo Resultado Obtenido
            return(result);
        }