예제 #1
0
        public async Task <Respuesta> EditarVehiculo(Vehiculo vehiculoEditado)
        {
            Respuesta respuesta;

            var yaEditado = await VerificarEdicionDeVehiculo(vehiculoEditado);

            var serviciosEditados = await ComprobarEdicionDeServiciosDeVehiculo(vehiculoEditado);

            if (yaEditado || serviciosEditados)
            {
                bool yaExiste = await VerificarExistenciaDeVehiculo(vehiculoEditado);

                if (!yaExiste)
                {
                    if (yaEditado)
                    {
                        var vehiculoExistente = await ObtenerVehiculoPorId(vehiculoEditado.IdVehiculo);

                        vehiculoExistente.Placa = vehiculoEditado.Placa;
                        vehiculoExistente.Dueno = vehiculoEditado.Dueno;
                        vehiculoExistente.Marca = vehiculoEditado.Marca;

                        await _repositorioVehiculo.EditarVehiculo(vehiculoExistente);
                    }

                    if (serviciosEditados)
                    {
                        await EditarServiciosDeVehiculo(vehiculoEditado);
                    }

                    return(respuesta = new Respuesta {
                        Ok = true, Mensaje = HelperMensaje.GenerarMensaje(TipoMensaje.Editado, "El vehículo")
                    });
                }
                else
                {
                    return(respuesta = new Respuesta {
                        Ok = false, Mensaje = HelperMensaje.GenerarMensaje(TipoMensaje.ErrorYaExiste, "El vehículo")
                    });
                }
            }
            else
            {
                return(respuesta = new Respuesta {
                    Ok = false, Mensaje = HelperMensaje.GenerarMensaje(TipoMensaje.ErrorEditar, "")
                });
            }
        }