예제 #1
0
        private ActionResult IndexByInt(int id)
        {
            FriendRatingInvitation invitation = new FriendRatingInvitation();

            invitation.FriendEmail      = "Generated by FaceBook";
            invitation.InvitationSentOn = DateTime.Now;
            invitation.FriendRateOn     = invitation.InvitationSentOn;
            invitation.KeyCode          = Guid.NewGuid().ToString();
            invitation.Message          = "Generated by FaceBook";
            invitation.ClosetOutfit     = closetOutfitRepository.Get(id);
            invitation.User             = invitation.ClosetOutfit.Closet.User;
            friendRatingInvitationRepository.SaveOrUpdate(invitation);

            invitation.Outfit = closetOutfitViewRepository.GetByClosetOutfitId(id);

            ViewData["Key"] = invitation.KeyCode;

            return(View(invitation));
        }
예제 #2
0
        public ActionResult InviteFriends(InviteFriends inviteFriends)
        {
            string[]       emails = inviteFriends.FriendsEmails.Split(',');
            RegisteredUser user   = GetUser();
            ClosetOutfit   co     = closetOutfitRepository.Get(Convert.ToInt32(inviteFriends.OutfitId));
            SmtpMailing    mail   = new SmtpMailing();

            foreach (string email in emails)
            {
                string subject = user.FullName + " want that you rate her outfit";
                string body    = "";
                foreach (Garment garment in co.Components)
                {
                    body += "<img src='" + inviteFriends.SiteURL + "/" + Resources.GetGarmentPath(garment) + "' alt='" + garment.Title + "' /> ";
                }

                string key = Guid.NewGuid().ToString();

                body += "<br /><br />Rate it NOW <a href='" + inviteFriends.SiteURL + "/rating/index/" + key + "/default.aspx' style='color: #F38333;' >here</a>!";

                FriendRatingInvitation invitation = new FriendRatingInvitation();
                invitation.FriendEmail      = email;
                invitation.InvitationSentOn = DateTime.Now;
                invitation.FriendRateOn     = invitation.InvitationSentOn;
                invitation.KeyCode          = key;
                invitation.Message          = inviteFriends.Message;
                invitation.User             = user;
                invitation.ClosetOutfit     = co;
                friendRatingInvitationRepository.SaveOrUpdate(invitation);

                mail.SendMail(email, "Rate my outfit", subject, body, false);
            }

            if (inviteFriends.SendMe)
            {
                string subject = user.FullName + " want that you rate her outfit";
                string body    = "";
                foreach (Garment garment in co.Components)
                {
                    body += "<img src='" + inviteFriends.SiteURL + "/" + Resources.GetGarmentPath(garment) + "' alt='" + garment.Title + "' /> ";
                }

                body += "<br /><br />Rate it NOW <span style='color: #F38333;' >here</span>! <span style='font-size=10px;'>(only your friends get the rating link)</span>";
                mail.SendMail(user.EmailAddress, "Rate my outfit", subject, body, false);
            }

            return(Json(new { Success = true }));
        }
예제 #3
0
        public JsonResult InviteFriends(InviteFriends inviteFriends)
        {
            string[]       contacts = inviteFriends.FriendsEmails.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            RegisteredUser user     = registeredUserRepository.Get(this.UserId);

            ClosetOutfit co = closetOutfitRepository.Get(Convert.ToInt32(inviteFriends.OutfitId));

            foreach (string contact in contacts)
            {
                if (string.IsNullOrEmpty(contact) || contact == " ")
                {
                    continue;
                }

                string email = contact;
                if (contact.IndexOf("[") != -1 && contact.IndexOf("]") != -1)
                {
                    email = contact.Split('[')[1].Split(']')[0];
                }

                string key = Guid.NewGuid().ToString();

                List <Garment> lst = new List <Garment>();
                foreach (Garment garment in co.Components)
                {
                    if (garment.Id != 0)
                    {
                        lst.Add(garment);
                    }
                }

                EmailData data = new EmailData
                {
                    Components     = lst,
                    KeyCode        = key,
                    Comments       = HttpUtility.HtmlEncode(inviteFriends.Message),
                    InvitationLink = "/Outfit/Rating/VoteFromInvitation/" + key + "/default.aspx",
                    GarmentsUri    = Resources.GetGarmentLargePath(),
                    OutfitUpdater  = outfitUpdaterRepository.GetRandomOutfitUpdaterFor(co.PreCombination)
                };
                if (data.OutfitUpdater == null)
                {
                    data.OutfitUpdater          = new OutfitUpdater();
                    data.OutfitUpdater.BuyUrl   = string.Empty;
                    data.OutfitUpdater.ImageUrl = string.Empty;
                    data.OutfitUpdater.Name     = string.Empty;
                    data.OutfitUpdater.Partner  = new Partner(string.Empty, string.Empty);
                }
                data.OutfitUpdaterPrice = Convert.ToDecimal(data.OutfitUpdater.Price).ToString("$#,##0.00");

                messageSenderService.SendWithTemplate("invite2rate", user, data, email);

                FriendRatingInvitation invitation = new FriendRatingInvitation();
                invitation.FriendEmail      = email;
                invitation.InvitationSentOn = DateTime.Now;
                invitation.FriendRateOn     = invitation.InvitationSentOn;
                invitation.KeyCode          = key;
                invitation.Message          = inviteFriends.Message;
                invitation.User             = user;
                invitation.ClosetOutfit     = co;
                friendRatingInvitationRepository.DbContext.BeginTransaction();
                friendRatingInvitationRepository.SaveOrUpdate(invitation);
                friendRatingInvitationRepository.DbContext.CommitTransaction();
            }

            if (inviteFriends.SendMe)
            {
                EmailCopyData data = new EmailCopyData
                {
                    Components    = co.Components,
                    Comments      = HttpUtility.HtmlEncode(inviteFriends.Message),
                    GarmentsUri   = Resources.GetGarmentLargePath(),
                    OutfitUpdater = outfitUpdaterRepository.GetRandomOutfitUpdaterFor(co.PreCombination)
                };
                data.OutfitUpdaterPrice = Convert.ToDecimal(data.OutfitUpdater.Price).ToString("$#,##0.00");

                messageSenderService.SendWithTemplate("copyinvite2rate", user, data, user.EmailAddress);
            }

            TrackingHelper.Save("MyOutfitsController", "InviteFriends", Guid.NewGuid().ToString(), "noIp", UserId.ToString(), "noChannel", null, string.Empty);

            return(Json(new { Success = true }));
        }