public IHttpActionResult Put(int companyId,SchoolModel school) { if (!ModelState.IsValid) return BadRequest(ModelState); var schoolSet = _context.Set<School>(); var companySet = _context.Set<Company>(); var company = companySet.FirstOrDefault(c => c.Id == companyId); if (company == null) { return BadRequest("Invalid Company"); } var currentSchool = schoolSet.FirstOrDefault(c => c.Company.Id == company.Id && c.Id == school.Id); if (currentSchool == null) { return BadRequest("Invalid School"); } var errors = _context.GetValidationErrors().ToList(); if (!errors.Any()) { _context.SaveChanges(); return Ok(); } var sb = new StringBuilder(); errors.SelectMany(c => c.ValidationErrors).ToList().ForEach(c => sb.Append(c.ErrorMessage)); return BadRequest(sb.ToString()); }
public IHttpActionResult Post(int companyId, SchoolModel school) { if (!ModelState.IsValid) return BadRequest(ModelState); var schoolSet = _context.Set<School>(); var companySet = _context.Set<Company>(); var company = companySet.FirstOrDefault(c => c.Id == companyId); if (company == null) { return BadRequest("Invalid Company"); } var newSchool = new School { Company = company, Name = school.Name }; schoolSet.Add(newSchool); var errors = _context.GetValidationErrors().ToList(); if (!errors.Any()) { _context.SaveChanges(); return Created(Request.RequestUri + newSchool.Id.ToString(), TheModelFactory.GetSchool(newSchool)); } var sb = new StringBuilder(); errors.SelectMany(c => c.ValidationErrors).ToList().ForEach(c => sb.Append(c.ErrorMessage)); return BadRequest(sb.ToString()); }