public ServiceResult CreateTeamPost(TeamPost teamPost) { var result = new ServiceResult(); if(teamPost == null || teamPost.TeamId <= 0 || teamPost.UserId <= 0) { throw new ArgumentException("TeamPost must contain a valid TeamId and User Id", "teamPost"); } try { var team = this.GetTeamById(teamPost.TeamId); teamPost.DateAdded = DateTime.Now; _repository.TeamPosts.Create(teamPost); _repository.SaveChanges(); } catch (Exception ex) { result.AddServiceError(Utilities.GetInnerMostException(ex)); } return result; }
public ActionResult CreateTeamPost(int teamId, string post) { ITeamService teamService = new TeamService(new RepositoryGroup(), false); var team = _teamService.GetTeamById(teamId); if (team == null) { Response.StatusCode = 403; return Content("Invalid TeamId Submitted"); } if (CurrentUser != null && team.Registrations.FirstOrDefault(x => x.UserId == CurrentUser.UserId) != null) { var teamPost = new TeamPost {TeamId = teamId, Post = post, UserId = CurrentUser.UserId}; var dbResult = teamService.CreateTeamPost(teamPost); if (dbResult.Success) { //success var teamRefresh = _teamService.GetTeamById(teamId); var entity = teamRefresh.TeamPosts.OrderBy(x => x.DateAdded).ToList(); return PartialView("Partial/MessageBoardPosts", entity); } Response.StatusCode = 500; return Content("Invalid TeamId Submitted"); } Response.StatusCode = 403; return Content("Only members of a team may post messages."); }