Exemplo n.º 1
0
        /// <summary>
        /// Método encargado de Deshabilitar la Orden de Trabajo
        /// </summary>
        /// <param name="id_usuario">Usuario que Actualiza el Registro</param>
        /// <returns></returns>
        public RetornoOperacion DeshabilitaOrdenTrabajoActividad(int id_usuario)
        {
            //Declaramos objeto resultado
            RetornoOperacion resultado = new RetornoOperacion();

            //Validamos que las asignaciones se encuentran como registradas
            if ((EstatusOrdenActividad)this._id_estatus == EstatusOrdenActividad.Registrada)
            {
                //Validamos Estatus de la Requisiciones
                resultado = OrdenTrabajoActividadRequisicion.ValidaRequisicionesPendientexDeshabilitarActividad(this._id_orden_actividad);

                //Validamos Resultado
                if (resultado.OperacionExitosa)
                {
                    //Devolviendo Resultado Obtenido
                    resultado = editaOrdenTrabajoActividad(this._id_actividad, this._id_orden, this._id_falla, (EstatusOrdenActividad)this._id_estatus, this._fecha_inicio, this._fecha_fin, this._duracion, id_usuario, false);
                }
            }
            else
            {
                resultado = new RetornoOperacion("El estatus de la actividad do permite su eliminación");
            }
            //Devolvemos Resultado
            return(resultado);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Realiza la deshabilitación de las requisiciónes y sus relaciones existentes con una actividad de Orden de Trabajo especifica.
        /// </summary>
        /// <param name="idOrdenActividad">Id de Actividad</param>
        /// <param name="idUsuario">Id de Usuario</param>
        /// <returns></returns>
        public static RetornoOperacion DeshabilitaRequisicionesActividadOrden(int idOrdenActividad, int idUsuario)
        {
            //Declarando objeto de retorno
            RetornoOperacion resultado = new RetornoOperacion(1);

            //Cargando las relaciones existentes con Requisiciones
            using (DataTable dt = CargaRequisicionesActividad(idOrdenActividad))
            {
                //Validando el origen de datos
                if (TSDK.Datos.Validacion.ValidaOrigenDatos(dt))
                {
                    //Instanciando transacción
                    using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                    {
                        //Para cada registro relación devuelto
                        foreach (DataRow f in dt.Rows)
                        {
                            //Instanciando la relación correspondiente
                            using (OrdenTrabajoActividadRequisicion r = new OrdenTrabajoActividadRequisicion(f.Field <int>("IdOrdenActividadRequisicion")))
                            {
                                //Si la relación existe
                                if (r.id_orden_actividad_requisicion > 0)
                                {
                                    //Realziando la deshabilitación
                                    resultado = r.DeshabilitaOrdenActividadRequisicion(idUsuario, true);

                                    //Si se produjo algún error
                                    if (!resultado.OperacionExitosa)
                                    {
                                        //Saliendo del ciclo de deshabilitación
                                        break;
                                    }
                                }
                            }
                        }

                        //Validando que la Operación fuese Exitosa
                        if (resultado.OperacionExitosa)
                        {
                            //Completando Transacción
                            trans.Complete();
                        }
                    }
                }
                //Si no contiene el esquema requerido
                else
                {
                    resultado = new RetornoOperacion("Error al consultar las requisiciones de la actividad.");
                }
            }

            //Devolvinedo el resultado obtenido
            return(resultado);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Terminamos Actividad
        /// </summary>
        /// <param name="fecha">fecha</param>
        /// <param name="id_usuario">Id Usuario</param>
        /// <returns></returns>
        public RetornoOperacion TerminaActividad(DateTime fecha, int id_usuario)
        {
            //Establecemos resultado
            RetornoOperacion res = new RetornoOperacion();

            //Validamos Estatus de la Actividad
            if ((EstatusOrdenActividad)this._id_estatus == EstatusOrdenActividad.Iniciada)
            {
                //Validamos que todas las asignaciones se encuentren Terminadas
                if (!Validacion.ValidaOrigenDatos(ActividadAsignacion.CargaAsignacionesPendientesTermino(this._id_orden_actividad)))
                {
                    //Validamos Fecha de la Actividad vs fecha de termino de la última Asignación
                    using (ActividadAsignacion objAsignacion = new ActividadAsignacion(ActividadAsignacion.ObtieneUltimaAsignacionTerminada(this._id_orden_actividad)))
                    {
                        if (fecha >= objAsignacion.fin_asignacion)
                        {
                            //Validamos Requisiciones Pendientes
                            res = OrdenTrabajoActividadRequisicion.ValidaRequisicionesPendientexTerminarActividad(this._id_orden_actividad);

                            //Validamos Resultado
                            if (res.OperacionExitosa)
                            {
                                //Terminamos Actividad
                                res = editaOrdenTrabajoActividad(this._id_actividad, this._id_orden, this._id_falla, EstatusOrdenActividad.Terminada, this._fecha_inicio, fecha, ActividadAsignacion.ObtieneDuracionAsignacion(this._id_orden_actividad), id_usuario, this.habilitar);
                            }
                        }
                        else
                        {
                            //Establecemos Mesaje Error
                            res = new RetornoOperacion("La fecha de termino de la actividad " + fecha.ToString("dd/MM/yyyy HH:mm") + " debe ser mayor a la fecha de termino de la última asignación " + objAsignacion.fin_asignacion.ToString("dd/MM/yyyy HH:mm") + ".");
                        }
                    }
                }
                else
                //Mostramos mensaje Resultado
                {
                    res = new RetornoOperacion("Las asignaciones deben estar en estatus Terminada.");
                }
            }
            else
            {
                res = new RetornoOperacion("El estatus de la actividad no permite su edición.");
            }
            //Devolvemos resultado
            return(res);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Cancelamos Actividad
        /// </summary>
        /// <param name="id_usuario">Id Usuario</param>
        /// <returns></returns>
        public RetornoOperacion CancelaOrdenTrabajoActividad(int id_usuario)
        {
            //Establecemos resultado
            RetornoOperacion res = new RetornoOperacion();

            //Validamos que el estatus de la Actividad
            if ((EstatusOrdenActividad)this._id_estatus == EstatusOrdenActividad.Terminada)
            {
                //Validamos que todas las asignaciones se encuentren Canceladas
                if (!Validacion.ValidaOrigenDatos(ActividadAsignacion.CargaAsignacionesDifEstatus(this._id_orden_actividad, ActividadAsignacion.EstatusAsignacionActividad.Cancelada)))
                {
                    //Validamos Requisiciones Pendientes
                    res = OrdenTrabajoActividadRequisicion.ValidaRequisicionesPendientexTerminarActividad(this._id_orden_actividad);
                    //Validamos Resultado
                    if (res.OperacionExitosa)
                    {
                        //Cancelamos la Actividad
                        res = editaOrdenTrabajoActividad(this._id_actividad, this._id_orden, this._id_falla, EstatusOrdenActividad.Cancelada, this._fecha_inicio, this._fecha_fin, this._duracion, id_usuario, this.habilitar);
                    }
                }
                else
                //Mostramos mensaje Resultado
                {
                    res = new RetornoOperacion("Las asignaciones deben estar en estatus Cancelada.");
                }
            }
            //Establecemos Mesaje Error
            else
            {
                //Mostramos  Mensaje Error
                res = new RetornoOperacion("El estatus de la Actividad no permite su edición. ");
            }

            //Devolvemos resultado
            return(res);
        }