Пример #1
0
 public void salvarJogos(List <Jogo> jogos, int rodadaId)
 {
     foreach (var jogo in jogos)
     {
         try
         {
             var j = new Jogo();
             j.desafiado_id  = jogo.desafiado_id;
             j.desafiante_id = jogo.desafiante_id;
             j.rodada_id     = rodadaId;
             j.situacao_Id   = 1;
             if (j.desafiante_id == 8)
             { //coringa
                 j.situacao_Id             = 4;
                 j.qtddGames1setDesafiado  = 6;
                 j.qtddGames2setDesafiado  = 6;
                 j.qtddGames1setDesafiante = 0;
                 j.qtddGames2setDesafiante = 0;
             }
             db.Jogo.Add(j);
             db.Entry(j).State = EntityState.Added;
             db.SaveChanges();
         }
         catch (System.Data.Entity.Validation.DbEntityValidationException e)
         {
             Console.Write(e);
         }
     }
 }
Пример #2
0
        public IHttpActionResult PutDefinirHorario(int id, DateTime dataJogo, string horaJogo = "", string localJogo = "")
        {
            try
            {
                var jogo = db.Jogo.Find(id);
                if (jogo == null)
                {
                    return(InternalServerError(new Exception("Jogo não encontrado.")));
                }
                jogo.dataJogo  = dataJogo;
                jogo.horaJogo  = horaJogo;
                jogo.localJogo = localJogo;
                if (jogo.situacao_Id != 4 && jogo.situacao_Id != 5)
                {
                    jogo.situacao_Id = 2;
                }
                db.Entry(jogo).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception e) {
                return(InternalServerError(e));
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #3
0
        public IHttpActionResult PutLancarResultado(int id, int games1setDesafiante = 0, int games2setDesafiante = 0, int games3setDesafiante = 0, int games1setDesafiado = 0, int games2setDesafiado = 0, int games3setDesafiado = 0)
        {
            var jogo = db.Jogo.Find(id);

            jogo.qtddGames1setDesafiante = games1setDesafiante;
            jogo.qtddGames2setDesafiante = games2setDesafiante;
            jogo.qtddGames3setDesafiante = games3setDesafiante;

            jogo.qtddGames1setDesafiado = games1setDesafiado;
            jogo.qtddGames2setDesafiado = games2setDesafiado;
            jogo.qtddGames3setDesafiado = games3setDesafiado;
            jogo.usuarioInformResultado = ""; //User.Identity.Name; TODO: PEGAR O NOME DO USUÁRIO
            jogo.dataCadastroResultado  = DateTime.Now;
            jogo.situacao_Id            = 4;

            db.Entry(jogo).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
                tc.MontarProximoJogoTorneio(jogo);
            }
            catch (Exception)
            {
                return(InternalServerError(new Exception("Erro ao lançar resultado.")));
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #4
0
 public ActionResult Edit(Rodada rodada)
 {
     if (ModelState.IsValid)
     {
         rodada.dataFim         = new DateTime(rodada.dataFim.Year, rodada.dataFim.Month, rodada.dataFim.Day, 23, 59, 59);
         db.Entry(rodada).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(rodada));
 }
Пример #5
0
 public ActionResult Edit(Jogo jogo)
 {
     if (ModelState.IsValid)
     {
         db.Entry(jogo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.desafiado_id  = new SelectList(db.UserProfiles, "UserId", "UserName", jogo.desafiado_id);
     ViewBag.desafiante_id = new SelectList(db.UserProfiles, "UserId", "UserName", jogo.desafiante_id);
     ViewBag.rodada_id     = new SelectList(db.Rodada, "Id", "codigo", jogo.rodada_id);
     return(View(jogo));
 }
Пример #6
0
 public ActionResult Edit(Barragens barragens)
 {
     if (Roles.IsUserInRole("organizador"))
     {
         UserProfile usu = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name));
         if (usu.barragemId != barragens.Id)
         {
             ViewBag.MsgErro = "Você não pertence a esta barragem.";
             return(View(barragens));
         }
     }
     if (ModelState.IsValid)
     {
         if (barragens.email != null)
         {
             if (!Funcoes.IsValidEmail(barragens.email))
             {
                 ViewBag.MsgErro = string.Format("E-mail inválido. '{0}'", barragens.email);
                 return(View(barragens));
             }
         }
         db.Entry(barragens).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(barragens));
 }
Пример #7
0
        public IHttpActionResult PutBarragemView(int id, BarragemView barragemView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != barragemView.Id)
            {
                return(BadRequest());
            }

            db.Entry(barragemView).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BarragemViewExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #8
0
 public ActionResult Edit(Configuracao configuracao)
 {
     if (ModelState.IsValid)
     {
         db.Entry(configuracao).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(configuracao));
 }
Пример #9
0
 public ActionResult Edit(Torneio torneio)
 {
     if (ModelState.IsValid)
     {
         db.Entry(torneio).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(torneio));
 }
Пример #10
0
 public ActionResult AlterarClassesJogadores(IEnumerable <RankingView> rankingView)
 {
     try
     {
         UserProfile jogador = null;
         foreach (RankingView user in rankingView)
         {
             jogador = db.UserProfiles.Find(user.userProfile_id);
             var barraId = jogador.barragemId;
             var classe  = db.Classe.Where(c => c.barragemId == barraId && c.nivel == user.classeId).Single();
             jogador.classeId        = classe.Id;
             db.Entry(jogador).State = EntityState.Modified;
             db.SaveChanges();
         }
         return(Json(new { erro = "", retorno = 1 }, "text/plain", JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(new { erro = ex.Message, retorno = 0 }, "text/plain", JsonRequestBehavior.AllowGet));
     }
 }
Пример #11
0
        public ActionResult SolicitarAtivacao()
        {
            //string userName = MD5Crypt.Descriptografar(token);
            var         userName = User.Identity.Name;
            UserProfile user     = null;

            try
            {
                user = db.UserProfiles.Where(u => u.UserName.ToLower() == userName.ToLower()).FirstOrDefault();
                if (user != null)
                {
                    user.situacao        = "Ativamento solicitado";
                    db.Entry(user).State = EntityState.Modified;
                    db.SaveChanges();
                    notificarOrganizadorSolicitacaoAtivar(user.nome, user.barragemId);
                    return(View("SolicitarAtivacao"));
                }
                else
                {
                    ViewBag.MsgErro = "Este usuário não existe.";
                    return(View());
                }
            }
            catch (Exception ex)
            {
                var routeData = new RouteData();
                routeData.Values["controller"] = "Erros";
                routeData.Values["exception"]  = ex;
                routeData.Values["action"]     = "General";
                return(RedirectToAction("General", "Erros", routeData));
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                }
            }
            //return View();
        }
Пример #12
0
        public IHttpActionResult PutAlterarPerfil(int userId, string nome, string email, string celular, string naturalidade, DateTime dataNascimento, string altura, string lateralidade, string informacoesAdicionais)
        {
            var user = db.UserProfiles.Find(userId);

            user.nome            = nome;
            user.email           = email;
            user.telefoneCelular = celular;
            user.naturalidade    = naturalidade;
            user.dataNascimento  = dataNascimento;
            user.altura2         = altura;
            user.lateralidade    = lateralidade;
            user.matriculaClube  = informacoesAdicionais;

            db.Entry(user).State = EntityState.Modified;
            try{
                db.SaveChanges();
            }catch (Exception e) {
                return(InternalServerError(e));
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #13
0
        public ActionResult Edit(Barragens barragens)
        {
            if (Roles.IsUserInRole("organizador"))
            {
                UserProfile usu = db.UserProfiles.Find(WebSecurity.GetUserId(User.Identity.Name));
                if (usu.barragemId != barragens.Id)
                {
                    ViewBag.MsgErro = "Você não pertence a esta barragem.";
                    return(View(barragens));
                }

                var barraAtual = db.BarragemView.Find(barragens.Id);
                // o organizador não deve alterar os campos abaixo
                barragens.valorPorUsuario = barraAtual.valorPorUsuario;
                barragens.isAtiva         = barraAtual.isAtiva;
                barragens.isTeste         = barraAtual.isTeste;
                barragens.soTorneio       = barraAtual.soTorneio;
            }
            if (barragens.soTorneio == null)
            {
                barragens.soTorneio = false;
            }
            if (ModelState.IsValid)
            {
                if (barragens.email != null)
                {
                    if (!Funcoes.IsValidEmail(barragens.email))
                    {
                        ViewBag.MsgErro = string.Format("E-mail inválido. '{0}'", barragens.email);
                        return(View(barragens));
                    }
                }
                db.Entry(barragens).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(barragens));
        }
Пример #14
0
        public void Receber(string notificationCode, string notificationType, int ranking = 0)
        {
            var log = new Log();

            log.descricao = "Chegou:" + DateTime.Now + ":" + notificationCode;
            db.Log.Add(log);
            db.SaveChanges();

            var barragem = db.BarragemView.Find(ranking);
            AccountCredentials credentials = new AccountCredentials(barragem.emailPagSeguro, barragem.tokenPagSeguro);

            if (notificationType == "transaction")
            {
                // obtendo o objeto transaction a partir do código de notificação
                Transaction transaction = NotificationService.CheckTransaction(credentials, notificationCode);
                // Data da criação
                DateTime date = transaction.Date;
                // Data da última atualização
                DateTime lastEventDate = transaction.LastEventDate;
                // Código da transação
                string code = transaction.Code;
                // Refência
                string reference = transaction.Reference;
                // Valor bruto
                decimal grossAmount = transaction.GrossAmount;
                // Tipo
                int type = transaction.TransactionType;
                // Status

                /* Código	Significado
                 * 1	Aguardando pagamento: o comprador iniciou a transação, mas até o momento o PagSeguro não recebeu nenhuma informação sobre o pagamento.
                 * 2	Em análise: o comprador optou por pagar com um cartão de crédito e o PagSeguro está analisando o risco da transação.
                 * 3	Paga: a transação foi paga pelo comprador e o PagSeguro já recebeu uma confirmação da instituição financeira responsável pelo processamento.
                 * 4	Disponível: a transação foi paga e chegou ao final de seu prazo de liberação sem ter sido retornada e sem que haja nenhuma disputa aberta.
                 * 5	Em disputa: o comprador, dentro do prazo de liberação da transação, abriu uma disputa.
                 * 6	Devolvida: o valor da transação foi devolvido para o comprador.
                 * 7	Cancelada: a transação foi cancelada sem ter sido finalizada.
                 * 8	Debitado: o valor da transação foi devolvido para o comprador.
                 * 9	Retenção temporária: o comprador contestou o pagamento junto à operadora do cartão de crédito ou abriu uma demanda judicial ou administrativa (Procon).
                 */
                int status = transaction.TransactionStatus;
                // Valor líquido
                decimal netAmount = transaction.NetAmount;
                // Valor das taxas cobradas
                decimal feeAmount = transaction.FeeAmount;
                // Valor extra ou desconto
                decimal extraAmount = transaction.ExtraAmount;
                // Tipo de meio de pagamento
                PaymentMethod paymentMethod = transaction.PaymentMethod;

                string[] refs = reference.Split('-');
                if (refs[0].Equals("T"))
                { // se for torneio
                    int idInscricao = Convert.ToInt32(refs[1]);
                    var inscricao   = db.InscricaoTorneio.Find(idInscricao);
                    if (status == 3)
                    {
                        inscricao.isAtivo = true;
                    }
                    inscricao.statusPagamento = status + "";
                    inscricao.formaPagamento  = paymentMethod.PaymentMethodType + "";
                    inscricao.valor           = (float)transaction.GrossAmount;
                    db.Entry(inscricao).State = EntityState.Modified;
                    db.SaveChanges();
                    var log2 = new Log();
                    log2.descricao = ranking + " movimentacao ok " + status + ":" + DateTime.Now + ":" + notificationCode;
                    db.Log.Add(log2);
                    db.SaveChanges();

                    // ativar segunda inscrição caso exista
                    var listInscricao = db.InscricaoTorneio.Where(t => t.torneioId == inscricao.torneioId && t.userId == inscricao.userId && t.Id != inscricao.Id).ToList();
                    if (listInscricao.Count() > 0)
                    {
                        var inscricao2 = listInscricao[0];
                        if (status == 3)
                        {
                            inscricao2.isAtivo = true;
                        }
                        inscricao2.statusPagamento = status + "";
                        inscricao2.formaPagamento  = paymentMethod.PaymentMethodType + "";
                        inscricao2.valor           = (float)transaction.GrossAmount;
                        db.Entry(inscricao2).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
        }
Пример #15
0
        public ActionResult AlterarStatus(int Id, string status)
        {
            try
            {
                var pagamentoBarragem = db.PagamentoBarragem.Find(Id);
                pagamentoBarragem.status          = status;
                db.Entry(pagamentoBarragem).State = EntityState.Modified;
                db.SaveChanges();
                Pagamento pagamento = db.Pagamento.Find(pagamentoBarragem.pagamentoId);
                pagamento.arrecadado = db.PagamentoBarragem.Where(pg => pg.pagamentoId == pagamento.Id && pg.status == "Pago").Sum(pg => pg.valor);
                if (pagamento.arrecadado == pagamento.areceber)
                {
                    pagamento.status = "Finalizado";
                }
                db.Entry(pagamento).State = EntityState.Modified;
                db.SaveChanges();

                return(Json(new { erro = "", retorno = 1 }, "text/plain", JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { erro = ex.Message, retorno = 0 }, "text/plain", JsonRequestBehavior.AllowGet));
            }
        }
Пример #16
0
        public ActionResult Dashboard()
        {
            HttpCookie cookie     = Request.Cookies["_barragemId"];
            var        barragemId = Convert.ToInt32(cookie.Value.ToString());
            // caobrança
            var pb = db.PagamentoBarragem.Where(p => (bool)p.cobrar && p.barragemId == barragemId && (p.status == "Aguardando" || p.status == "canceled")).OrderByDescending(o => o.Id).ToList();

            if (pb.Count() > 0)
            {
                if (pb[0].status == "Aguardando")
                {
                    ViewBag.cobranca           = "Olá, o boleto da sua mensalidade já está disponível para pagamento. Clique no link para acessar o boleto ou copie o número do código de barras:";
                    ViewBag.boleto             = pb[0].linkBoleto;
                    ViewBag.numeroCodigoBarras = pb[0].digitableLine;
                    if (((DateTime.Now.Day > 10) && (DateTime.Now.DayOfWeek != DayOfWeek.Saturday) &&
                         (DateTime.Now.DayOfWeek != DayOfWeek.Sunday) && (DateTime.Now.DayOfWeek != DayOfWeek.Monday)) ||
                        (DateTime.Now.Day > 13))
                    {
                        var brg = db.Barragens.Find(barragemId);
                        brg.isAtiva         = false;
                        db.Entry(brg).State = EntityState.Modified;
                        db.SaveChanges();
                        ViewBag.cobranca = "Olá, Você possui uma mensalidade em atrasado que ocasionou o bloqueio do seu ranking. Não será possível gerar temporadas e rodadas. Clique no link para acessar o boleto ou copie o número do código de barras para realizar o pagamento:";
                    }
                }
                if (pb[0].status == "canceled")
                {
                    ViewBag.cobranca = "Seu ranking está inativo por falta de pagamento do boleto. Não será possível gerar temporadas e rodadas. Favor consultar os administradores do rankingdetenis.com";
                }
            }

            // seção da Rodada atual:
            Rodada rodadaAtual = new Rodada();

            try
            {
                rodadaAtual         = db.Rodada.Where(r => r.barragemId == barragemId && r.isRodadaCarga == false).OrderByDescending(r => r.Id).FirstOrDefault();
                ViewBag.rodadaAtual = rodadaAtual;
                ViewBag.diaDaSemana = diaDaSemanaEmPortugues(rodadaAtual.dataFim.DayOfWeek.ToString());
                var jogosEmAberto = db.Jogo.Where(j => j.rodada_id == rodadaAtual.Id && j.situacao_Id != 4 && j.situacao_Id != 5).Count();
                ViewBag.jogosEmAberto = jogosEmAberto;
            }catch (Exception) { }
            // seção da Temporada atual:
            try {
                var temporada = db.Temporada.Where(t => t.barragemId == barragemId && t.isAtivo == true).OrderByDescending(t => t.Id).FirstOrDefault();
                ViewBag.temporada = temporada;
                var qtddRodada = db.Rodada.Where(r => r.temporadaId == temporada.Id && r.Id <= rodadaAtual.Id && r.barragemId == barragemId).Count();
                ViewBag.NumeroRodada = "Rodada " + qtddRodada + " de " + temporada.qtddRodadas;
            } catch (Exception) { }
            // seção dos suspensos por WO:
            try{
                string suspensoWO           = Tipos.Situacao.suspensoWO.ToString();
                string suspenso             = Tipos.Situacao.suspenso.ToString();
                var    jogadoresSuspensosWO = db.UserProfiles.Where(u => u.barragemId == barragemId && u.situacao == suspensoWO).Count();
                var    jogadoresSuspensos   = db.UserProfiles.Where(u => u.barragemId == barragemId && u.situacao == suspenso).Count();
                ViewBag.jogadoresSuspensosWO = jogadoresSuspensosWO;
                ViewBag.jogadoresSuspensos   = jogadoresSuspensos;
            }
            catch (Exception) { }
            // seção das novas solicitações de participação:
            try
            {
                string pendente           = Tipos.Situacao.pendente.ToString();
                var    jogadorespendentes = db.UserProfiles.Where(u => u.barragemId == barragemId && u.situacao == pendente).Count();
                ViewBag.jogadorespendentes = jogadorespendentes;
            }
            catch (Exception) { }
            return(View());
        }
Пример #17
0
        public async Task ConfirmarNotificacao(Notificacao notificacao)
        {
            try
            {
                var response = await client.PostAsJsonAsync(
                    "/transaction/notification", notificacao);

                if (response.IsSuccessStatusCode)
                {
                    var retorno = await response.Content.ReadAsAsync <RetornoNotificacao>();

                    int id = Convert.ToInt32(retorno.status_request.items[0].item_id);
                    var pb = db.PagamentoBarragem.Where(p => p.Id == id).SingleOrDefault();
                    if (retorno.status_request.result == "success")
                    {
                        if (retorno.status_request.status == "paid" || retorno.status_request.status == "reserved" || retorno.status_request.status == "completed")
                        {
                            pb.status = "Pago";
                            var barragem = db.Barragens.Find(pb.barragemId);
                            if (barragem.isAtiva == false)
                            {
                                barragem.isAtiva         = true;
                                db.Entry(barragem).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                        }
                        else if (retorno.status_request.status == "canceled")
                        {
                            if (pb.status != "Pago")
                            {
                                pb.status = retorno.status_request.status;
                                var barragem = db.Barragens.Find(pb.barragemId);
                                barragem.isAtiva         = false;
                                db.Entry(barragem).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                        }
                        else if (retorno.status_request.status == "pending")
                        {
                            // não faz nada
                        }
                        else
                        {
                            pb.status = retorno.status_request.status;
                        }
                        db.Entry(pb).State = EntityState.Modified;
                        db.SaveChanges();
                        if (retorno.status_request.status == "paid" || retorno.status_request.status == "reserved" || retorno.status_request.status == "completed")
                        {
                            Pagamento pagamento = db.Pagamento.Find(pb.pagamentoId);
                            pagamento.arrecadado = db.PagamentoBarragem.Where(pg => pg.pagamentoId == pagamento.Id && pg.status == "Pago").Sum(pg => pg.valor);
                            if (pagamento.arrecadado == pagamento.areceber)
                            {
                                pagamento.status = "Finalizado";
                            }
                            else
                            {
                                pagamento.status = "Em aberto";
                            }
                            db.Entry(pagamento).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        pb.status          = retorno.status_request.response_message;
                        db.Entry(pb).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                var log2 = new Log();
                log2.descricao = "PagHiper: Exception:" + DateTime.Now + e.Message + ": transactionId:" + notificacao.transaction_id + ":" + notificacao.notification_id;
                db.Log.Add(log2);
                db.SaveChanges();
            }
        }