public async Task <ActionResult <CampusResponse> > PutCampus(int id, [FromBody] PutCampusRequest model) { var rs = await _campusService.PutCampus(id, model); if (rs == null) { return(NotFound()); } return(Ok(rs)); }
public async Task <CampusResponse> PutCampus(int id, PutCampusRequest model) { var campus = await _unitOfWork.Repository <Campus>().GetById(id); if (campus != null) { try { campus.Name = model.Name; campus.ModifyDate = DateTime.UtcNow.AddHours(7); var listStreetSegment = _unitOfWork.Repository <CampusStreetSegment>().GetAll().Where(x => x.CampusId == id); _unitOfWork.Repository <CampusStreetSegment>().DeleteRange(listStreetSegment); await _unitOfWork.Repository <Campus>().Update(campus, id); List <CampusStreetSegment> list = new List <CampusStreetSegment>(); foreach (var item in model.StreetSegmentId) { CampusStreetSegment campusStreet = new CampusStreetSegment { StreetSegmentId = item, CampusId = campus.Id }; list.Add(campusStreet); } await _unitOfWork.Repository <CampusStreetSegment>().InsertRangeAsync(list.AsQueryable()); await _unitOfWork.CommitAsync(); return(new CampusResponse { Id = campus.Id, CreateDate = campus.CreateDate, Geom = campus.Geom, ModifyDate = campus.ModifyDate, Name = campus.Name }); } catch (Exception e) { throw new CrudException(HttpStatusCode.BadRequest, "Update Campus Error!!!", e.InnerException?.Message); } } else { return(null); } }