/// <summary>
        /// Actualiza un vehículo al sistema
        /// </summary>
        /// <param name="reference"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public async Task <bool> UpdateVehicle(string reference, VehicleDataAPI value, Guid?userId = null)
        {
            if (value == null)
            {
                return(false);
            }

            try
            {
                var vehicle = await _context.Vehicles.FirstOrDefaultAsync(x => x.Reference == reference);

                if (vehicle == null)
                {
                    return(false);
                }

                // Actualizamos los campos del vehiculos
                vehicle.Reference = value.Reference;
                vehicle.Name      = value.Name;
                vehicle.Plate     = value.Plate;
                vehicle.UserId    = userId;

                // actualizamos el vehículo
                var veh = _context.Vehicles.Update(vehicle);

                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error actualizando vehiculo. {@value}", value);
            }

            return(false);
        }
        /// <summary>
        /// Añade un vehiculo al sistema
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public async Task <bool> AddVehicle(VehicleDataAPI value, Guid?userId = null)
        {
            if (value == null)
            {
                return(false);
            }

            try
            {
                // Añadimos el vehículo
                var vehicle = await _context.Vehicles.AddAsync(new Vehicle
                {
                    Reference = value.Reference,
                    Name      = value.Name,
                    Plate     = value.Plate,
                    UserId    = userId
                });

                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error añadiendo vehiculo. {@value}", value);
            }

            return(false);
        }
        public async Task <IActionResult> Put(string reference, [FromBody] VehicleDataAPI value)
        {
            if (String.IsNullOrEmpty(reference) || value == null)
            {
                return(BadRequest());
            }

            if (!await _vehicleService.UpdateVehicle(reference, value))
            {
                return(BadRequest());
            }
            return(Ok());
        }
        public async Task <IActionResult> Post([FromBody] VehicleDataAPI value)
        {
            if (value == null)
            {
                return(BadRequest());
            }

            if (!await _vehicleService.AddVehicle(value))
            {
                return(BadRequest());
            }
            return(Ok());
        }
Пример #5
0
        /// <summary>
        /// Añade la posición de un vehículo dada la referencia de este
        /// </summary>
        /// <param name="reference"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public async Task <bool> UpdateVehicle(string reference, VehicleDataAPI value)
        {
            // Comprobamos que tenga referencia y que sea administrador
            if (String.IsNullOrEmpty(reference) || !IsAdmin())
            {
                return(false);
            }

            Guid?userId = null;

            if (!String.IsNullOrEmpty(value.UserName))
            {
                var usr = await _userRepository.GetUser(value.UserName);

                userId = usr?.Id;
            }
            // Actualizamos el vehiculo
            return(await _vehicleRepository.UpdateVehicle(reference, value, userId));
        }
Пример #6
0
        /// <summary>
        /// Añade un vehículo al sistema
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public async Task <bool> AddVehicle(VehicleDataAPI value)
        {
            // Comprobamos que sea administraodr
            if (!IsAdmin())
            {
                return(false);
            }

            Guid?userId = null;

            if (!String.IsNullOrEmpty(value.UserName))
            {
                var usr = await _userRepository.GetUser(value.UserName);

                userId = usr?.Id;
            }

            // Añadimos el vehiculo
            return(await _vehicleRepository.AddVehicle(value, userId));
        }