/// <summary> /// /// </summary> /// <remarks>Returns History for a particular SchoolBusOwner</remarks> /// <param name="id">id of SchoolBusOwner to fetch History for</param> /// <response code="200">OK</response> public virtual IActionResult SchoolbusownersIdHistoryGetAsync(int id, int?offset, int?limit) { bool exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists) { SchoolBusOwner schoolBusOwner = _context.SchoolBusOwners .Include(x => x.History) .First(a => a.Id == id); List <History> data = schoolBusOwner.History.OrderByDescending(y => y.LastUpdateTimestamp).ToList(); if (offset == null) { offset = 0; } if (limit == null) { limit = data.Count() - offset; } List <HistoryViewModel> result = new List <HistoryViewModel>(); for (int i = (int)offset; i < data.Count() && i < offset + limit; i++) { result.Add(data[i].ToViewModel(id)); } return(new ObjectResult(result)); } else { // record not found return(new StatusCodeResult(404)); } }
/// <summary> /// /// </summary> /// <param name="id">id of Contact to fetch</param> /// <param name="body">object of contact to be updated</param>> /// <response code="200">OK</response> /// <response code="404">Contact not found</response> public virtual IActionResult ContactsIdPutAsync(int id, Contact body) { //adjust the school bus owner if (body.SchoolBusOwner != null) { int owner_id = body.SchoolBusOwner.Id; bool owner_exists = _context.SchoolBusOwners.Any(a => a.Id == owner_id); if (owner_exists) { SchoolBusOwner owner = _context.SchoolBusOwners.First(a => a.Id == owner_id); body.SchoolBusOwner = owner; } else { body.SchoolBusOwner = null; } } var exists = _context.Contacts.Any(a => a.Id == id); if (exists && body.Id == id) { _context.Contacts.Update(body); // Save the changes _context.SaveChanges(); return(new ObjectResult(body)); } else { // record not found return(new StatusCodeResult(404)); } }
public virtual IActionResult SchoolbusownersIdHistoryPostAsync(int id, History item) { HistoryViewModel result = new HistoryViewModel(); bool exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists) { SchoolBusOwner schoolBusOwner = _context.SchoolBusOwners .Include(x => x.History) .First(a => a.Id == id); if (schoolBusOwner.History == null) { schoolBusOwner.History = new List <History>(); } // force add item.Id = 0; schoolBusOwner.History.Add(item); _context.SchoolBusOwners.Update(schoolBusOwner); _context.SaveChanges(); } result.HistoryText = item.HistoryText; result.Id = item.Id; result.LastUpdateTimestamp = item.LastUpdateTimestamp; result.LastUpdateUserid = item.LastUpdateUserid; result.AffectedEntityId = id; return(new ObjectResult(result)); }
/// <summary> /// Basic file receiver for .NET Core /// </summary> /// <param name="id">SchoolBus Owner Id</param> /// <param name="files">Files to add to attachments</param> /// <returns></returns> public IActionResult SchoolbusownersIdAttachmentsPostAsync(int id, IList <IFormFile> files) { // validate the bus id bool exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists) { SchoolBusOwner schoolBusOwner = _context.SchoolBusOwners .Include(x => x.Attachments) .Include(x => x.Contacts) .Include(x => x.District.Region) .Include(x => x.History) .Include(x => x.Notes) .Include(x => x.PrimaryContact) .First(a => a.Id == id); AddFilesToAttachments(schoolBusOwner.Attachments, files); _context.SchoolBusOwners.Update(schoolBusOwner); _context.SaveChanges(); List <AttachmentViewModel> result = MappingExtensions.GetAttachmentListAsViewModel(schoolBusOwner.Attachments); return(new ObjectResult(result)); } else { // record not found return(new StatusCodeResult(404)); } }
/// <summary> /// /// </summary> /// <param name="body"></param> /// <response code="201">SchoolBusOwner created</response> public virtual IActionResult SchoolbusownersPostAsync(SchoolBusOwner body) { AdjustSchoolBusOwner(body); body.DateCreated = DateTime.UtcNow; _context.SchoolBusOwners.Add(body); _context.SaveChanges(); return(new ObjectResult(body)); }
/// <summary> /// Creates a new school bus /// </summary> /// <remarks>The Location response-header field is used to redirect the recipient to a location other than the Request-URI for completion of the request or identification of a new resource. For 201 (Created) responses, the Location is that of the new resource which was created by the request. The field value consists of a single absolute URI. </remarks> /// <param name="item"></param> /// <response code="201">SchoolBus created</response> public virtual IActionResult AddBusAsync(SchoolBus item) { // adjust school bus owner if (item.SchoolBusOwner != null) { int school_bus_owner_id = item.SchoolBusOwner.Id; bool school_bus_owner_exists = _context.SchoolBusOwners.Any(a => a.Id == school_bus_owner_id); if (school_bus_owner_exists) { SchoolBusOwner school_bus_owner = _context.SchoolBusOwners.First(a => a.Id == school_bus_owner_id); item.SchoolBusOwner = school_bus_owner; } } // adjust service area. if (item.ServiceArea != null) { int service_area_id = item.ServiceArea.Id; bool service_area_exists = _context.ServiceAreas.Any(a => a.Id == service_area_id); if (service_area_exists) { ServiceArea service_area = _context.ServiceAreas.First(a => a.Id == service_area_id); item.ServiceArea = service_area; } } // adjust school district if (item.SchoolBusDistrict != null) { int schoolbus_district_id = item.SchoolBusDistrict.Id; bool schoolbus_district_exists = _context.SchoolDistricts.Any(a => a.Id == schoolbus_district_id); if (schoolbus_district_exists) { SchoolDistrict school_district = _context.SchoolDistricts.First(a => a.Id == schoolbus_district_id); item.SchoolBusDistrict = school_district; } } // adjust home city if (item.HomeTerminalCity != null) { int city_id = item.HomeTerminalCity.Id; bool city_exists = _context.Cities.Any(a => a.Id == city_id); if (city_exists) { City city = _context.Cities.First(a => a.Id == city_id); item.HomeTerminalCity = city; } } _context.SchoolBuss.Add(item); _context.SaveChanges(); return(new ObjectResult(item)); }
/// <summary> /// Integration test for SchoolbusownersContacts /// </summary> public async void TestContacts() { string initialNumber = "123-123-1234"; string initialAddress = "1234 Main St."; // first create a school bus owner record var request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners"); SchoolBusOwner schoolBusOwner = new SchoolBusOwner(); var jsonString = schoolBusOwner.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString); // get the id var id = schoolBusOwner.Id; // make a change. Contact contact = new Contact(); schoolBusOwner.PrimaryContact = contact; // now do an update. request = new HttpRequestMessage(HttpMethod.Put, "/api/schoolbusowners/" + id); request.Content = new StringContent(schoolBusOwner.ToJson(), Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // do a get. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + id); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString); // do a delete. request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners/" + id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); }
private void AdjustSchoolBusOwner(SchoolBusOwner item) { // adjust Primary Contact. if (item.PrimaryContact != null) { int primary_contact_id = item.PrimaryContact.Id; bool primary_contact_exists = _context.Contacts.Any(a => a.Id == primary_contact_id); if (primary_contact_exists) { Contact contact = _context.Contacts.First(a => a.Id == primary_contact_id); item.PrimaryContact = contact; } else { item.PrimaryContact = null; } } // adjust District. if (item.District != null) { int district_id = item.District.Id; bool district_exists = _context.ServiceAreas.Any(a => a.Id == district_id); if (district_exists) { District district = _context.Districts.First(a => a.Id == district_id); item.District = district; } else { item.District = null; } } // adjust contacts if (item.Contacts != null) { for (int i = 0; i < item.Contacts.Count; i++) { Contact contact = item.Contacts[i]; if (contact != null) { int contact_id = contact.Id; bool contact_exists = _context.Contacts.Any(a => a.Id == contact_id); if (contact_exists) { Contact new_contact = _context.Contacts.First(a => a.Id == contact_id); item.Contacts[i] = new_contact; } else { item.Contacts[i] = null; } } } } }
/// <summary> /// /// </summary> /// <param name="id">id of SchoolBusOwner to fetch</param> /// <response code="200">OK</response> /// <response code="404">SchoolBusOwner not found</response> public virtual IActionResult SchoolbusownersIdPutAsync(int id, SchoolBusOwner body) { var exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists && id == body.Id) { _context.SchoolBusOwners.Update(body); // Save the changes _context.SaveChanges(); return(new ObjectResult(body)); } else { // record not found return(new StatusCodeResult(404)); } }
/// <summary> /// /// </summary> /// <remarks>Returns notes for a particular SchoolBusOwner</remarks> /// <param name="id">id of SchoolBusOwner to fetch notes for</param> /// <response code="200">OK</response> public virtual IActionResult SchoolbusownersIdNotesGetAsync(int id) { var exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists) { SchoolBusOwner schoolBusOwner = _context.SchoolBusOwners .Include(x => x.Notes) .First(a => a.Id == id); var result = schoolBusOwner.Notes; return(new ObjectResult(result)); } else { // record not found return(new StatusCodeResult(404)); } }
/// <summary> /// /// </summary> /// <remarks>Returns attachments for a particular SchoolBusOwner</remarks> /// <param name="id">id of SchoolBusOwner to fetch attachments for</param> /// <response code="200">OK</response> public virtual IActionResult SchoolbusownersIdAttachmentsGetAsync(int id) { var exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists) { SchoolBusOwner schoolBusOwner = _context.SchoolBusOwners .Include(x => x.Attachments) .First(a => a.Id == id); var result = MappingExtensions.GetAttachmentListAsViewModel(schoolBusOwner.Attachments); return(new ObjectResult(result)); } else { // record not found return(new StatusCodeResult(404)); } }
/// <summary> /// Converts a SchoolBusOwner to a SchoolBusOwnerViewModel /// </summary> /// <param name="model">The SchoolBusOwner to convert</param> /// <returns>A SchoolBusOwnerViewModel</returns> public static SchoolBusOwnerViewModel ToViewModel(this SchoolBusOwner model) { var dto = new SchoolBusOwnerViewModel(); if (model != null) { dto.Attachments = model.Attachments; dto.Contacts = model.Contacts; dto.DateCreated = model.DateCreated; dto.District = model.District; dto.History = model.History; dto.Id = model.Id; dto.Name = model.Name; dto.PrimaryContact = model.PrimaryContact; dto.Status = model.Status; } return(dto); }
/// <summary> /// View service used by the view school bus owner page /// </summary> /// <param name="id">SchoolBusOwner Id</param> /// <returns>A SchoolBusOwnerViewModel, or 404 if the record does not exist</returns> public IActionResult SchoolbusownersIdViewGetAsync(int id) { var exists = _context.SchoolBusOwners.Any(a => a.Id == id); if (exists) { SchoolBusOwner schoolBusOwner = _context.SchoolBusOwners.Include(x => x.PrimaryContact).First(a => a.Id == id); SchoolBusOwnerViewModel result = schoolBusOwner.ToViewModel(); // populate the calculated fields. result.NextInspectionDate = GetNextInspectionDate(id); result.NumberOfBuses = GetNumberSchoolBuses(id); result.NextInspectionTypeCode = GetNextInspectionTypeCode(id); return(new ObjectResult(result)); } else { // record not found return(new StatusCodeResult(404)); } }
/// <summary> /// /// </summary> /// <param name="item"></param> /// <response code="201">contact create</response> public virtual IActionResult ContactsPostAsync(Contact item) { if (item != null) { //adjust schoolBusOwner if (item.SchoolBusOwner != null) { int owner_id = item.SchoolBusOwner.Id; bool owner_exists = _context.SchoolBusOwners.Any(a => a.Id == owner_id); if (owner_exists) { SchoolBusOwner owner = _context.SchoolBusOwners.First(x => x.Id == owner_id); item.SchoolBusOwner = owner; } else { item.SchoolBusOwner = null; } } var exists = _context.Contacts.Any(a => a.Id == item.Id); if (exists) { _context.Contacts.Update(item); } else { _context.Contacts.Add(item); } _context.SaveChanges(); return(new ObjectResult(item)); } else { //no data return(new StatusCodeResult(404)); } }
/// <summary> /// /// </summary> /// <param name="items"></param> /// <response code="201">Contacts created</response> public virtual IActionResult ContactsBulkPostAsync(Contact[] items) { if (items == null) { return(new BadRequestResult()); } foreach (Contact item in items) { //adjust the schoolbusowner if (item.SchoolBusOwner != null) { int owner_id = item.SchoolBusOwner.Id; bool owner_exists = _context.SchoolBusOwners.Any(a => a.Id == owner_id); if (owner_exists) { SchoolBusOwner schoolbusowner = _context.SchoolBusOwners.First(a => a.Id == owner_id); item.SchoolBusOwner = schoolbusowner; } else { item.SchoolBusOwner = null; } } var exists = _context.Contacts.Any(a => a.Id == item.Id); if (exists) { _context.Contacts.Update(item); } else { _context.Contacts.Add(item); } } // Save the changes _context.SaveChanges(); return(new NoContentResult()); }
/// <summary> /// Integration test for FindBusById /// </summary> public async void TestSchoolBuses() { // create a district. var request = new HttpRequestMessage(HttpMethod.Post, "/api/districts"); District district = new District(); string jsonString = district.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); district = JsonConvert.DeserializeObject <District>(jsonString); var district_id = district.Id; // create a schoolbus owner. request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners"); SchoolBusOwner schoolBusOwner = new SchoolBusOwner(); jsonString = schoolBusOwner.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString); var schoolBusOwner_id = schoolBusOwner.Id; // create a bus request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses"); // create a new schoolbus. SchoolBus schoolbus = new SchoolBus(); schoolbus.Status = "0"; schoolbus.District = district; schoolbus.SchoolBusOwner = schoolBusOwner; jsonString = schoolbus.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString); // get the id var id = schoolbus.Id; // make a change. string testStatus = "1"; schoolbus.Status = testStatus; // now do an update. request = new HttpRequestMessage(HttpMethod.Put, "/api/schoolbuses/" + id); request.Content = new StringContent(schoolbus.ToJson(), Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // do a get. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString); // compare the change, should match. Assert.Equal(schoolbus.Status, testStatus); //test attachments request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/attachments"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); //test attachments request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/ccwdata"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); //test history request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/history"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); //test notes request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/notes"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); //test inspections request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/inspections"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // do a delete. request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses/" + id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); // cleanup service area. request = new HttpRequestMessage(HttpMethod.Post, "/api/districts/" + district_id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/districts/" + district_id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); // cleanup schoolbus owner request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners/" + schoolBusOwner_id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + schoolBusOwner_id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); }
/// <summary> /// /// </summary> /// <param name="body"></param> /// <response code="201">SchoolBusOwner created</response> public virtual IActionResult SchoolbusownersPostAsync(SchoolBusOwner body) { _context.SchoolBusOwners.Add(body); _context.SaveChanges(); return(new ObjectResult(body)); }
/// <summary> /// Integration test for GetAllBuses /// </summary> public async void TestBusSearch() { //setup test // create a service area. var request = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas"); ServiceArea servicearea = new ServiceArea(); string jsonString = servicearea.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); servicearea = JsonConvert.DeserializeObject <ServiceArea>(jsonString); var servicearea_id = servicearea.Id; // create a schoolbus owner. request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners"); SchoolBusOwner schoolBusOwner = new SchoolBusOwner(); jsonString = schoolBusOwner.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString); var schoolBusOwner_id = schoolBusOwner.Id; // create a bus request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses"); // create a new schoolbus. SchoolBus schoolbus = new SchoolBus(); schoolbus.Status = "Active"; schoolbus.ServiceArea = servicearea; schoolbus.SchoolBusOwner = schoolBusOwner; schoolbus.VIN = "1234"; schoolbus.Plate = "12345"; jsonString = schoolbus.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString); // get the id var id = schoolbus.Id; // make a change. string testStatus = "1"; schoolbus.Status = "Active"; // now do an update. request = new HttpRequestMessage(HttpMethod.Put, "/api/schoolbuses/" + id); request.Content = new StringContent(schoolbus.ToJson(), Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // do a get. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString); // test the search var parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "servicearea", "[" + servicearea_id + "]" } }; SchoolBus[] searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); bool found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "owner", "" + schoolBusOwner_id } }; searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "vin", "1234" } }; searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "plate", "12345" } }; searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); // teardown request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses/" + id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); // cleanup service area. request = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas/" + servicearea_id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + servicearea_id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); // cleanup schoolbus owner request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners/" + schoolBusOwner_id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + schoolBusOwner_id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); }
/// <summary> /// Adjust a SchoolBus item to ensure child object data is in place correctly /// </summary> /// <param name="item"></param> private void AdjustSchoolBus(SchoolBus item) { if (item != null) { if (item.SchoolBusOwner != null) { int school_bus_owner_id = item.SchoolBusOwner.Id; bool school_bus_owner_exists = _context.SchoolBusOwners.Any(a => a.Id == school_bus_owner_id); if (school_bus_owner_exists) { SchoolBusOwner school_bus_owner = _context.SchoolBusOwners.First(a => a.Id == school_bus_owner_id); item.SchoolBusOwner = school_bus_owner; } else // invalid data { item.SchoolBusOwner = null; } } // adjust District. if (item.District != null) { int district_id = item.District.Id; var district_exists = _context.ServiceAreas.Any(a => a.Id == district_id); if (district_exists) { District district = _context.Districts.First(a => a.Id == district_id); item.District = district; } else { item.District = null; } } // adjust school district if (item.SchoolDistrict != null) { int schoolDistrict_id = item.SchoolDistrict.Id; bool schoolDistrict_exists = _context.SchoolDistricts.Any(a => a.Id == schoolDistrict_id); if (schoolDistrict_exists) { SchoolDistrict school_district = _context.SchoolDistricts.First(a => a.Id == schoolDistrict_id); item.SchoolDistrict = school_district; } else // invalid data { item.SchoolDistrict = null; } } // adjust home city if (item.HomeTerminalCity != null) { int city_id = item.HomeTerminalCity.Id; bool city_exists = _context.Cities.Any(a => a.Id == city_id); if (city_exists) { City city = _context.Cities.First(a => a.Id == city_id); item.HomeTerminalCity = city; } else // invalid data { item.HomeTerminalCity = null; } } // adjust inspector if (item.Inspector != null) { int inspector_id = item.Inspector.Id; bool inspector_exists = _context.Users.Any(a => a.Id == inspector_id); if (inspector_exists) { User inspector = _context.Users.First(a => a.Id == inspector_id); item.Inspector = inspector; } else // invalid data { item.Inspector = null; } } // adjust CCWData if (item.CCWData != null) { int ccwdata_id = item.CCWData.Id; bool ccwdata_exists = _context.CCWDatas.Any(a => a.Id == ccwdata_id); if (ccwdata_exists) { CCWData ccwdata = _context.CCWDatas.First(a => a.Id == ccwdata_id); item.CCWData = ccwdata; } else // invalid data { item.CCWData = null; } } } }
/// <summary> /// Creates several school buses /// </summary> /// <remarks>Used for bulk creation of schoolbus records.</remarks> /// <param name="body"></param> /// <response code="201">SchoolBus items created</response> public virtual IActionResult AddSchoolBusBulkAsync(SchoolBus[] items) { if (items == null) { return(new BadRequestResult()); } foreach (SchoolBus item in items) { // adjust school bus owner if (item.SchoolBusOwner != null) { int school_bus_owner_id = item.SchoolBusOwner.Id; bool school_bus_owner_exists = _context.SchoolBusOwners.Any(a => a.Id == school_bus_owner_id); if (school_bus_owner_exists) { SchoolBusOwner school_bus_owner = _context.SchoolBusOwners.First(a => a.Id == school_bus_owner_id); item.SchoolBusOwner = school_bus_owner; } } // adjust service area. if (item.ServiceArea != null) { int service_area_id = item.ServiceArea.Id; bool service_area_exists = _context.ServiceAreas.Any(a => a.Id == service_area_id); if (service_area_exists) { ServiceArea service_area = _context.ServiceAreas.First(a => a.Id == service_area_id); item.ServiceArea = service_area; } } // adjust school district if (item.SchoolBusDistrict != null) { int schoolbus_district_id = item.SchoolBusDistrict.Id; bool schoolbus_district_exists = _context.SchoolDistricts.Any(a => a.Id == schoolbus_district_id); if (schoolbus_district_exists) { SchoolDistrict school_district = _context.SchoolDistricts.First(a => a.Id == schoolbus_district_id); item.SchoolBusDistrict = school_district; } } // adjust home city if (item.HomeTerminalCity != null) { int city_id = item.HomeTerminalCity.Id; bool city_exists = _context.Cities.Any(a => a.Id == city_id); if (city_exists) { City city = _context.Cities.First(a => a.Id == city_id); item.HomeTerminalCity = city; } } var exists = _context.SchoolBuss.Any(a => a.Id == item.Id); if (exists) { _context.SchoolBuss.Update(item); } else { _context.SchoolBuss.Add(item); } } // Save the changes _context.SaveChanges(); return(new NoContentResult()); }
public virtual IActionResult SchoolbusownersIdPut([FromRoute] int id, [FromBody] SchoolBusOwner item) { return(this._service.SchoolbusownersIdPutAsync(id, item)); }
/// <summary> /// Integration test for GetAllBuses /// </summary> public async void TestBusSearch() { //setup test // create a district var request = new HttpRequestMessage(HttpMethod.Post, "/api/districts"); District district = new District(); string jsonString = district.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); district = JsonConvert.DeserializeObject <District>(jsonString); var district_id = district.Id; // create a schoolbus owner. request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners"); SchoolBusOwner schoolBusOwner = new SchoolBusOwner(); jsonString = schoolBusOwner.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString); var schoolBusOwner_id = schoolBusOwner.Id; // create a bus request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses"); // create a new schoolbus. SchoolBus schoolbus = new SchoolBus(); schoolbus.Status = "Active"; schoolbus.District = district; schoolbus.SchoolBusOwner = schoolBusOwner; schoolbus.VehicleIdentificationNumber = "1234"; schoolbus.LicencePlateNumber = "12345"; DateTime nextInspection = DateTime.UtcNow; schoolbus.NextInspectionDate = nextInspection; jsonString = schoolbus.ToJson(); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString); // get the id var id = schoolbus.Id; // make a change. string testStatus = "1"; schoolbus.Status = "Active"; // now do an update. request = new HttpRequestMessage(HttpMethod.Put, "/api/schoolbuses/" + id); request.Content = new StringContent(schoolbus.ToJson(), Encoding.UTF8, "application/json"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // do a get. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString); // test the search var parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "district", "[" + district_id + "]" } }; SchoolBus[] searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); bool found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "owner", "" + schoolBusOwner_id } }; searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "vin", "1234" } }; searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); parametersToAdd = new System.Collections.Generic.Dictionary <string, string> { { "plate", "12345" } }; searchresults = await SearchHelper(parametersToAdd); Assert.NotNull(searchresults); Assert.NotEqual(searchresults.Length, 0); found = false; foreach (SchoolBus item in searchresults) { if (item.Id == id) { found = true; } } Assert.Equal(found, true); // now test the owner view. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + schoolBusOwner_id + "/view"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); SchoolBusOwnerViewModel model = JsonConvert.DeserializeObject <SchoolBusOwnerViewModel>(jsonString); // should be one bus. Assert.Equal(model.NumberOfBuses, 1); Assert.Equal(model.NextInspectionDate.Value.Hour, nextInspection.Hour); Assert.Equal(model.NextInspectionDate.Value.Minute, nextInspection.Minute); Assert.Equal(model.NextInspectionDate.Value.Second, nextInspection.Second); // teardown request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses/" + id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); // cleanup service area. request = new HttpRequestMessage(HttpMethod.Post, "/api/districts/" + district_id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/districts/" + district_id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); // cleanup schoolbus owner request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners/" + schoolBusOwner_id + "/delete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // should get a 404 if we try a get now. request = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + schoolBusOwner_id); response = await _client.SendAsync(request); Assert.Equal(response.StatusCode, HttpStatusCode.NotFound); }
public virtual IActionResult SchoolbusownersPost([FromBody] SchoolBusOwner item) { return(this._service.SchoolbusownersPostAsync(item)); }
/// <summary> /// Setup the test. /// </summary> public SchoolBusOwnerModelTests() { instance = new SchoolBusOwner(); }