Example #1
0
        public async Task <IHttpActionResult> PutVehiculo(int id, VehiculoSolicitud solicitud)
        {
            if (!ModelState.IsValid)
            {
                foreach (var value in ModelState.Values)
                {
                    foreach (var error in value.Errors)
                    {
                        return(BadRequest(error.ErrorMessage.ToString()));
                    }
                }
            }

            if (id != solicitud.IdVehiculo)
            {
                return(BadRequest());
            }

            if (solicitud.ImageArray != null && solicitud.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(solicitud.ImageArray);
                var guid     = Guid.NewGuid().ToString();
                var file     = string.Format("{0}.jpg", guid);
                var folder   = "~/Content/Images";
                var fullPath = string.Format("{0}/{1}", folder, file);
                var response = FilesHelper.UploadPhoto(stream, folder, file);

                if (response)
                {
                    solicitud.Foto = fullPath;
                }
            }

            var vehiculo = ToVehiculo(solicitud);

            db.Entry(vehiculo).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null &&
                    ex.InnerException.InnerException != null &&
                    ex.InnerException.InnerException.Message.Contains("Unique"))
                {
                    return(BadRequest("Hay un registro con la misma placa."));
                }
                else
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(Ok(vehiculo));
        }
Example #2
0
        public async Task <IHttpActionResult> PostVehiculo(VehiculoSolicitud Solicitud)
        {
            if (!ModelState.IsValid)
            {
                foreach (var value in ModelState.Values)
                {
                    foreach (var error in value.Errors)
                    {
                        return(BadRequest(error.ErrorMessage.ToString()));
                    }
                }
            }

            if (Solicitud.ImageArray != null && Solicitud.ImageArray.Length > 0)
            {
                var stream   = new MemoryStream(Solicitud.ImageArray);
                var guid     = Guid.NewGuid().ToString();
                var file     = string.Format("{0}.jpg", guid);
                var folder   = "~/Content/Images";
                var fullPath = string.Format("{0}/{1}", folder, file);
                var response = FilesHelper.UploadPhoto(stream, folder, file);

                if (response)
                {
                    Solicitud.Foto = fullPath;
                }
            }

            var vehiculo = ToVehiculo(Solicitud);

            db.Vehiculoes.Add(vehiculo);
            try
            {
                await db.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null &&
                    ex.InnerException.InnerException != null &&
                    ex.InnerException.InnerException.Message.Contains("Unique"))
                {
                    return(BadRequest("Hay un registro con la misma placa."));
                }
                else
                {
                    return(BadRequest(ex.InnerException.InnerException.Message));
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = vehiculo.IdVehiculo }, vehiculo));
        }
Example #3
0
 private Vehiculo ToVehiculo(VehiculoSolicitud solicitud)
 {
     return(new Vehiculo
     {
         IdVehiculo = solicitud.IdVehiculo,
         IdUsuario = solicitud.IdUsuario,
         Color = solicitud.Color,
         IdTipoVehiculo = solicitud.IdTipoVehiculo,
         Marca = solicitud.Marca,
         Modelo = solicitud.Modelo,
         Placa = solicitud.Placa,
         Reservas = solicitud.Reservas,
         TipoVehiculo = solicitud.TipoVehiculo,
         Usuario = solicitud.Usuario,
         Foto = solicitud.Foto,
     });
 }