public void deleteStaffBySchool(schools record)
        {
            var staff = (from e in record.staff_by_schools
                         where e.school_code == record.code
                         select e).ToList<staff_by_schools>();

            foreach (staff_by_schools item in staff)
            {
                fmp.staff_by_schools.Remove(item);
            }
        }
        public IHttpActionResult saveSchool([FromBody]dynamic school)
        {
            try
            {
                bool updating = false;
                string school_code = school.code;
                schools record = (from s in fmp.schools
                                  where s.code == school_code
                                  select s).FirstOrDefault<schools>();

                if (record == null)
                {
                    record = new schools();
                }
                else
                {
                    deleteStaffBySchool(record);
                    updating = true;
                }

                record.code = school.code;
                record.location = school.location;
                record.size = school.size;
                record.employee_manager = school.employee_manager;
                record.supervisor = school.supervisor;
                record.name = school.name;
                record.budget = school.budget;

                parseStaffSchool(ref record, school.employees);

                if (!updating) { fmp.schools.Add(record); }
                fmp.SaveChanges();
                return Ok(1);
            }
            catch (Exception ex)
            {
                return InternalServerError(ex);
            }
        }
 public void parseStaffSchool(ref schools school, dynamic employees)
 {
     foreach (dynamic item in employees)
     {
         staff_by_schools sbs = new staff_by_schools();
         sbs.status = item.status;
         sbs.school_code = school.code;
         sbs.employee_code = item.employee_code;
         sbs.order = item.order;
         school.staff_by_schools.Add(sbs);
     }
 }