public override void ValidaAlteracaoDeStatus(GestaoStatusContrato gestaoStatus, string numeroContrato) { var tabelaContratoFinal = "[@UPD_OCFC]"; if (gestaoStatus.StatusPersistente == StatusPreContrato.Autorizado && gestaoStatus.StatusVolatil == StatusPreContrato.Esboço) { using (var recordset = new RecordSet()) { var rs = recordset.DoQuery($"SELECT COUNT(*) as cont FROM {tabelaContratoFinal} WHERE {_status.Datasource} <> '{StatusContratoFinal.Cancelado}' AND {_numeroDoContrato.Datasource} = '{numeroContrato}'"); if (rs.Fields.Item("cont").Value > 0) { throw new BusinessRuleException( $@"Não é possível alterar a situação do contrato de '{nameof(StatusPreContrato.Autorizado)}' para '{nameof(StatusPreContrato.Esboço)}'. Existem Contratos Finais neste contrato, que impossibilitam a alteração."); } } } else if (gestaoStatus.StatusPersistente == StatusPreContrato.Autorizado && gestaoStatus.StatusVolatil == StatusPreContrato.Encerrado) { using (var recordset = new RecordSet()) { var rs = recordset.DoQuery( $@"SELECT COUNT(*) as cont FROM {tabelaContratoFinal} WHERE {_status.Datasource} <> '{StatusContratoFinal.Cancelado}' AND {_status.Datasource} <> '{StatusContratoFinal.Encerrado}' AND {_numeroDoContrato.Datasource} = '{numeroContrato}' "); if (rs.Fields.Item("cont").Value > 0) { throw new BusinessRuleException( $@"Não é possível alterar a situação do contrato de '{nameof(StatusPreContrato.Autorizado)}' para '{nameof(StatusPreContrato.Encerrado)}'. Existem Contratos Finais neste contrato, que impossibilitam a alteração."); } } } else if (gestaoStatus.StatusPersistente == StatusPreContrato.Autorizado && gestaoStatus.StatusVolatil == StatusPreContrato.Cancelado) { using (var recordset = new RecordSet()) { var rs = recordset.DoQuery($"SELECT COUNT(*) as cont FROM {tabelaContratoFinal} WHERE {_status.Datasource} <> '{StatusContratoFinal.Cancelado}' AND {_numeroDoContrato.Datasource} = '{numeroContrato}'"); if (rs.Fields.Item("cont").Value > 0) { throw new BusinessRuleException( $@"Não é possível alterar a situação do contrato de '{nameof(StatusPreContrato.Autorizado)}' para '{nameof(StatusPreContrato.Cancelado)}'. Existem Contratos Finais neste contrato, que impossibilitam a alteração."); } } } }
public override void ValidaAlteracaoDeStatus(GestaoStatusContrato gestaoStatus, string numeroContrato) { }