public IHttpActionResult PutSchoolStatus(int id, SchoolStatus schoolStatus) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != schoolStatus.SchoolStatuses_id) { return(BadRequest()); } db.Entry(schoolStatus).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!SchoolStatusExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetSchoolStatus(int id) { SchoolStatus schoolStatus = db.SchoolStatuses.Find(id); if (schoolStatus == null) { return(NotFound()); } return(Ok(schoolStatus)); }
public IHttpActionResult PostSchoolStatus(SchoolStatus schoolStatus) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.SchoolStatuses.Add(schoolStatus); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = schoolStatus.SchoolStatuses_id }, schoolStatus)); }
public IHttpActionResult DeleteSchoolStatus(int id) { SchoolStatus schoolStatus = db.SchoolStatuses.Find(id); if (schoolStatus == null) { return(NotFound()); } db.SchoolStatuses.Remove(schoolStatus); db.SaveChanges(); return(Ok(schoolStatus)); }
public static ImmutableDictionary <string, SchoolStatus> CreateSchoolsStatusesSummary(ImmutableArray <SchoolAbsenceDay> absences, ImmutableArray <SchoolRegimeDay> regimes) { var groupedAbsences = absences.GroupBy(d => d.School, d => d).ToDictionary(g => g.Key, g => g.ToImmutableArray()); var groupedRegimes = regimes.GroupBy(d => d.School, d => d).ToDictionary(g => g.Key, g => g.ToImmutableArray()); var result = new Dictionary <string, SchoolStatus>(); foreach (var ga in groupedAbsences) { if (!result.TryGetValue(ga.Key, out var status)) { status = new SchoolStatus(ImmutableArray <SchoolAbsenceDay> .Empty.AddRange(ga.Value), ImmutableArray <SchoolRegimeDay> .Empty); result.Add(ga.Key, status); } else { result[ga.Key] = status with { Absences = status.Absences.AddRange(ga.Value) }; } } foreach (var gr in groupedRegimes) { if (!result.TryGetValue(gr.Key, out var status)) { status = new SchoolStatus(ImmutableArray <SchoolAbsenceDay> .Empty, ImmutableArray <SchoolRegimeDay> .Empty.AddRange(gr.Value)); result.Add(gr.Key, status); } else { result[gr.Key] = status with { Regimes = status.Regimes.AddRange(gr.Value) }; } } return(result.ToImmutableDictionary()); } } }