public async Task <InviteFriends> AcceptDeniedInvite(InviteFriends invite) { var userIdReceive = _logged.GetUserLoggedId(); var user = await _userRepository .GetByIdAsync(userIdReceive) .ConfigureAwait(false); if (user == null) { throw new ArgumentException("Usuário não encontrado"); } invite.UpdateInvite(invite.InviteAccept, invite.InviteDenied); var accept = 0; var denied = 0; if (invite.InviteAccept && !invite.InviteDenied) { accept = 1; denied = 0; } else if (!invite.InviteAccept && invite.InviteDenied) { accept = 0; denied = 1; } else { accept = 0; denied = 0; } await _userRepository .AcceptDeniedInviteAsync(invite.Id, accept, denied) .ConfigureAwait(false); return(new InviteFriends() { Id = invite.Id, UserIdInvited = invite.UserIdInvited, UserIdReceive = userIdReceive, InviteDenied = invite.InviteDenied, InviteAccept = invite.InviteAccept, DateInvite = invite.DateInvite }); }
public async Task <IActionResult> PutInvite([FromBody] InviteFriends invite) { try { var inviteResponse = await _userAppService .AcceptDeniedInvite(invite) .ConfigureAwait(false); return(Ok(inviteResponse)); } catch (ArgumentException arg) { return(BadRequest(arg.Message)); } }
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 ActionResult InviteFriends(InviteFriends inviteFriends) { string[] emails = inviteFriends.FriendsEmails.Split(','); RegisteredUser user = GetUser(); SmtpMailing mail = new SmtpMailing(); foreach (string email in emails) { SendMail(user.FullName, mail, email, inviteFriends.SiteURL); } if (inviteFriends.SendMe) { SendMail(user.FullName, mail, user.EmailAddress, inviteFriends.SiteURL); } 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 })); }