Esempio n. 1
0
        /// <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));
            }
        }
Esempio n. 2
0
        /// <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));
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        /// <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));
            }
        }
Esempio n. 5
0
        /// <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));
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 8
0
        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));
            }
        }
Esempio n. 10
0
        /// <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));
            }
        }
Esempio n. 11
0
        /// <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));
            }
        }
Esempio n. 12
0
        /// <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);
        }
Esempio n. 13
0
        /// <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));
            }
        }
Esempio n. 14
0
        /// <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));
            }
        }
Esempio n. 15
0
        /// <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));
        }
Esempio n. 18
0
        /// <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);
        }
Esempio n. 19
0
        /// <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;
                    }
                }
            }
        }
Esempio n. 20
0
        /// <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());
        }
Esempio n. 21
0
 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);
        }
Esempio n. 23
0
 public virtual IActionResult SchoolbusownersPost([FromBody] SchoolBusOwner item)
 {
     return(this._service.SchoolbusownersPostAsync(item));
 }
Esempio n. 24
0
 /// <summary>
 /// Setup the test.
 /// </summary>
 public SchoolBusOwnerModelTests()
 {
     instance = new SchoolBusOwner();
 }