public async Task <IActionResult> VolunteerJobsCreation(VolunteerJobModel job) { VolunteerRepository repo = new VolunteerRepository(configModel.ConnectionString); var user = await userManager.GetUserAsync(User); // Verify the user is a staff member if (!User.IsInRole(UserHelpers.UserRoles.Staff.ToString())) { return(Utilities.ErrorJson("Not authorized")); } // Validate inputs if (String.IsNullOrEmpty(job.Name)) { return(Utilities.ErrorJson("Name is required")); } if (job.Min < 0) { return(Utilities.ErrorJson("Minimum number of volunteers for ajob must be non-negative")); } if (job.Max <= 0) { return(Utilities.ErrorJson("Maximum number of volunteers for a job must be positive")); } if (job.Max < job.Min) { return(Utilities.ErrorJson("Maximum number of volunteers for a job cannot be less than the minimum number of volunteers")); } try { repo.CreateVolunteerJob(job); } catch (Exception e) { return(Utilities.ErrorJson(e.Message)); } return(Utilities.NoErrorJson()); }