コード例 #1
0
        public HttpResponseMessage Get()
        {
            try
            {
                List <Vehicle> entities = db.Vehicles.ToList();

                if (entities == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound,
                                                       "No Vehicles Found."));
                }

                List <ApiVehicle> apiVehicles = new List <ApiVehicle>();

                foreach (var record in entities)
                {
                    ApiVehicle apiVehicle = new ApiVehicle();
                    PropertyCopier <Vehicle, ApiVehicle> .Copy(record, apiVehicle);

                    apiVehicles.Add(apiVehicle);
                }
                return(Request.CreateResponse(HttpStatusCode.OK, apiVehicles));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest,
                                                   "Error in the code"));
            }
        }
コード例 #2
0
        public HttpResponseMessage Put(int id, [FromBody] ApiVehicle newVehicle)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var entity = db.Vehicles.FirstOrDefault(x => x.VehicleId == id);

                    if (entity == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound,
                                                           "Vehicle with Id " + id.ToString() + " not found to update."));
                    }

                    PropertyCopier <ApiVehicle, Vehicle> .Copy(newVehicle, entity);

                    db.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK,
                                                  "Vehicle with Id " + id.ToString() + " found and updated."));
                }
                catch (Exception e)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest,
                                                       "Error in the code"));
                }
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
コード例 #3
0
        public HttpResponseMessage Post([FromBody] ApiVehicle newVehicle)
        {
            if (ModelState.IsValid)
            {
                Vehicle c = new Vehicle();
                PropertyCopier <ApiVehicle, Vehicle> .Copy(newVehicle, c);

                db.Vehicles.Add(c);
                try
                {
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound,
                                                       "Cannot add new Vehicle, Try again." + e.StackTrace + "---" + e.InnerException));
                }
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            return(Request.CreateResponse(HttpStatusCode.OK, "Vehicle added."));
        }
コード例 #4
0
        public HttpResponseMessage Get(int id)
        {
            try
            {
                var entity = db.Vehicles.Find(id);

                if (entity == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound,
                                                       "Vehicle with Id " + id.ToString() + " not found."));
                }

                var myApiVehicle = new ApiVehicle();

                PropertyCopier <Vehicle, ApiVehicle> .Copy(entity, myApiVehicle);

                return(Request.CreateResponse(HttpStatusCode.OK, myApiVehicle));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest,
                                                   "Error in the code"));
            }
        }
コード例 #5
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vehicle'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task SetVehicleAsync(this IDatabase operations, ApiVehicle vehicle, CancellationToken cancellationToken = default(CancellationToken))
 {
     await operations.SetVehicleWithHttpMessagesAsync(vehicle, null, cancellationToken).ConfigureAwait(false);
 }
コード例 #6
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vehicle'>
 /// </param>
 public static void SetVehicle(this IDatabase operations, ApiVehicle vehicle)
 {
     Task.Factory.StartNew(s => ((IDatabase)s).SetVehicleAsync(vehicle), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }