/// <summary>
            /// Consultar y verificar la orden de trabajo para terminación
            /// </summary>
            public void ConsultarOrdenTrabajo()
            {
                //  Consultar la orden de trabajo
                this.OrdenTrabajo = Entities.OrdenesTrabajos.Read(this.OrdenTrabajo_ID);

                //  Que no este ya terminada
                if (this.OrdenTrabajo.EstatusOrdenTrabajo_ID == 3)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya esta terminada", this.OrdenTrabajo_ID);
                }

                //  Que no este pagada
                if (this.OrdenTrabajo.EstatusOrdenTrabajo_ID == 4)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya esta terminada", this.OrdenTrabajo_ID);
                }

                //  Que no este cancelada
                if (this.OrdenTrabajo.EstatusOrdenTrabajo_ID == 5)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya esta terminada", this.OrdenTrabajo_ID);
                }

                //  Que no tenga refacciones por surtir
                string sql = @"SELECT	ISNULL(SUM(OSR.Cantidad - OSR.RefSurtidas),0) cont
                FROM	OrdenesTrabajos OT
                INNER JOIN	OrdenesServicios OS
                ON		OT.OrdenTrabajo_ID = OS.OrdenTrabajo_ID
                INNER JOIN	OrdenesServiciosRefacciones OSR
                ON		OS.OrdenServicio_ID = OSR.OrdenServicio_ID
                WHERE	OT.OrdenTrabajo_ID = @OrdenTrabajo_ID";

                int cont = Convert.ToInt32(
                    DB.QueryScalar(
                        sql,
                        DB.GetParams(
                            DB.Param("@OrdenTrabajo_ID", this.OrdenTrabajo_ID)
                            )
                        )
                    );

                if (cont > 0)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} tiene refacciones por surtir", this.OrdenTrabajo_ID);
                }

                //  Que pertenezca a la empresa y la estación
                if (this.OrdenTrabajo.Empresa_ID != Sesion.Empresa_ID.Value ||
                    this.OrdenTrabajo.Estacion_ID != Sesion.Estacion_ID.Value)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} no pertenece a la empresa y estacion del usuario", this.OrdenTrabajo_ID);
                }

                //  Consultar los datos de la orden de trabajo
                this.DatosOrden = Entities.Vista_OrdenesTrabajos.Get(this.OrdenTrabajo_ID, this.OrdenTrabajo.Empresa_ID, this.OrdenTrabajo.Estacion_ID)[0];
            }
        private void DoNavigate()
        {
            if (Vista_OrdenesTrabajosDataGridView.Columns[col].Name == "Ver")
            {
                Entities.Vista_OrdenesTrabajos OT =
                    (Entities.Vista_OrdenesTrabajos) this.Vista_OrdenesTrabajosDataGridView.Rows[row].DataBoundItem;

                ImprimirOrdenTrabajo(OT.OrdenTrabajo_ID);
            }
        }
Exemple #3
0
        private void vista_OrdenesTrabajosDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int row = e.RowIndex;
            int col = e.ColumnIndex;

            if (this.vista_OrdenesTrabajosDataGridView.Columns[col].Name == "Ver")
            {
                Entities.Vista_OrdenesTrabajos OT =
                    (Entities.Vista_OrdenesTrabajos) this.vista_OrdenesTrabajosDataGridView.Rows[row].DataBoundItem;

                ImprimirOrdenTrabajo(OT.OrdenTrabajo_ID);
            }
        }
            /// <summary>
            /// Consultar los datos de la orden de trabajo
            /// </summary>
            public void ConsultarOrdenTrabajo()
            {
                if (!DB.Exists("OrdenesTrabajos", DB.Param("OrdenTrabajo_ID", this.OrdenTrabajo_ID)))
                {
                    AppHelper.ThrowException("La orden de trabajo {0} no existe", this.OrdenTrabajo_ID);
                }

                if (DB.Exists("CancelacionesOrdenesTrabajos", DB.Param("OrdenTrabajo_ID", this.OrdenTrabajo_ID)))
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya está cancelada", this.OrdenTrabajo_ID);
                }

                this.OrdenTrabajo = Entities.Vista_OrdenesTrabajos.Get(this.OrdenTrabajo_ID,
                                                                       Sesion.Empresa_ID.Value,
                                                                       Sesion.Estacion_ID.Value)[0];
            } // end void