private ContentResult Send(SendForm form, int?ProjectId, int?TaskId, int?TeamId, int?EmployeeId)
        {
            if (ModelState.IsValid)
            {
                int MyId         = SessionUser.GetUser().Id;
                int?newMessageId = MessageService.Create(new C.Message(form.Title, form.Message, MyId, form.ReplyTo), EmployeeId, ProjectId, TaskId, TeamId);
                if (newMessageId != null)
                {
                    if (EmployeeId != null)
                    {
                        EmployeeHub.Send((int)EmployeeId);
                        MailboxHub.Send((int)EmployeeId);
                    }
                    else
                    {
                        if (form.ReplyTo != null)
                        {
                            int ParentAuthor = MessageService.Get((int)form.ReplyTo).Author;
                            MailboxHub.Send(ParentAuthor);
                        }

                        if (ProjectId != null)
                        {
                            ProjectHub.Send((int)ProjectId);
                        }
                        else if (TaskId != null)
                        {
                            TaskHub.Send((int)TaskId);
                        }
                        else if (TeamId != null)
                        {
                            TeamHub.Send((int)TeamId);
                        }
                    }
                    return(new ContentResult {
                        Content = "success"
                    });
                }
            }
            return(new ContentResult {
                Content = "fail"
            });
        }