コード例 #1
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public bool VerificaSeJaVotou(string login, string ip)
        {
            var ctx = new L2Context(); //

            return(ctx.VoteSystemVotos.Where(x => (x.Login == login && x.Data.Day == DateTime.Today.Day && x.Data.Month == DateTime.Today.Month && x.Data.Year == DateTime.Today.Year ||
                                                   x.Ip == ip && x.Data.Day == DateTime.Today.Day && x.Data.Month == DateTime.Today.Month && x.Data.Year == DateTime.Today.Year)).AsNoTracking().Any());
        }
コード例 #2
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public List <VoteSystemRewards> BuscaRewards(string login)
        {
            var ctx = new L2Context();

            //Usa reward por quantidade voto ?
            if (new AppConfigurationManager().RewardsPorQuantidadeVotos())
            {
                // Busca total votos player
                var totalVotos = TotalVotosLogin(login);
                // Pega reward conforme configurado o minimo e maximo
                return(ctx.VoteSystemRewards.Where(x => totalVotos >= x.De && totalVotos <= x.Ate).AsNoTracking().ToList());
            }
            return(ctx.VoteSystemRewards.AsNoTracking().ToList());
        }
コード例 #3
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public void EntregaItems(string login, string ip, int charId)
        {
            // Verifica mais uma vez se ja nao foi entregue
            if (VerificaSeJaVotou(login, ip))
            {
                throw new Exception("Você já recebeu seu reward hoje!");
            }

            var ctx        = new L2Context();
            var novoIdItem = GeraNovoIdObjeto();

            // Busca e insere Rewards
            foreach (var obj in BuscaRewards(login))
            {
                // Entrega os items
                var item = new Items()
                {
                    ItemId       = obj.ItemId,
                    Count        = obj.Count,
                    EnchantLevel = obj.EnchantLevel,
                    Loc          = "WAREHOUSE",
                    OwnerId      = charId,
                    ObjectId     = novoIdItem,
                    LocData      = 0,
                    Time         = -1
                };
                novoIdItem++;
                // Insere objeto
                ctx.Items.Add(item);
            }

            // Insere na tabela votesystem_votos para salvar que usuario votou no dia
            ctx.VoteSystemVotos.Add(new VoteSystemVotos()
            {
                Login = login,
                Data  = DateTime.Now,
                Ip    = ip
            });

            // Salva no banco todas as insercoes acima
            ctx.SaveChanges();
        }
コード例 #4
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public int TotalVotosLogin(string login)
        {
            var ctx = new L2Context();

            return(ctx.VoteSystemVotos.Where(x => x.Login.Equals(login)).Count());
        }
コード例 #5
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public int GeraNovoIdObjeto()
        {
            var ctx = new L2Context();

            return(1000 + ctx.Items.OrderByDescending(x => x.ObjectId).Take(1).AsNoTracking().FirstOrDefault().ObjectId);
        }
コード例 #6
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public List <VoteSystemTops> BuscaTops()
        {
            var ctx = new L2Context();

            return(ctx.VoteSystemTops.AsNoTracking().ToList());
        }
コード例 #7
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public Character BuscaCharacterPorId(int charId, string login)
        {
            var ctx = new L2Context();

            return(ctx.Character.Where(x => x.CharId == charId && x.Login == login).AsNoTracking().FirstOrDefault());
        }
コード例 #8
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public List <Character> BuscaCharactersOfflinePorLogin(string login)
        {
            var ctx = new L2Context();

            return(ctx.Character.Where(x => x.Login == login && x.Online == Status.Offline).AsNoTracking().ToList());
        }
コード例 #9
0
ファイル: ConsultaService.cs プロジェクト: DZ1M/VoteSystemL2j
        public Accounts BuscaPorLoginSenha(string login, string senha)
        {
            var ctx = new L2Context();

            return(ctx.Accounts.Where(x => x.Login == login && x.Password == senha).AsNoTracking().FirstOrDefault());
        }