public async Task <IActionResult> GetSprints([FromBody] GetSprintsForm form) { if (!ModelState.IsValid) { return(BadRequest(ControllerErrorCode.WrongInputData)); } var email = User.Identity.Name; var sprints = await _db.GetSprints(email, form); if (sprints == null) { return(BadRequest(_db.Sprints.GetError())); } return(Ok(sprints.GetDTO())); }
public async static Task <IEnumerable <Sprint> > GetSprints(this ProjectContext db, string userEmail, GetSprintsForm form) { var user = await db.Users.FirstOrDefaultAsync(x => x.Email.Equals(userEmail, StringComparison.OrdinalIgnoreCase)); if (user == null) { _code = ControllerErrorCode.UserNotFound; return(null); } var role = await db.Roles.FirstOrDefaultAsync(x => x.Project.Id == form.ProjectId && x.User == user); if (role == null) { _code = ControllerErrorCode.PermissionsDenied; return(null); } var sprints = await db.Sprints.Where(x => x.Project.Id == form.ProjectId).ToListAsync(); if (sprints == null) { _code = ControllerErrorCode.SprintNotFound; return(null); } return(sprints); }