Exemplo n.º 1
0
            public void Reseed(MakroDataContext context)
            {
                if (!context.Participants.Any())
                {
                    context.Participants.AddOrUpdate(m => m.FacebookId,
                        new DataContext.Models.Participant() { FacebookId = 1, Name = "Jan Kowalski" },
                        new DataContext.Models.Participant() { FacebookId = 2, Name = "Anna Nowak" },
                        new DataContext.Models.Participant() { FacebookId = 3, Name = "Stefan Batory" },
                        new DataContext.Models.Participant() { FacebookId = 4, Name = "Elzbieta Pierwsza" },
                        new DataContext.Models.Participant() { FacebookId = 5, Name = "Jan Kochanowski" },
                        new DataContext.Models.Participant() { FacebookId = 6, Name = "Maria Skłodowska-Curie" },
                        new DataContext.Models.Participant() { FacebookId = 7, Name = "Karolina Kaszubowska" });
                    context.SaveChanges();
                }

                if (!context.Competitons.Any())
                {
                    context.Competitons.AddOrUpdate(m => m.CompetitionId,
                        new DataContext.Models.Competition() { CompetitionId = 1, StartDate = DateTime.Parse("2013-10-07"), EndDate = DateTime.Parse("2013-10-14") },
                        new DataContext.Models.Competition() { CompetitionId = 2, StartDate = DateTime.Parse("2013-10-14"), EndDate = DateTime.Parse("2013-10-21") },
                        new DataContext.Models.Competition() { CompetitionId = 3, StartDate = DateTime.Parse("2013-10-21"), EndDate = DateTime.Parse("2013-10-28") },
                        new DataContext.Models.Competition() { CompetitionId = 4, StartDate = DateTime.Parse("2013-10-28"), EndDate = DateTime.Parse("2013-11-04") },
                        new DataContext.Models.Competition() { CompetitionId = 5, StartDate = DateTime.Parse("2013-11-04"), EndDate = DateTime.Parse("2013-11-11") },
                        new DataContext.Models.Competition() { CompetitionId = 6, StartDate = DateTime.Parse("2013-11-11"), EndDate = DateTime.Parse("2013-11-18") },
                        new DataContext.Models.Competition() { CompetitionId = 7, StartDate = DateTime.Parse("2013-11-18"), EndDate = DateTime.Parse("2013-11-25") },
                        new DataContext.Models.Competition() { CompetitionId = 8, StartDate = DateTime.Parse("2013-11-25"), EndDate = DateTime.Parse("2013-12-01") });
                    context.SaveChanges();
                }

                if (!context.Recipes.Any())
                {
                    context.Recipes.AddOrUpdate(m => m.RecipeId,
                        new DataContext.Models.Recipe() { CompetitionId = 1, FacebookId = 1, RecipeId = 1, FormSubmitDate = DateTime.Now.AddDays(-25), Title = "Pierogi", Content = "Oto przepis" },
                        new DataContext.Models.Recipe() { CompetitionId = 1, FacebookId = 2, RecipeId = 2, FormSubmitDate = DateTime.Now.AddDays(-25), Title = "Schabowy", Content = "Oto przepis" },
                        new DataContext.Models.Recipe() { CompetitionId = 1, FacebookId = 3, RecipeId = 3, FormSubmitDate = DateTime.Now.AddDays(-25), Title = "Mielone", Content = "Oto przepis" },
                        new DataContext.Models.Recipe() { CompetitionId = 2, FacebookId = 4, RecipeId = 4, FormSubmitDate = DateTime.Now.AddDays(-15), Title = "Bigos", Content = "Oto przepis" },
                        new DataContext.Models.Recipe() { CompetitionId = 2, FacebookId = 5, RecipeId = 5, FormSubmitDate = DateTime.Now.AddDays(-15), Title = "Piers z kurczaka", Content = "Oto przepis" },
                        new DataContext.Models.Recipe() { CompetitionId = 2, FacebookId = 6, RecipeId = 6, FormSubmitDate = DateTime.Now.AddDays(-15), Title = "Zupa owocowa", Content = "Oto przepis" },
                        new DataContext.Models.Recipe() { CompetitionId = 2, FacebookId = 7, RecipeId = 7, FormSubmitDate = DateTime.Now.AddDays(-15), Title = "Cacyki", Content = "Oto przepis" });
                    context.SaveChanges();
                }
            }
Exemplo n.º 2
0
        public ActionResult AddRecipe(Recipe model, long facebookId, string oAuthToken, bool tc)
        {
            if (!ModelState.IsValidField("Title") || !ModelState.IsValidField("Content"))
            {
                ViewBag.TermsConditionMessage = "Upewnij się czy pola nie są puste i czy zaakceptowałeś regulamin";
                return View("AddRecipe", model);
            }
            else if (tc == false)
            {
                ViewBag.TermsConditionMessage = "Musisz najpierw zaakceptować regulamin";
                return View("AddRecipe", model);
            }
            else
            {
                using (var context = new MakroDataContext())
                {
                    string fbUserFullName = GetFbUserFullName.Get(facebookId);

                    try
                    {
                        Participant user;
                        Recipe recipe = new Recipe();
                        if (!string.IsNullOrEmpty(fbUserFullName))
                        {
                            if (context.Participants.FirstOrDefault(p => p.FacebookId == facebookId) == null)
                            {
                                user = new Participant()
                                {
                                    FacebookId = facebookId,
                                    Name = fbUserFullName
                                };
                                context.Participants.Add(user);
                                context.SaveChanges();
                            }
                            else
                            {
                                user = context.Participants.FirstOrDefault(p => p.FacebookId == facebookId);
                            }

                            recipe.User = user;
                            recipe.Title = model.Title;
                            recipe.Content = model.Content.Replace(System.Environment.NewLine, "<br />");
                            recipe.FormSubmitDate = DateTime.Now;
                            recipe.CompetitionId = CheckCompetition.GetProperCompetition();
                            context.Recipes.Add(recipe);
                            context.SaveChanges();
                        }

                        return RedirectToAction("ShowRecipe", new { facebookId = facebookId, recipeId = recipe.RecipeId, oAuthToken = oAuthToken });
                    }
                    catch (DbEntityValidationException e)
                    {
                        foreach (var eve in e.EntityValidationErrors)
                        {
                            Console.WriteLine(
                                "Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                eve.Entry.Entity.GetType().Name, eve.Entry.State);
                            foreach (var ve in eve.ValidationErrors)
                            {
                                Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                  ve.PropertyName, ve.ErrorMessage);
                            }
                        }
                        throw;
                    }
                }
            }
        }
Exemplo n.º 3
0
        public ActionResult VoteForRecipe(long facebookId, int recipeId, string oAuthToken)
        {
            using (var context = new MakroDataContext())
            {
                Vote vote = context.Votes.FirstOrDefault(v => v.RecipeId == recipeId && v.FacebookId == facebookId);
                if (vote == null)
                {
                    try
                    {
                        Recipe recipe = context.Recipes.FirstOrDefault(r => r.RecipeId == recipeId);
                        Vote newVote = new Vote()
                        {
                            FacebookId = facebookId,
                            RecipeId = recipeId,
                            VoteDate = DateTime.Now,
                        };
                        context.Votes.Add(newVote);
                        context.SaveChanges();

                        recipe.Points += 1;
                        context.Entry(recipe).State = EntityState.Modified;
                        context.SaveChanges();
                        TempData["VoteDone"] = true;
                        return RedirectToAction("ShowRecipe", "Recipes", new { facebookId, recipeId, oAuthToken });
                    }
                    catch (NullReferenceException e)
                    {
                        throw e;
                    }
                }
                else
                {
                    return RedirectToAction("ShowRecipe", "Recipes", new { facebookId, recipeId, oAuthToken });
                }
            }
        }
Exemplo n.º 4
0
        public ActionResult SubmitWinners(List<PickWinnersViewModel> model, string competitionId, bool winnersPicked)
        {
            if (winnersPicked)
            {
                ViewBag.WinnersPicked = true;
                ViewBag.ErrorMessage = "Zwycięzcy obecnego tygodnia zostali już wybrani.";
                return View("PickWinners", model);
            }
            if (model.Count(m => m.Place != 0 && m.IsWinner == true) != 3)
            {
                ViewBag.ErrorMessage = "Wybierz 3 zwycięzców i przypisz im miejsca!";
                ViewBag.WinnersPicked = false;
                return View("PickWinners", model);
            }
            using (var context = new MakroDataContext())
            {
                int competitionNumber;
                int.TryParse(competitionId, out competitionNumber);
                List<PickWinnersViewModel> fixedModel = model.Where(m => m.IsWinner).OrderBy(m => m.Place).ToList();

                if (fixedModel.Count() == 3)
                {
                    Winner winner = new Winner()
                    {
                        CompetitionId = competitionNumber,
                        FirstFacebookId = fixedModel[0].FacebookId,
                        SecondFacebookId = fixedModel[1].FacebookId,
                        ThirdFacebookId = fixedModel[2].FacebookId
                    };
                    context.Winners.Add(winner);
                    context.SaveChanges();

                    ViewBag.ErrorMessage = "Zwycięzcy zostali wybrani!";
                    return View("Index");
                }
                else
                {
                    ViewBag.ErrorMessage = "Wybierz 3 zwycięzców!";
                    ViewBag.WinnersPicked = false;
                    return View("PickWinners", model);
                }
            }
        }