public Tuple<TabLeitor, bool> VerificaLogin(TabLeitor dadosLeitor)
 {
     var leitor = db.TabLeitor.Where(model => model.dsLogin == dadosLeitor.dsLogin && model.dsSenha == dadosLeitor.dsSenha).FirstOrDefault();
     if (leitor == null)
     {
         return new Tuple<TabLeitor,bool>(null,false);
     }
     else
     {
         return new Tuple<TabLeitor, bool>(leitor, true);
     }
 }
 public TabLeitor CadastrarLeitor(TabLeitor leitor, string rua, string bairro, string cidade, string estado)
 {
     var endereco = enderecoBC.CriarEndereco(rua, bairro, cidade, estado);
     //returando as máscaras dos campos de celular e RG
     leitor.numCel = leitor.numCel.Replace("(","");
     leitor.numCel = leitor.numCel.Replace(")", "");
     leitor.numCel = leitor.numCel.Replace("-", "");
     leitor.numCel = leitor.numCel.Replace(" ", "");
     leitor.dsRgLeitor = leitor.dsRgLeitor.Replace("-", "");
     leitor.fkIdCepEnd = endereco.idCepEnd;
     leitor.dsStatus = (int)EnumStatusLeitor.ATIVO;
     db.TabLeitor.Add(leitor);
     db.SaveChanges();
     return leitor;
 }
        public List<TabHistorico> RankingLeitores(long idLeitor)
        {
            List<TabHistorico> ltrRank = new List<TabHistorico>();

            var teste = (from p in db.TabHistorico
                         where p.dsStatus == 3
                         group p by p.fkIdLeitor into g
                         select new { fkIdLeitor = g.Key, Quantidade = g.Count() }
                        ).OrderByDescending(c => c.Quantidade);
            var count = 1;

            foreach (var registro in teste)
            {
                TabHistorico exemplar = new TabHistorico();

                TabLeitor tbleitor = new TabLeitor();
                tbleitor = db.TabLeitor.Where(model => model.idLeitor == registro.fkIdLeitor).FirstOrDefault();

                exemplar.idHistorico = count;
                count++;
                exemplar.fkIdLeitor = registro.fkIdLeitor;
                exemplar.dsStatus = registro.Quantidade;
                exemplar.TabLeitor = tbleitor;
                ltrRank.Add(exemplar);
            }
            var Posicao = ltrRank.Where(model => model.fkIdLeitor == idLeitor).FirstOrDefault();
            if (Posicao == null)
            {
                TabHistorico exemplar = new TabHistorico();

                TabLeitor tbleitor = new TabLeitor();
                tbleitor = db.TabLeitor.Where(model => model.idLeitor == idLeitor).FirstOrDefault();

                exemplar.idHistorico = count;
                count++;
                exemplar.fkIdLeitor = (int)idLeitor;
                exemplar.dsStatus = 0;
                exemplar.TabLeitor = tbleitor;
                ltrRank.Add(exemplar);
            }
            return ltrRank;
        }
        static void Main(string[] args)
        {
            QLivrosEntities db = new QLivrosEntities();

            var leitor = new TabLeitor();
            leitor.idLeitor = 7;
            leitor.dsEmail = "*****@*****.**";
            leitor.dsLogin = "******";
            leitor.dsSenha = "1234";
            leitor.nmLeitor = "Vinicius Miranda da Silva";
            leitor.dsSexo = EnumSexoLeitor.MASCULINO.ToString();
            leitor.dtNasc = DateTime.Now;
            leitor.numCel = "119999-9999";
            leitor.dsRgLeitor = "45599991-2";
            leitor.noEnd = 133;
            leitor.dsComplementoEnd = "";
            leitor.dsReferenciaEnd = "";
            leitor.imFoto = "";
            leitor.fkIdCepEnd = 33495270;
            leitor.dsStatus =  1;

            db.TabLeitor.Add(leitor);
            db.SaveChanges();
        }