Esempio n. 1
0
 private FriendRatingView LoadViewData(FriendRatingView viewData, ClosetOutfitView closetOutfitView, int invitationId)
 {
     viewData.ClosetOutfit   = closetOutfitView;
     viewData.Updater        = outfitUpdaterRepository.GetRandomOutfitUpdaterFor(closetOutfitView.PreCombination);
     viewData.InvitationId   = invitationId;
     viewData.ClosetOutfitId = closetOutfitView.ClosetOutfitId;
     viewData.UserName       = closetOutfitView.ClosetOutfit.Closet.User.FullName;
     return(viewData);
 }
Esempio n. 2
0
        public ActionResult Vote(int id)
        {
            ClosetOutfitView cv = closetOutfitRepository.GetByClosetOutfitId(id);

            if (cv == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            FriendRatingView viewData = LoadViewData(new FriendRatingView(), cv, 0);

            return(View(viewData));
        }
Esempio n. 3
0
        public ActionResult VoteFromInvitation(Guid id)
        {
            FriendRatingInvitation invitation = friendRatingInvitationRepository.GetByKey(id.ToString());

#if !DEBUG
            if (!IsValidInvitation(invitation))
            {
                return(RedirectToAction("Index", "Home"));
            }
#endif

            ClosetOutfitView cv = closetOutfitRepository.GetByClosetOutfitId(invitation.ClosetOutfit.Id);

            FriendRatingView viewData = LoadViewData(new FriendRatingView(), cv, 0);
            return(View("Vote", viewData));
        }
Esempio n. 4
0
        public ActionResult Vote(FriendRatingView view)
        {
            if (ModelState.IsValid)
            {
                FriendRatingInvitation invitation;

                // Check if this is a new invitation from an anonymous user
                if (view.InvitationId == 0)
                {
                    invitation = new FriendRatingInvitation();
                    invitation.ClosetOutfit = closetOutfitRepository.Get(view.ClosetOutfitId);
                    invitation.User         = invitation.ClosetOutfit.Closet.User;

                    invitation.FriendEmail      = "Generated by FaceBook";
                    invitation.KeyCode          = string.Empty;
                    invitation.InvitationSentOn = DateTime.Today;
                }
                else
                {
                    invitation = friendRatingInvitationRepository.Get(view.InvitationId);
                    if (!IsValidInvitation(invitation))
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }

                invitation.Rate         = view.FriendRating;
                invitation.FriendRateOn = DateTime.Now;
                invitation.Message      = "";
                if (!string.IsNullOrEmpty(view.Comment))
                {
                    //invitation.Message = HttpUtility.HtmlEncode(view.Comment);
                    invitation.Message = view.Comment;
                }

                ClosetOutfit closetOutfit = closetOutfitRepository.Get(view.ClosetOutfitId);
                closetOutfit.Rating.Rate(view.FriendRating, invitation);
                closetOutfitRepository.SaveOrUpdate(closetOutfit);

                using (SearchEngineService ses = SearchEngineService.GetByCloset(ClosetId))
                    ses.AddEntry(closetOutfit.ToSearchEngineEntry());

                friendRatingInvitationRepository.SaveOrUpdate(invitation);

                ConfirmRatingData data = new ConfirmRatingData
                {
                    Components  = closetOutfit.Components,
                    Comments    = HttpUtility.HtmlEncode(view.Comment),
                    GarmentsUri = Resources.GetGarmentLargePath(),
                    RatingImg   = Resources.GetRatingLargePath() + view.FriendRating + ".jpg",
                    RatingText  = Resources.GetRatingText(view.FriendRating)
                };

                messageSenderService.SendWithTemplate("confirmrating", invitation.User, data, invitation.User.EmailAddress);
                return(RedirectToAction("Thanks"));
            }

            ClosetOutfitView cv = closetOutfitRepository.GetByClosetOutfitId(view.ClosetOutfitId);

            view = LoadViewData(view, cv, 0);

            return(View(view));
        }