Пример #1
0
        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());
        }
Пример #2
0
        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());


        }