public static ProjectWorkLogRequestModel Create() { var model = new ProjectWorkLogRequestModel { ShortDescription = "Short log description" }; return(model); }
public static ProjectWorkLogRequestModel Create() { var model = new ProjectWorkLogRequestModel { ShortDescription = "Short log description" }; return model; }
public IHttpActionResult BeginWorkLogSession(int id, [FromBody] ProjectWorkLogRequestModel model) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var result = this.data.Projects .Find(x => x.Id == id).FirstOrDefault(); if (result == null) { return(this.BadRequest("No project with that id is present.")); } var currentUserId = User.Identity.GetUserId(); var user = this.data.Employees.Find(x => x.Id == currentUserId).FirstOrDefault(); if (user == null) { return(this.BadRequest("Only employees can work on projects!")); } var workLog = Mapper.Map <WorkLog>(model); workLog.StartTime = DateTime.Now; result.WorkLogs.Add(workLog); data.Projects.Update(result); data.SaveChanges(); var message = string.Format("Project session activity: User {0} started a work session at {1} on {2}'s project | {3}", user.Email, workLog.StartTime, result.Client.Email, "/projects"); pubnubClient.Broadcast(Constants.PubnubChannelActivityFeed, message, str => { }, s => { }); return(this.Ok(workLog.Id)); }
public IHttpActionResult Post([FromBody] ProjectWorkLogRequestModel model) { return(this.NotFound()); }