Example #1
0
        public void atualizar(
            dsFROGIOS.SERVICORow servico,
            dsFROGIOS.TIPODataTable tipos
            )
        {
            TblServico servicoSQL = new TblServico();
                servicoSQL.atualizar(servico);

                dsFROGIOS.TIPODataTable deletados = new dsFROGIOS.TIPODataTable();
                dsFROGIOS.TIPODataTable inseridos = new dsFROGIOS.TIPODataTable();

                /*
                 * Essa foi puta merda. Tava usando um método GetChanges da
                 * classe DataTable. Esse método já me retornava um DataTable
                 * todo arrumadinho já com as linhas novas ou excluidas. Mas
                 * por problemas de constraint, tive que adotar essa
                 * pequena solução manual. Funciona assim também :)
                 */
                //Mas sério XP

                //Aqui pegamos todas as linhas que foram inseridas ou excluidas
                //o que foi inserido vai ser inserido e o que foi excluido vai ser excluido do BD
                foreach (dsFROGIOS.TIPORow linha in tipos.Rows) {
                    if (linha.RowState == DataRowState.Added) {
                        inseridos.AddTIPORow(linha.TIPO_CODIGO, linha.TIPO_DESCRICAO);
                    } /*else if (linha.RowState == DataRowState.Deleted) {
                        deletados.AddTIPORow(linha.TIPO_CODIGO, linha.TIPO_DESCRICAO);
                    }*/
                }
                deletados = (dsFROGIOS.TIPODataTable)tipos.GetChanges(DataRowState.Deleted);

                TblServicoTipo servicoTipoSQL = new TblServicoTipo();

                dsFROGIOS.SERVICO_TIPODataTable servicoTipo =  new dsFROGIOS.SERVICO_TIPODataTable();
                dsFROGIOS.SERVICO_TIPORow servicoTipoLinha = servicoTipo.NewSERVICO_TIPORow();
                servicoTipoLinha.SERVICO_TIPO_SERVICO = servico.SERVICO_CODIGO;

                int linhasDeletadas = (deletados != null) ? deletados.Rows.Count : 0;
                for (int i = 0; i < linhasDeletadas; i++) {
                    servicoTipoLinha.SERVICO_TIPO_TIPO =
                        (int)deletados.Rows[i][deletados.TIPO_CODIGOColumn, DataRowVersion.Original];
                    servicoTipoSQL.deletar(servicoTipoLinha);
                }

                int linhasInseridas = (inseridos != null) ? inseridos.Rows.Count : 0;
                for (int i = 0; i < linhasInseridas; i++) {
                    servicoTipoLinha.SERVICO_TIPO_TIPO =
                        (int)inseridos.Rows[i][inseridos.TIPO_CODIGOColumn, DataRowVersion.Current];
                    servicoTipoSQL.inserir(servicoTipoLinha);
                }
        }
Example #2
0
        public void inserir(
            dsFROGIOS.SERVICORow servico,
            dsFROGIOS.TIPODataTable tipos)
        {
            TblServico servicoSQL = new TblServico();
                int codigo = servicoSQL.inserir(servico);

                TblServicoTipo servicoTipoSQL = new TblServicoTipo();
                dsFROGIOS.SERVICO_TIPORow servicoTipoLinha = new dsFROGIOS.SERVICO_TIPODataTable().NewSERVICO_TIPORow();

                foreach (dsFROGIOS.TIPORow tipo in tipos.Rows) {
                    servicoTipoLinha.SERVICO_TIPO_SERVICO = codigo;
                    servicoTipoLinha.SERVICO_TIPO_TIPO = tipo.TIPO_CODIGO;
                    servicoTipoSQL.inserir(servicoTipoLinha);
                }
        }