Esempio n. 1
0
        /// <summary>
        /// Maneja el evento "CellContentClick" para el control "vistaContratosDataGridView"
        /// </summary>
        /// <param name="sender">El control "vistaContratosDataGridView"</param>
        /// <param name="e">Los datos del evento</param>
        private void vista_ContratosDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                //  El formulario de actualización de contratos
                ActualizacionContratoRenta ac       = new ActualizacionContratoRenta();
                Entities.Vista_Contratos   contrato =
                    (Entities.Vista_Contratos)vista_ContratosDataGridView.Rows[e.RowIndex].DataBoundItem;

                //  Obtenemos el estatus del contrato
                int estatuscontrato_id = Convert.ToInt32(
                    DB.QueryScalar(
                        "SELECT EstatusContrato_ID FROM Contratos WHERE Contrato_ID = @Contrato_ID",
                        DB.Param("@Contrato_ID", contrato.Contrato_ID)
                        )
                    );

                //  Si se oprimió la columna "EditColumn"
                if (vista_ContratosDataGridView.Columns[e.ColumnIndex].Name == "EditColumn")
                {
                    //  Si el estatus no es activo
                    if (estatuscontrato_id != 1)
                    {
                        //  Enviamos excepción
                        AppHelper.ThrowException("El contrato {0} no esta activo, no puede ser actualizado", contrato.Contrato_ID);
                    }

                    //  Configuramos folio
                    ac.Contrato_ID = contrato.Contrato_ID;

                    //  Navegamos a la forma de actualización
                    Padre.SwitchForma("ActualizacionContratoRenta", ac);

                    //  Salimos de la función
                    return;
                }

                //  Si se oprmío la columna "CancelColumn"
                if (vista_ContratosDataGridView.Columns[e.ColumnIndex].Name == "CancelColumn")
                {
                    //  Si el estatus del contrato no es "Activo"
                    if (estatuscontrato_id != 1)
                    {
                        //  Enviamos excepción
                        AppHelper.ThrowException("El contrato {0} no esta activo, no puede ser terminado", contrato.Contrato_ID);
                    }

                    //  Solicitamos confirmación
                    if (AppHelper.Confirm("¿Realmente desea cancelar el contrato?") == System.Windows.Forms.DialogResult.Yes)
                    {
                        //  Navegamos a la cancelación del contrato
                        CancelarContrato(contrato.Contrato_ID);
                    }
                }
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Maneja el evento "CellContentClick" para el control "vistaContratosDataGridView"
        /// </summary>
        /// <param name="sender">El control "vistaContratosDataGridView"</param>
        /// <param name="e">Los datos del evento</param>
        private void vista_ContratosDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                //  El formulario de actualización de contratos
                ActualizacionContratoRenta ac       = new ActualizacionContratoRenta();
                Entities.Vista_Contratos   contrato =
                    (Entities.Vista_Contratos)vista_ContratosDataGridView.Rows[e.RowIndex].DataBoundItem;

                //  Obtenemos el estatus del contrato
                int estatuscontrato_id = Convert.ToInt32(
                    DB.QueryScalar(
                        "SELECT EstatusContrato_ID FROM Contratos WHERE Contrato_ID = @Contrato_ID",
                        DB.Param("@Contrato_ID", contrato.Contrato_ID)
                        )
                    );

                //  Si se oprimió la columna "EditColumn"
                if (vista_ContratosDataGridView.Columns[e.ColumnIndex].Name == "EditColumn")
                {
                    //  Si el estatus no es activo
                    if (estatuscontrato_id != 1)
                    {
                        //  Enviamos excepción
                        AppHelper.ThrowException("El contrato {0} no esta activo, no puede ser actualizado", contrato.Contrato_ID);
                    }

                    //  Configuramos folio
                    ac.Contrato_ID = contrato.Contrato_ID;

                    //  Navegamos a la forma de actualización
                    Padre.SwitchForma("ActualizacionContratoRenta", ac);

                    //  Salimos de la función
                    return;
                }

                //  Si se oprmío la columna "CancelColumn"
                if (vista_ContratosDataGridView.Columns[e.ColumnIndex].Name == "CancelColumn")
                {
                    //  Si el estatus del contrato no es "Activo"
                    if (estatuscontrato_id != 1)
                    {
                        //  Enviamos excepción
                        AppHelper.ThrowException("El contrato {0} no esta activo, no puede ser terminado", contrato.Contrato_ID);
                    }

                    //  Solicitamos confirmación
                    if (AppHelper.Confirm("¿Realmente desea cancelar el contrato?") == System.Windows.Forms.DialogResult.Yes)
                    {
                        //Se verifica si hay adendums vigentes
                        int       buscaCancelar = 1;
                        DataTable dt            = SICASv20.Entities.Vista_ContratosAdendumDetalle.GetDataTable(contrato.Contrato_ID, buscaCancelar);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            AppHelper.Error("El contrato tiene adendum vigentes, favor de finalizarlo.");
                            return;
                        }

                        //si tiene asignado equipo de gas
                        if (Entities.Vista_EquipoGas.UnidadConEquipoGas(contrato.Contrato_ID))
                        {
                            AppHelper.Error(string.Format("El conductor {0} del contrato {1} tiene un Equipo de Gas asignado, para cancelar el contrato favor de dar de baja la asignación del equipo de gas.", contrato.Conductor, contrato.Contrato_ID));
                            return;
                        }

                        //  Navegamos a la cancelación del contrato
                        CancelarContrato(contrato.Contrato_ID);
                    }
                }
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }