[HttpPost]//Email notifications are handled here
        public ActionResult SendMessage(Message msg)
        {
            msg.fromName = User.Identity.Name;
            if (msg.UserTarget != null)
            { //Sending message to user
                msg.UserTargetId = repo.getIdByUsername(msg.UserTarget);
                if (!ChatApp.Hubs.UserCounter.Users.Contains(msg.UserTarget))
                {                               // If target user is not online
                    Task.Factory.StartNew(() => //Spawn new thread, kills server resources
                    {
                        var body         = "<h5>You have a new message from user " + msg.fromName + "</h5><p>" + msg.Body + "</p>";
                        var header       = "New message from " + msg.fromName + "!";
                        var email        = repo.getEmailById(msg.UserTargetId);
                        EmailHelper mail = new EmailHelper(body, header, email);
                        mail.Send();
                    });
                }
            }
            else
            { //Sending message to conference
                var confId    = msg.ConfTarget ?? default(int);
                var confUsers = repo.getUsersByConferenceId(confId);
                Task.Factory.StartNew(() =>
                {
                    var body         = "<p><b>" + msg.fromName + ": </b>" + msg.Body + "</p>";
                    var header       = "New message from conference " + repo.getConfName(confId) + "!";
                    EmailHelper mail = new EmailHelper(body, header, null);

                    foreach (var user in confUsers)
                    {//Add offline users to Bcc
                        if (!ChatApp.Hubs.UserCounter.Users.Contains(user.UserName))
                        {
                            var email = repo.getEmailById(repo.getIdByUsername(user.UserName));
                            mail.AddCc(email);
                        }
                    }
                    mail.Send();
                });
            }
            repo.addMsg(msg, repo.GetCurrentUser());
            return(new EmptyResult());
        }