Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
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 }));
        }
Exemplo n.º 4
0
        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 }));
        }
Exemplo n.º 5
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 }));
        }