예제 #1
0
        public string EndGame(string idMoi, string idPartieJeu, string position, int score1fin, int score2fin)
        {
            // Si c'est un facebook user, on stocke les scores dans le modèle facebook
            string valeuridfacebook = System.Web.HttpContext.Current.Session["idfbk"] as string;

            ViewBag.idfbk = valeuridfacebook;
            AWLFacebookContext db   = new AWLFacebookContext();
            AWLFacebookProfile user = db.FacebookNuttersTable.FirstOrDefault(u => u.UserId.Equals(valeuridfacebook));

            if (position == "1")
            {
                user.UserNuts1 = user.UserNuts1 + score1fin;
                user.UserBonus = user.UserBonus + score1fin * 10;
                // Mise à jour des noix d'or, de bronze et simples
                while (user.UserNuts1 > 30)
                {
                    int restesimple = user.UserNuts1 - 30;
                    user.UserNuts2 = user.UserNuts2 + 1;
                    user.UserNuts1 = restesimple;
                }
                while (user.UserNuts2 > 10)
                {
                    int restesimple2 = user.UserNuts2 - 10;
                    user.UserNuts3 = user.UserNuts3 + 1;
                    user.UserNuts2 = restesimple2;
                }
                db.SaveChanges();
                // Destruction de la partie par l'initiateur seul de la partie
                int positionmoi = PartiesNames.IndexOf(idPartieJeu);
                PartiesCln.RemoveAt(positionmoi);
                PartiesNames.RemoveAt(positionmoi);
            }
            else if (position == "2")
            {
                user.UserNuts1 = user.UserNuts1 + score2fin;
                user.UserBonus = user.UserBonus + score2fin * 10;
                // Mise à jour des noix d'or, de bronze et simples
                while (user.UserNuts1 > 30)
                {
                    int restesimple = user.UserNuts1 - 30;
                    user.UserNuts2 = user.UserNuts2 + 1;
                    user.UserNuts1 = restesimple;
                }
                while (user.UserNuts2 > 10)
                {
                    int restesimple2 = user.UserNuts2 - 10;
                    user.UserNuts3 = user.UserNuts3 + 1;
                    user.UserNuts2 = restesimple2;
                }
                db.SaveChanges();
            }

            //System.Web.HttpContext.Current.User.Identity.Name
            return("Fin du jeu !");
        }
        //
        // POST: /Account/Register

        public string RegisterFbk(string idfk, string usernamefk, string emailfk)
        {
            // Tentative d'inscription de l'utilisateur par Facebook
            try
            {
                // On crée le compte facebook nutter dans notre base de données
                AWLFacebookContext contextNuttersFacebook = new AWLFacebookContext();

                if (!(contextNuttersFacebook.FacebookNuttersTable.Any(o => o.UserId.Equals(idfk))))
                {
                    AWLFacebookProfile nutterDefacebook = new AWLFacebookProfile();
                    nutterDefacebook.UserId    = idfk;
                    nutterDefacebook.UserName  = usernamefk;
                    nutterDefacebook.Email     = emailfk;
                    nutterDefacebook.UserNuts1 = 30;
                    nutterDefacebook.UserNuts2 = 0;
                    nutterDefacebook.UserNuts3 = 0;
                    nutterDefacebook.UserBonus = 0;
                    nutterDefacebook.UserLevel = 1;
                    contextNuttersFacebook.FacebookNuttersTable.Add(nutterDefacebook);


                    contextNuttersFacebook.SaveChanges();


                    // ... et on l'envoit à l'utilisateur facebook par email
                    // MailingService5 mailingService = new MailingService5();
                    // mailingService.SendTokenByEmail(confirmationToken, model.Email, model.UserName);

                    ViewData["ici"]   = "facebook";
                    ViewData["idfbk"] = idfk;
                    ViewBag.idfbk     = idfk;
                    System.Web.HttpContext.Current.Session["idfbk"]    = idfk;
                    System.Web.HttpContext.Current.Session["fbkornot"] = "fbk";
                    return("OKRA");
                }
                else
                {
                    ViewData["ici"]   = "facebook";
                    ViewData["idfbk"] = idfk;
                    ViewBag.idfbk     = idfk;
                    System.Web.HttpContext.Current.Session["idfbk"]    = idfk;
                    System.Web.HttpContext.Current.Session["fbkornot"] = "fbk";
                    return("KO");
                }
            }
            catch (Exception e)
            {
                return("KOA");
            }
        }
예제 #3
0
        public string canyouplay(string idmoimatches)
        {
            AWLFacebookContext db   = new AWLFacebookContext();
            AWLFacebookProfile user = db.FacebookNuttersTable.FirstOrDefault(u => u.UserId.Equals(idmoimatches));

            if ((user.UserNuts1 >= 15) ||
                (user.UserNuts1 < 15 && user.UserNuts2 >= 1) || (user.UserNuts1 < 15 && user.UserNuts2 < 1 && user.UserNuts3 >= 1))
            {
                if (user.UserNuts1 >= 15)
                {
                    user.UserNuts1 = user.UserNuts1 - 15;
                }
                else if (user.UserNuts1 < 15 && user.UserNuts2 >= 1)
                {
                    user.UserNuts2 = user.UserNuts2 - 1;
                    user.UserNuts1 = user.UserNuts1 + 15;
                }
                else if (user.UserNuts1 < 15 && user.UserNuts2 < 1 && user.UserNuts3 >= 1)
                {
                    user.UserNuts3 = user.UserNuts3 - 1;
                    user.UserNuts2 = user.UserNuts2 + 9;     //(+10-1)
                    user.UserNuts1 = user.UserNuts1 + 15;
                }

                // Conversions
                while (user.UserNuts1 > 30)
                {
                    int restesimple = user.UserNuts1 - 30;
                    user.UserNuts2 = user.UserNuts2 + 1;
                    user.UserNuts1 = restesimple;
                }
                while (user.UserNuts2 > 10)
                {
                    int restesimple2 = user.UserNuts2 - 10;
                    user.UserNuts3 = user.UserNuts3 + 1;
                    user.UserNuts2 = restesimple2;
                }

                // Enregistrement
                db.SaveChanges();

                return("OK");
            }
            else
            {
                return("KO");
            }
        }
예제 #4
0
        public string EndGame(string idMoi, string position, int score1fin, int score2fin)
        {
            /*// Les scores sont là, il ne reste qu'à les mettre dans les VRAIS profils
             * PartiesCln.ElementAt(PartiesNames.IndexOf(idPartieHub)).player1.score = score1fin;
             * PartiesCln.ElementAt(PartiesNames.IndexOf(idPartieHub)).player2.score = score2fin;
             * PartiesCln.ElementAt(PartiesNames.IndexOf(idPartieHub)).player1.scorebonus = score1fin * 100;
             * PartiesCln.ElementAt(PartiesNames.IndexOf(idPartieHub)).player2.scorebonus = score2fin * 100;
             */
            string valeurglobale;

            if (System.Web.HttpContext.Current.Session["idfbk"] != null)
            {
                valeurglobale = System.Web.HttpContext.Current.Session["idfbk"] as string;
                ViewBag.idfbk = valeurglobale;
                if (!string.IsNullOrEmpty(valeurglobale))
                {
                    // Si c'est un nutter facebook, on stocke les scores dans le modèle
                    AWLFacebookContext db   = new AWLFacebookContext();
                    AWLFacebookProfile user = db.FacebookNuttersTable.FirstOrDefault(u => u.UserId.Equals(valeurglobale));
                    if (position == "1")
                    {
                        user.UserNuts1 = user.UserNuts1 + score1fin;
                        user.UserBonus = user.UserBonus + score1fin * 10;
                        // Mise à jour des noix d'or, de bronze et simples
                        while (user.UserNuts1 > 30)
                        {
                            int restesimple = user.UserNuts1 - 30;
                            user.UserNuts2 = user.UserNuts2 + 1;
                            user.UserNuts1 = restesimple;
                        }
                        while (user.UserNuts2 > 10)
                        {
                            int restesimple2 = user.UserNuts2 - 10;
                            user.UserNuts3 = user.UserNuts3 + 1;
                            user.UserNuts2 = restesimple2;
                        }
                        db.SaveChanges();
                        // Destruction de la partie par l'initiateur seul de la partie
                        int positionmoi = PartiesNames.IndexOf(idMoi);
                        PartiesCln.RemoveAt(positionmoi);
                        PartiesNames.RemoveAt(positionmoi);
                    }
                    else if (position == "2")
                    {
                        user.UserNuts1 = user.UserNuts1 + score2fin;
                        user.UserBonus = user.UserBonus + score2fin * 10;
                        // Mise à jour des noix d'or, de bronze et simples
                        while (user.UserNuts1 > 30)
                        {
                            int restesimple = user.UserNuts1 - 30;
                            user.UserNuts2 = user.UserNuts2 + 1;
                            user.UserNuts1 = restesimple;
                        }
                        while (user.UserNuts2 > 10)
                        {
                            int restesimple2 = user.UserNuts2 - 10;
                            user.UserNuts3 = user.UserNuts3 + 1;
                            user.UserNuts2 = restesimple2;
                        }
                        db.SaveChanges();
                    }
                }
            }
            else
            {
                if (enregistre)
                {
                    // Si c'est un nutter user, on stocke les scores dans le modèle du user courant
                    UsersContext db   = new UsersContext();
                    UserProfile  user = db.UserProfiles.FirstOrDefault(u => u.UserName.Equals(User.Identity.Name));
                    if (position == "1")
                    {
                        user.UserNuts1 = user.UserNuts1 + score1fin;
                        user.UserBonus = user.UserBonus + score1fin * 10;
                        // Mise à jour des noix d'or, de bronze et simples
                        while (user.UserNuts1 > 30)
                        {
                            int restesimple = user.UserNuts1 - 30;
                            user.UserNuts2 = user.UserNuts2 + 1;
                            user.UserNuts1 = restesimple;
                        }
                        while (user.UserNuts2 > 10)
                        {
                            int restesimple2 = user.UserNuts2 - 10;
                            user.UserNuts3 = user.UserNuts3 + 1;
                            user.UserNuts2 = restesimple2;
                        }
                        db.SaveChanges();
                        // Destruction de la partie par l'initiateur seul de la partie
                        int positionmoi = PartiesNames.IndexOf(idMoi);
                        PartiesCln.RemoveAt(positionmoi);
                        PartiesNames.RemoveAt(positionmoi);
                    }
                    else if (position == "2")
                    {
                        user.UserNuts1 = user.UserNuts1 + score2fin;
                        user.UserBonus = user.UserBonus + score2fin * 10;
                        // Mise à jour des noix d'or, de bronze et simples
                        while (user.UserNuts1 > 30)
                        {
                            int restesimple = user.UserNuts1 - 30;
                            user.UserNuts2 = user.UserNuts2 + 1;
                            user.UserNuts1 = restesimple;
                        }
                        while (user.UserNuts2 > 10)
                        {
                            int restesimple2 = user.UserNuts2 - 10;
                            user.UserNuts3 = user.UserNuts3 + 1;
                            user.UserNuts2 = restesimple2;
                        }
                        db.SaveChanges();
                    }
                }
                else
                {
                    // Création des variables de session pour les nutters anonymes et stockage des scores
                    if (position == "1")
                    {
                        if (System.Web.HttpContext.Current.Session["nutterAnonymous"] != null)
                        {
                            System.Web.HttpContext.Current.Session["nutterAnonymous"] = (int)System.Web.HttpContext.Current.Session["nutterAnonymous"] + score1fin;
                        }
                        else
                        {
                            System.Web.HttpContext.Current.Session["nutterAnonymous"] = score1fin;
                        }
                        // Destruction de la partie par l'initiateur seul de la partie
                        int positionmoi = PartiesNames.IndexOf(idMoi);
                        PartiesCln.RemoveAt(positionmoi);
                        PartiesNames.RemoveAt(positionmoi);
                    }
                    else if (position == "2")
                    {
                        if (System.Web.HttpContext.Current.Session["nutterAnonymous"] != null)
                        {
                            System.Web.HttpContext.Current.Session["nutterAnonymous"] = (int)System.Web.HttpContext.Current.Session["nutterAnonymous"] + score2fin;
                        }
                        else
                        {
                            System.Web.HttpContext.Current.Session["nutterAnonymous"] = score2fin;
                        }
                    }
                }
            }

            //System.Web.HttpContext.Current.User.Identity.Name
            return("Fin du jeu !");
        }
예제 #5
0
        public string gameend(int n1, int n2, int n3, int b, int good)
        {
            try
            {
                string valeurglobale;
                if (System.Web.HttpContext.Current.Session["idfbk"] != null)
                {
                    valeurglobale = System.Web.HttpContext.Current.Session["idfbk"] as string;
                    ViewBag.idfbk = valeurglobale;
                    if (!string.IsNullOrEmpty(valeurglobale))
                    {
                        // Si c'est un facebook user, on stocke les scores dans le modèle facebook
                        string             idfacebooker = Convert.ToString(ViewBag.idfbk);
                        AWLFacebookContext db           = new AWLFacebookContext();
                        AWLFacebookProfile user         = db.FacebookNuttersTable.FirstOrDefault(u => u.UserId.Equals(valeurglobale));
                        user.UserNuts1 = n3;
                        user.UserNuts2 = n2;
                        user.UserNuts3 = n1;
                        user.UserBonus = b;
                        user.UserLevel = good;
                        // Mise à jour des noix d'or, de bronze et simples
                        while (user.UserNuts1 > 30)
                        {
                            int restesimple = user.UserNuts1 - 30;
                            user.UserNuts2 = user.UserNuts2 + 1;
                            user.UserNuts1 = restesimple;
                        }
                        while (user.UserNuts2 > 10)
                        {
                            int restesimple2 = user.UserNuts2 - 10;
                            user.UserNuts3 = user.UserNuts3 + 1;
                            user.UserNuts2 = restesimple2;
                        }
                        db.SaveChanges();
                    }
                }
                else
                {
                    if (enregistre4)
                    {
                        // Si c'est un nutter user, on stocke les scores dans le modèle du user courant
                        UsersContext db   = new UsersContext();
                        UserProfile  user = db.UserProfiles.FirstOrDefault(u => u.UserName.Equals(System.Web.HttpContext.Current.User.Identity.Name));
                        user.UserNuts1 = n3;
                        user.UserNuts2 = n2;
                        user.UserNuts3 = n1;
                        user.UserBonus = b;
                        user.UserLevel = good;
                        // Mise à jour des noix d'or, de bronze et simples
                        while (user.UserNuts1 > 30)
                        {
                            int restesimple = user.UserNuts1 - 30;
                            user.UserNuts2 = user.UserNuts2 + 1;
                            user.UserNuts1 = restesimple;
                        }
                        while (user.UserNuts2 > 10)
                        {
                            int restesimple2 = user.UserNuts2 - 10;
                            user.UserNuts3 = user.UserNuts3 + 1;
                            user.UserNuts2 = restesimple2;
                        }
                        db.SaveChanges();
                    }
                    else
                    {
                        // On détruit la variable de session
                        if (System.Web.HttpContext.Current.Session["nutterAnonymous"] != null)
                        {
                            System.Web.HttpContext.Current.Session.Remove("nutterAnonymous");
                        }
                    }
                }

                // Retourne la position de départ des hibous
                return("OK");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
        //
        // GET: /SuccessPaiementFbk/

        public ActionResult Index(string identifiant, string montant, string devise, string itemnumber, string idnutter)
        {
            AWLFacture achat = new AWLFacture(); // this is something I have defined in order to save the order in the database

            //validate the order
            string  dateNumber = DateTime.Now.ToString();
            Decimal amountPaid = 0;

            Decimal.TryParse(montant, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.InvariantCulture, out amountPaid);

            AWLFacturesContext contextFactures = new AWLFacturesContext();
            List <AWLFacture>  tableFactures   = contextFactures.FacturesTable.ToList();

            if (tableFactures.Count(d => d.IdPaiement == identifiant) < 1)
            {
                //if the transactionID is not found in the database, add it
                //then, add the additional features to the user account
                AWLFacebookContext db        = new AWLFacebookContext();
                AWLFacebookProfile userBuyer = db.FacebookNuttersTable.FirstOrDefault(u => u.UserId.Equals(idnutter));


                // Mise à jour des paramètres d'achat
                achat.IdPaiement = identifiant;
                achat.Buyer      = userBuyer.UserName + "/" + idnutter;
                string nomitem;
                if (itemnumber == "1")
                {
                    achat.Article = "Simple Nuts";
                }
                else if (itemnumber == "2")
                {
                    achat.Article = "Bronze Nuts";
                }
                else if (itemnumber == "3")
                {
                    achat.Article = "Gold Nuts";
                }
                else if (itemnumber == "4")
                {
                    achat.Article = "Package Nuts";
                }

                nomitem          = achat.Article;
                achat.Montant    = amountPaid;
                achat.Plateforme = dateNumber + " - with FACEBK";

                // On ajoute l'entrée dans la table Factures et on sauve la base de données
                contextFactures.FacturesTable.Add(achat);
                contextFactures.SaveChanges();

                // Génération du PDF et des emails

                // Ajout des noix dans le compte du nutter
                if (itemnumber == "1")
                {
                    userBuyer.UserNuts1 = userBuyer.UserNuts1 + 30;
                }
                else if (itemnumber == "2")
                {
                    userBuyer.UserNuts2 = userBuyer.UserNuts2 + 30;
                }
                else if (itemnumber == "3")
                {
                    userBuyer.UserNuts3 = userBuyer.UserNuts3 + 30;
                }
                else if (itemnumber == "4")
                {
                    userBuyer.UserNuts1 = userBuyer.UserNuts1 + 30;
                    userBuyer.UserNuts2 = userBuyer.UserNuts2 + 30;
                    userBuyer.UserNuts3 = userBuyer.UserNuts3 + 30;
                }
                db.SaveChanges();

                // Mise à jour dans le panel d'en haut à droite
                ViewData["noix1"] = userBuyer.UserNuts1;
                ViewData["noix2"] = userBuyer.UserNuts2;
                ViewData["noix3"] = userBuyer.UserNuts3;

                // Pour la fenetre de confirmation et de succès
                ViewBag.nomitem         = nomitem;
                ViewBag.identifiantcool = identifiant;
                ViewBag.montantcool     = montant;
                ViewBag.devisecool      = devise;

                return(View());
            }
            else
            {
                //error
                return(View("ErrorBuy"));
            }
        }