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)); }
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 })); }
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 })); }