/// <summary> /// Método encargado de Editar las Devoluciones Faltantes /// </summary> /// <param name="id_compania_emisora">Compania Emisora</param> /// <param name="consecutivo_compania">Número Consecutivo por Compania</param> /// <param name="id_servicio">Servicio</param> /// <param name="id_movimiento">Movimiento</param> /// <param name="id_parada">Parada</param> /// <param name="tipo">Tipo</param> /// <param name="estatus">Estatus</param> /// <param name="fecha_captura">Fecha de Captura</param> /// <param name="fecha_devolucion_faltante">Fecha de Devolución</param> /// <param name="observacion">Observación</param> /// <param name="id_usuario">Usuario que Actualiza el Registro</param> /// <returns></returns> public RetornoOperacion EditaDevolucionesFaltantes(int id_compania_emisora, int consecutivo_compania, int id_servicio, int id_movimiento, int id_parada, TipoDevolucion tipo, EstatusDevolucion estatus, DateTime fecha_captura, DateTime fecha_devolucion_faltante, string observacion, int id_usuario) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Declarando Variable Auxiliar int idDevolucion = 0; //Inicializando Bloque Transaccional using (TransactionScope trans = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Invocando Método de Actualización result = this.actualizaRegistrosBD(id_compania_emisora, consecutivo_compania, id_servicio, id_movimiento, id_parada, (byte)tipo, (byte)estatus, fecha_captura, fecha_devolucion_faltante, observacion, id_usuario, this._habilitar); //Validando Operación Exitosa if (result.OperacionExitosa) { //Asignando Devolución idDevolucion = result.IdRegistro; //Validando Estatus if ((EstatusDevolucion)this._id_estatus != estatus) { //Obteniendo Detalles using (DataTable dtDetalles = DevolucionFaltanteDetalle.ObtieneDetallesDevolucion(this._id_devolucion_faltante)) { //Validando que Existan Detalles if (Validacion.ValidaOrigenDatos(dtDetalles)) { //Recorriendo Detalles foreach (DataRow dr in dtDetalles.Rows) { //Instanciando Detalles using (DevolucionFaltanteDetalle detalle = new DevolucionFaltanteDetalle(Convert.ToInt32(dr["Id"]))) { //Validando que exista el Detalle if (detalle.habilitar) { //Actualizando Estatus del Detalle result = detalle.ActualizaEstatusDevolucionFaltanteDetalle((DevolucionFaltanteDetalle.EstatusDevolucionDetalle)((byte)estatus), id_usuario); //Validando si hubo Error if (!result.OperacionExitosa) { //Terminando Ciclo break; } } } } } } } } //Validando Operación Exitosa if (result.OperacionExitosa) { //Instanciando Devolución result = new RetornoOperacion(idDevolucion); //Completando Transacción trans.Complete(); } } //Devolviendo Resultado Obtenido return(result); }
/// <summary> /// Método encargado de Insertar las Devoluciones Faltantes /// </summary> /// <param name="id_compania_emisora">Compania Emisora</param> /// <param name="consecutivo_compania">Número Consecutivo por Compania</param> /// <param name="id_servicio">Servicio</param> /// <param name="id_movimiento">Movimiento</param> /// <param name="id_parada">Parada</param> /// <param name="tipo">Tipo</param> /// <param name="estatus">Estatus</param> /// <param name="fecha_captura">Fecha de Captura</param> /// <param name="fecha_devolucion_faltante">Fecha de Devolución</param> /// <param name="observacion">Observación</param> /// <param name="id_usuario">Usuario que Actualiza el Registro</param> /// <returns></returns> public static RetornoOperacion InsertaDevolucionesFaltantes(int id_compania_emisora, int consecutivo_compania, int id_servicio, int id_movimiento, int id_parada, TipoDevolucion tipo, EstatusDevolucion estatus, DateTime fecha_captura, DateTime fecha_devolucion_faltante, string observacion, int id_usuario) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Armando Arreglo de Parametros object[] param = { 1, 0, id_compania_emisora, consecutivo_compania, id_servicio, id_movimiento, id_parada, (byte)tipo, (byte)estatus, fecha_captura, fecha_devolucion_faltante, observacion, id_usuario, true, "", "" }; //Ejecutando SP result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param); //Devolviendo Resultado Obtenido return(result); }