/// <summary> /// Create a cohort /// https://api.sandbox.slcedu.org/api/rest/v1/cohorts /// Validation failed: ValidationError [type=REQUIRED_FIELD_MISSING, fieldName=cohortIdentifier, fieldValue=, expectedTypes=[STRING]] /// ValidationError [type=REQUIRED_FIELD_MISSING, fieldName=cohortType, fieldValue=, expectedTypes=[TOKEN]] /// ValidationError [type=REQUIRED_FIELD_MISSING, fieldName=educationOrgId, fieldValue=, expectedTypes=[REFERENCE]]", /// cohortType: Academic Intervention, Attendance Intervention, Discipline Intervention, Classroom Pullout, Extracurricular Activity, Field Trip, Principal Watch List, /// Counselor List, In-school Suspension, Study Hall, Other /// </summary> /// <param name="token"></param> /// <param name="cohort">Required properties: cohortIdentifier, cohortType, and educationOrgId</param> /// <returns></returns> public HttpResponseMessage Post(Cohort obj) { try { var result = _cohortService.Create(obj).Result; return result; } catch(Exception e) { var notFoundMessage = new HttpResponseMessage(HttpStatusCode.InternalServerError); return notFoundMessage; } }
public static async Task<CohortDisplayObject> GetCohortDisplayObject(CohortService cs, Cohort cohort) { var students = GetStudentsByCohortId(cs, cohort.id); var custom = GetCohortCustomByCohortId(cs, cohort.id); await Task.WhenAll(students, custom); var displayObject = new CohortDisplayObject(); displayObject.cohort = cohort; displayObject.students = from s in students.Result select s.id; displayObject.custom = JsonConvert.DeserializeObject<CohortCustom>(custom.Result); ; return displayObject; }
/// <summary> /// Create multiple new cohorts /// </summary> /// <param name="cohorts">new cohorts to create</param> /// <returns></returns> //public async Task<string[]> CreateCohorts(IEnumerable<Cohort> cohorts) //{ // try // { // var result = await Task.WhenAll(from c in cohorts select CreateCohort()); //TODO: add cohort as parameter // return result; // } // catch (Exception ex) // { // throw; // } //} /// <summary> /// Update a single cohort /// </summary> /// <returns></returns> public async Task<string> UpdateCohort(CohortService cs, Cohort cohort) { //var c = new CohortService(Session["access_token"].ToString()); //var cohort = new Cohort(); //var random = new Random(); //cohort.id = "2012gd-cae52ab2-26f7-11e2-8acf-02786562673b"; //cohort.educationOrgId = "2012dh-836f96e7-0b25-11e2-985e-024775596ac8"; //cohort.cohortIdentifier = "ACC-" + DateTime.Now.Ticks.ToString().Substring(0,8); //cohort.cohortType = SlcClient.Enum.CohortType.ExtracurricularActivity; var result = await cs.Update(cohort); return result.ToString(); }
/// <summary> /// Create a single cohort /// </summary> /// <returns></returns> public async Task<string> CreateCohort(CohortService cs, Cohort cohort) //TODO: modify to accept a cohort argument { try { //var cs = new CohortService(Session["access_token"].ToString()); //var cohort = new Cohort(); //var random = new Random(); //cohort.educationOrgId = "2012dh-836f96e7-0b25-11e2-985e-024775596ac8"; //cohort.cohortIdentifier = "ACC-TEST-COH-" + random.Next(10); //cohort.cohortType = SlcClient.Enum.CohortType.ExtracurricularActivity; var result = await cs.Create(cohort); //result.Headers.Location.AbsolutePath.Substring(result.Headers.Location.AbsolutePath.LastIndexOf("/") + 1) return result.Headers.Location.Segments[5]; //getting the id from header location } catch { throw; } }