/// <summary> /// Método encargado de Insertar los Detalles del Proceso de Paquetes /// </summary> /// <param name="id_paquete_proceso">Proceso del Paquete</param> /// <param name="id_facturado">Factura</param> /// <param name="id_facturado_detalle">Detalle de la Factura</param> /// <param name="no_entregado">Indicador de Entrega</param> /// <param name="rechazado">Indicador de Rechazo</param> /// <param name="fecha_actualizacion">Fecha de Actualización</param> /// <param name="observacion">Observación</param> /// <param name="id_usuario">Usuario que actualiza el Registro</param> /// <returns></returns> public static RetornoOperacion InsertaPaqueteProcesoDetalle(int id_paquete_proceso, int id_facturado, int id_facturado_detalle, bool no_entregado, bool rechazado, DateTime fecha_actualizacion, string observacion, int id_usuario) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Armando Arreglo de Parametros object[] param = { 1, 0, id_paquete_proceso, id_facturado, id_facturado_detalle, no_entregado, rechazado, TSDK.Base.Fecha.ConvierteDateTimeObjeto(fecha_actualizacion), observacion, id_usuario, true, "", "" }; //Validando la Factura y el Concepto if (!PaqueteProcesoDetalle.ValidaFacturaConcepto(id_facturado, id_facturado_detalle)) { //Realizando Actualización result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param); } else { //Instanciando Excepción result = new RetornoOperacion("La Factura y/o Concepto no estan Disponibles"); } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Método encargado de Deshabilitar el Proceso del Paquete /// </summary> /// <param name="id_usuario">Usuario que Actualiza el Registro</param> /// <returns></returns> public RetornoOperacion DeshabilitaPaqueteProceso(int id_usuario) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Deshabilitando Registro result = this.actualizaRegistros((TipoProceso)this._id_tipo_proceso, (Estatus)this._id_estatus, this._id_compania, this._consecutivo_compania, this._id_cliente, this._fecha_inicio, this._fecha_fin, this._id_usuario_responsable, this._referencia, id_usuario, false); //Validando Operación if (result.OperacionExitosa) { //Obteniendo Paquete int id_paquete = result.IdRegistro; //Obteniendo Detalles using (DataTable dtDetallesPaquete = SAT_CL.Facturacion.PaqueteProcesoDetalle.ObtieneFacturacionPaqueteProceso(this._id_paquete_proceso)) { //Validando que Existan Detalles if (TSDK.Datos.Validacion.ValidaOrigenDatos(dtDetallesPaquete)) { //Recorriendo Detalles foreach (DataRow dr in dtDetallesPaquete.Rows) { //Instanciando Paquete using (PaqueteProcesoDetalle ppd = new PaqueteProcesoDetalle(Convert.ToInt32(dr["Id"]))) { //Validando que Exista el Detalle if (ppd.id_paquete_proceso_detalle > 0) { //Deshabilitando Detalle result = ppd.DeshabilitaPaqueteProcesoDetalle(id_usuario); //Validando que la Operación no se haya Cumplido if (!result.OperacionExitosa) { //Terminando Ciclo break; } } else { //Instanciando Excepción result = new RetornoOperacion("No Existe el Detalle"); } } } } else { //Instanciando Excepción result = new RetornoOperacion(id_paquete); } } //Validando Operación if (result.OperacionExitosa) { //Instanciando Registro result = new RetornoOperacion(id_paquete); //Completando Transacción trans.Complete(); } } } //Devolviendo Resultado Obtenido return(result); }