Query using the Entity framework

Asked

Viewed 1,210 times

3

Within my repositorioEF I have the methods, in the method ExcluirRegistro I’m passing a StatusRegistro for the bank indicating that this record is being deleted, then in my methods ListarPorId and ListarTodos I would like to bring only the records with STATUS other than’S'. How I could make these queries?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Projeto.Financeiro.Dominio;
using Projeto.Financeiro.Dominio.contrato;

namespace Projeto.Financeiro.RepositorioEF
{
    public class EmpresaRepositorioEF : IRepositorio<tb_empresa>
    {

        private readonly Contexto contexto;

        public EmpresaRepositorioEF()
        {
            contexto = new Contexto();
        }

        //salvar ou altera o registro
        public void SalvarRegistro(tb_empresa entidade) 
        {
            if (entidade.IDEMPRESA > 0)
            {
                var empresaAlterar = contexto.Empresa.First(x => x.IDEMPRESA == entidade.IDEMPRESA);
                empresaAlterar.RAZAO_SOCIAL = entidade.RAZAO_SOCIAL;
                empresaAlterar.ENDERECO = entidade.ENDERECO;
                empresaAlterar.BAIRRO = entidade.BAIRRO;
                empresaAlterar.CIDADE = entidade.CIDADE;
                empresaAlterar.IMAGEM_LOGO = entidade.IMAGEM_LOGO;
                empresaAlterar.STATUS = entidade.STATUS;

                //implementar IEntidade nos Models para salvar as datas DATA_ALTERACAO e DATA_INCLUSAO
            }
            else
            {
                contexto.Empresa.Add(entidade);
            }

            contexto.SaveChanges();
        }

        //excluir o registro
        public void ExcluirRegistro(tb_empresa entidade)
        {
            //não vou excluir o registro, apenas trocar o status para 'S'
            char StatusRegistro = 'S';
            var empresaExcluir = contexto.Empresa.First(x => x.IDEMPRESA == entidade.IDEMPRESA);
            empresaExcluir.STATUS = StatusRegistro;
            //contexto.Set<tb_empresa>().Remove(empresaExcluir);
            contexto.SaveChanges();
        }

        //listar por id
        public tb_empresa ListarPorId(string id)
        {
            int idInt;
            Int32.TryParse(id, out idInt);
            var Consulta = contexto.Empresa.First(x => x.IDEMPRESA == idInt);
            return Consulta;
        }

        //listar todos
        public IEnumerable<tb_empresa> ListarTodos()
        {
            return contexto.Empresa;
        }
    }
}

1 answer

3


It would be something like that:

    public tb_empresa ListarPorId(string id)
    {
        int idInt;
        Int32.TryParse(id, out idInt);
        var Consulta = contexto.Empresa.First(x => x.IDEMPRESA == idInt && x.STATUS != 'S');
        return Consulta;
    }

    //listar todos
    public IEnumerable<tb_empresa> ListarTodos()
    {
        return contexto.Empresa.Where(e => e.Status != 'S');
    }
  • 1

    Very good, no doubt this is the best place to learn because there are people who really help solve the questions. Again thank you!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.