示例#1
0
        /* ****
         * send me a series of uav id's batched and i will return a schedule for each uavid sent.
         * uav id's must be valid or it will dberror
         * **** */
        // POST api/Schedule/GenerateScheduleForUAV
        public Schedule GenerateScheduleForUAV(int uavID)
        {
            var sched = new Schedule
            {
                UAVId = uavID,
                Maintenances = new List<Maintenance>() {
                    new Maintenance
                    {   last_maintenance = DateTime.Now.AddHours(-1.0f),
                        next_maintenance = DateTime.Now.AddHours(5.0f),
                        time_remaining = (DateTime.Now.AddHours(5.0f) - DateTime.Now).ToString(),    }},
                Missions = new List<Mission>()
                {
                    new Mission
                    {
                        EstimatedCompletionTime = DateTime.Now.AddHours(0.5f),
                        FinancialCost = (decimal)5,
                        FlightPattern = (string)@"zigzag",
                        Payload = (string)@"500lbs",
                        Priority = 3,
                        ScheduledCompletionTime = DateTime.Now.AddHours(0.7f),
                        TimeAssigned = DateTime.Now.AddHours(-0.1f),
                        TimeCompleted = DateTime.Now,
                        Phase = (string)@"En route",
                        Longitude = -117.861328,
                        Latitude = 34.089061
                    }
                },
            };
            try
            {
                db.Schedules.Add(sched);
                db.SaveChanges();
            }
            catch (DbUpdateException incandescent)
            {
                //return null;
            }

            return sched;
        }
示例#2
0
        public IHttpActionResult PostSchedule(Schedule schedule)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.Schedules.Add(schedule);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = schedule.Id }, schedule);
        }
示例#3
0
        // PUT api/Schedule/5
        public IHttpActionResult PutSchedule(int id, Schedule schedule)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != schedule.Id)
            {
                return BadRequest();
            }

            db.Entry(schedule).State = System.Data.Entity.EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ScheduleExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }