コード例 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Business.Campeonatos.Support.Jogo jogo = new BolaoNet.Business.Campeonatos.Support.Jogo(base.UserName);

                //Se estiver passando o id do jogo
                if (Request.QueryString["IDJogo"] != null)
                {
                    long idJogo = Convert.ToInt64(Request.QueryString["IDJogo"].ToString());

                    jogo.Campeonato = CurrentCampeonato;
                    jogo.IDJogo     = idJogo;
                    jogo.Load();


                    this.ctlJogoDetail.Jogo = jogo;
                }//endif passando id do jogo



                Business.Boloes.Support.Bolao business = new BolaoNet.Business.Boloes.Support.Bolao(base.UserName, CurrentBolao.Nome);


                #region Buscando os pontos dos jogos
                List <Model.Boloes.BolaoCriterioPontos> listCriteriosPontos = new List <Model.Boloes.BolaoCriterioPontos>();

                IList <Framework.DataServices.Model.EntityBaseData> auxlist = business.LoadCriteriosPontos(null);

                for (int c = 0; c < 20; c++)
                {
                    Model.Boloes.BolaoCriterioPontos criteriosPontos = new BolaoNet.Model.Boloes.BolaoCriterioPontos();
                    criteriosPontos.Bolao      = new BolaoNet.Model.Boloes.Bolao(CurrentBolao.Nome);
                    criteriosPontos.CriterioID = (Model.Boloes.BolaoCriterioPontos.CriteriosID)(c + 1);
                    listCriteriosPontos.Add(criteriosPontos);
                }


                foreach (Model.Boloes.BolaoCriterioPontos pontos in auxlist)
                {
                    if (pontos.Pontos != 0)
                    {
                        listCriteriosPontos[(int)pontos.CriterioID - 1].Pontos = pontos.Pontos;
                    }
                }

                Criterios = listCriteriosPontos;
                #endregion

                #region Buscando os pontos dos times

                List <Model.Boloes.BolaoCriterioPontosTimes> listCriteriosPontosTimes = new List <BolaoNet.Model.Boloes.BolaoCriterioPontosTimes>();

                auxlist = business.LoadCriteriosPontosTimes(null);

                foreach (Model.Boloes.BolaoCriterioPontosTimes times in auxlist)
                {
                    listCriteriosPontosTimes.Add(times);
                }

                CriteriosTimes = listCriteriosPontosTimes;

                #endregion

                #region Buscando a classificação do campeonato
                IList <Model.Boloes.BolaoMembros> listClassificacao = business.LoadClassificacao(0);


                #endregion

                #region Buscando as apostas do Usuários
                List <Model.Boloes.Simulation.JogoUsuarioPosicao> listJogosPos = new List <BolaoNet.Model.Boloes.Simulation.JogoUsuarioPosicao>();

                Business.Boloes.Support.JogoUsuario businessJogos = new BolaoNet.Business.Boloes.Support.JogoUsuario(base.UserName);
                businessJogos.Bolao = CurrentBolao;

                //Model.Campeonatos.Jogo jogo = new BolaoNet.Model.Campeonatos.Jogo(380);
                //jogo.Campeonato = CurrentCampeonato;

                auxlist = businessJogos.LoadApostasByJogo(CurrentBolao, jogo, null);

                foreach (Model.Boloes.JogoUsuario aposta in auxlist)
                {
                    Model.Boloes.Simulation.JogoUsuarioPosicao apostaPosicao = new Model.Boloes.Simulation.JogoUsuarioPosicao();
                    apostaPosicao.CopyAposta(aposta);


                    for (int c = listClassificacao.Count - 1; c >= 0; c--)
                    {
                        if (string.Compare(apostaPosicao.UserName, listClassificacao[c].UserName, true) == 0)
                        {
                            apostaPosicao.TotalPontos = listClassificacao[c].TotalPontos;
                            apostaPosicao.LastPontos  = listClassificacao[c].TotalPontos;

                            apostaPosicao.Posicao     = listClassificacao[c].Posicao;
                            apostaPosicao.LastPosicao = listClassificacao[c].Posicao;


                            apostaPosicao.LastApostaPontos = apostaPosicao.ApostaPontos.Pontos;

                            listClassificacao.RemoveAt(c);

                            break;
                        }
                    }


                    listJogosPos.Add(apostaPosicao);
                }

                JogoUsuarios = listJogosPos;

                #endregion


                this.grdJogosUsuarios.DataSource = OrderPontos(listJogosPos);
                this.grdJogosUsuarios.DataBind();
            }
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Business.Campeonatos.Support.Jogo jogo = null;

                //Se estiver passando o id do jogo
                if (Request.QueryString["IDJogo"] != null)
                {
                    long idJogo = Convert.ToInt64(Request.QueryString["IDJogo"].ToString());

                    jogo            = new BolaoNet.Business.Campeonatos.Support.Jogo(base.UserName);
                    jogo.Campeonato = CurrentCampeonato;
                    jogo.IDJogo     = idJogo;
                    jogo.Load();


                    this.ctlJogoDetail.Jogo = jogo;


                    if (jogo.PartidaValida)
                    {
                        Model.Boloes.JogoUsuario social =
                            new Business.Boloes.Support.JogoUsuario(base.UserName).LoadSocialNetwork(base.BaseCurrentBolao, base.UserName, jogo);

                        if (social.DataFacebook == DateTime.MinValue)
                        {
                            this.ctlMenuTools.FaceVisible = true;
                        }
                    }
                }//endif passando id do jogo



                //Adicionando os dados do facebook
                if (Request["code"] != null)
                {
                    Model.Boloes.JogoUsuario jogoUsuario = new Model.Boloes.JogoUsuario();
                    jogoUsuario.Copy(jogo);
                    jogoUsuario.Bolao    = base.BaseCurrentBolao;
                    jogoUsuario.UserName = base.UserName;



                    IList <Framework.DataServices.Model.EntityBaseData> res
                        = new Business.Boloes.Support.JogoUsuario(base.UserName, jogoUsuario).SelectAll("JogosUsuarios.IdJogo='" + jogo.IDJogo + "' and JogosUsuarios.UserName='******'");

                    jogoUsuario = (Model.Boloes.JogoUsuario)res[0];

                    string message = "";
                    string caption = "Resultado: " +
                                     jogo.Time1.Nome + " " + jogo.GolsTime1.ToString() + " x " +
                                     jogo.GolsTime2.ToString() + " " + jogo.Time2.Nome;
                    string description = "Minha Aposta: " +
                                         jogo.Time1.Nome + " " + jogoUsuario.ApostaTime1.ToString() + " x " +
                                         jogoUsuario.ApostaTime2.ToString() + " " + jogo.Time2.Nome + "   - Pontos: " + jogoUsuario.Pontos;
                    string imagePontos = "";

                    message = ConfigurationManager.AppSettings["Facebook_Pontos_" + jogoUsuario.Pontos.ToString()];


                    imagePontos = ConfigurationManager.AppSettings["Facebook_images"] + "pontos" + jogoUsuario.Pontos + ".gif";


                    if (jogoUsuario.Pontos == 10 && (string.Compare(jogo.Time1.Nome, "Brasil", true) == 0 || string.Compare(jogo.Time2.Nome, "Brasil", true) == 0))
                    {
                        message     = ConfigurationManager.AppSettings["Facebook_Pontos_10_Brasil"];
                        imagePontos = ConfigurationManager.AppSettings["Facebook_images"] + "pontos" + jogoUsuario.Pontos + "_Brasil.gif";
                    }

                    if (string.IsNullOrEmpty(message))
                    {
                        switch (jogoUsuario.Pontos)
                        {
                        case 0:
                            message = "Não tive sorte neste jogo, que zebra, não acertei nada!";
                            break;

                        case 1:
                            message = "Consegui acertar pelo menos o gol de uma das duas seleções.";
                            break;

                        case 2:
                            message = "Que chance eu perdi...pelo menos acertei o gol de uma das duas seleções";
                            break;

                        case 3:
                            message = "Acertei o ganhador do jogo!";
                            break;

                        case 4:
                            message = "Quase, acertei a vitória de uma das seleções e o gol de uma delas!";
                            break;

                        case 5:
                            message = "Resultado difícil, mas acertei o empate!";
                            break;

                        case 6:
                            message = "Já que é jogo do Brasil, consegui acertar a vitória da seleção.";
                            break;

                        case 8:
                            message = "Quase em cheio! Acertei a vitória da seleção e quantidade de gols de uma delas! Mas como é jogo do Brasil, perdi uma chance boa!";
                            break;

                        case 10:
                            if (string.Compare(jogo.Time1.Nome, "Brasil") == 0 || string.Compare(jogo.Time2.Nome, "Brasil") == 0)
                            {
                                message = "Jogo do Brasil é sempre difícil, ainda mais quando ocorre empate.";
                            }
                            else
                            {
                                message = "Na mosca! Muito fácil ... rs";
                            }
                            break;

                        case 20:
                            message = "No jogo do Brasil é melhor ainda, consegui acertar em cheio!!!";
                            break;
                        }
                    }



                    Dictionary <string, string> tokens = new Dictionary <string, string>();

                    string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret={4}",
                                               _applicationKey, Request.Url.AbsoluteUri, _scope, Request["code"].ToString(), _applicationSecret);

                    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

                    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                    {
                        StreamReader reader = new StreamReader(response.GetResponseStream());

                        string vals = reader.ReadToEnd();

                        foreach (string token in vals.Split('&'))
                        {
                            //meh.aspx?token1=steve&token2=jake&...
                            tokens.Add(token.Substring(0, token.IndexOf("=")),
                                       token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1));
                        }
                    }

                    string access_token = tokens["access_token"];

                    var client = new FacebookClient(access_token);


                    string originalQuery = "/Boloes/ApostasJogos.aspx?IdJogo=" + Request.QueryString["IDJogo"].ToString();

                    var postParams = new
                    {
                        name        = "BolãoNET",
                        caption     = caption,
                        description = description,
                        message     = message,
                        link        = Request.Url.Host + originalQuery,
                        picture     = imagePontos,
                    };


                    object resultFacebook = client.Post("/me/feed", postParams);


                    bool result = new Business.Boloes.Support.JogoUsuario(base.UserName).UpdateFacebook(base.BaseCurrentBolao, base.UserName, jogo);

                    Response.Redirect("~" + originalQuery);
                } //endif code (Facebook)
            }     //end if IsPostBack

            BindGrid();
        }