Ejemplo n.º 1
0
        public async Task <Asset> Create(Asset asset)
        {
            const string sql = @"INSERT INTO assets (id, model, description, purchased_at, maintenance_on) 
                             VALUES (@Id, @Model, @Description, @PurchasedAt, @MaintenanceOn)";

            using var connection = helper.GetConnection();

            await connection.QueryAsync(sql, SqlParameters(asset));

            return(asset);
        }
Ejemplo n.º 2
0
        public void Insert(MqttRequest mqttRequest)
        {
            string sql = @"INSERT
                    INTO ta_pegando_fogo.Medicao
                        (DispositivoId,
                        Temperatura,
                        Fumaca,
                        Gas,
                        UmidadeAr,
                        DataAtualizacao,
                        Risco)
                    VALUES
                        (@DispositivoId,
                        @Temperatura,
                        @Fumaca,
                        @Gas,
                        @Umidade,
                        @DataAtualizacao,
                        @Risco)";

            var param = new DynamicParameters();

            param.Add("@Temperatura", mqttRequest.measurement.Temperature, DbType.Double);
            param.Add("@Fumaca", mqttRequest.measurement.Smoke, DbType.Double);
            param.Add("@Gas", mqttRequest.measurement.Gas, DbType.Double);
            param.Add("@Umidade", mqttRequest.measurement.AirHumidity, DbType.Double);
            param.Add("@DataAtualizacao", DateTime.UtcNow, DbType.DateTime);
            param.Add("@Risco", 0, DbType.Double);
            param.Add("@DispositivoId", mqttRequest.measurement.IdDispositivo, DbType.Int32);

            using var connection = _helper.GetConnection();

            connection.Execute(sql, param);
        }
Ejemplo n.º 3
0
        public Task <int> Login(string cpf, string senha)
        {
            string sql = @"SELECT
                                IdCliente
                           FROM Cliente
                           WHERE
                                CpfCnpj = @CpfCnpj
                           AND 
                                Senha = @Senha";


            var param = new DynamicParameters();

            param.Add("@CpfCnpj", cpf.Replace(".", "").Replace("-", "").Replace("/", ""), DbType.String);
            param.Add("@Senha", senha, DbType.String);

            using var connection = _helper.GetConnection();
            return(connection.QueryFirstOrDefaultAsync <int>(sql, param));
        }
Ejemplo n.º 4
0
        public async Task <List <DeviceDto> > GetDevice(int idClient)
        {
            const string sql = @"SELECT 
                    device.IdDispositivo,
                    device.IdCliente,
                    device.Latitude,
                    device.Longitude,
                    device.Apelido,
                    m.IdMedicao,
                    m.DispositivoId,
                    m.Temperatura,
                    m.Fumaca,
                    m.Gas,
                    m.UmidadeAr,
                    m.DataAtualizacao,
                    m.Risco
                FROM
                    Dispositivo device
                        JOIN
                    Medicao m ON device.IdDispositivo = m.DispositivoId
                WHERE
                    device.IdCliente = @IdCliente";

            var param = new DynamicParameters();

            param.Add("@IdCliente", idClient, DbType.Int32);


            var deviceDtoDictionary = new Dictionary <int, DeviceDto>();

            using var connection = _helper.GetConnection();
            return((await connection.QueryAsync <DeviceDto, MeasurementDto, DeviceDto>(sql,
                                                                                       map: (deviceDto, measurementDto) =>
            {
                if (deviceDtoDictionary.TryGetValue(deviceDto.IdDispositivo, out DeviceDto device))
                {
                    deviceDto = device;
                }
                else
                {
                    if (deviceDto.Measurements == null)
                    {
                        deviceDto.Measurements = new List <MeasurementDto>();
                    }

                    deviceDtoDictionary.Add(deviceDto.IdDispositivo, deviceDto);
                }

                if (measurementDto != null)
                {
                    var measurementList = deviceDto.Measurements.Find(x => x.IdMedicao == measurementDto.IdMedicao);

                    if (measurementList == null)
                    {
                        deviceDto.Measurements.Add(measurementDto);
                    }
                }

                return deviceDto;
            },
                                                                                       param,
                                                                                       null,
                                                                                       true,
                                                                                       splitOn: "IdDispositivo,IdMedicao")).Distinct().ToList());
        }