Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public IHttpActionResult GetSchoolStatus(int id)
        {
            SchoolStatus schoolStatus = db.SchoolStatuses.Find(id);

            if (schoolStatus == null)
            {
                return(NotFound());
            }

            return(Ok(schoolStatus));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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());
        }
    }
}