Exemplo n.º 1
0
        public JsonResult InviteAFriend(string userId)
        {
            DataSet userDetailSet    = iFriendInvitationRepository.GetUserDetails(userId);
            bool    invitationStatus = false;

            if (userDetailSet.Tables.Count > 0)
            {
                UserDetailsViewModel userDetailsViewModel = userDetailSet.Tables[0].AsEnumerable().Select(result => new UserDetailsViewModel
                {
                    UserId      = result.Field <string>("UserId"),
                    UserName    = result.Field <string>("UserName"),
                    EmailId     = result.Field <string>("EmailId"),
                    CompanyId   = result.Field <int>("CompanyId"),
                    CompanyName = result.Field <string>("CompanyName")
                }).FirstOrDefault();
                var    hostName    = Resources.GetHostName(HttpContext.Request.Url.ToString());
                string mailContent = mailer.MailContentBuilder(Messages.InviteFriendToCompanyEmailBody,
                                                               new string[] { userDetailsViewModel.UserName,
                                                                              hostName, Url.Action("AcceptInvitation", "InviteFriends",
                                                                                                   new { area = "InviteFriends", userName = userDetailsViewModel.UserId, verfid = encDecryption.Encrypt(Convert.ToString(userSession.CompanyId)) }),
                                                                              User.Identity.Name });
                mailer.SetMailData(userDetailsViewModel.EmailId, string.Format("Invitation from {0}", User.Identity.Name), mailContent, true, true);
                invitationStatus = mailer.SendMail() ? iFriendInvitationRepository.LogInvitation(userId, SessionUserId, userDetailsViewModel.CompanyId.GetDefaultValueIfNull <string>()) : false;
            }

            return(Json(invitationStatus, JsonRequestBehavior.AllowGet));
        }