public async Task <IActionResult> PutDeviceTypeEntity([FromRoute] int id, [FromBody] DeviceTypeEntity deviceTypeEntity)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != deviceTypeEntity.Id)
            {
                return(BadRequest());
            }

            _context.Entry(deviceTypeEntity).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DeviceTypeEntityExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #2
0
        private void ConfigureDevice(IHomeAutomationAPI homeAutomationAPI, DeviceConfig deviceConfig)
        {
            var locations   = homeAutomationAPI.ApiLocationGet();
            var deviceTypes = homeAutomationAPI.ApiDeviceGet();
            var sensors     = homeAutomationAPI.ApiSensorGet();
            var devices     = homeAutomationAPI.ApiDeviceGet();

            LocationEntity location = null;

            if (!locations.Where(x => x.Name == deviceConfig.Location).Any())
            {
                // Create Location
            }

            DeviceTypeEntity deviceType = null;

            if (!deviceTypes.Where(x => x.Name == deviceConfig.DeviceTypeName).Any())
            {
                // Create DeviceType
            }

            List <SensorEntity> sensorList = new List <SensorEntity>();

            foreach (var sensor in deviceConfig.Sensors)
            {
                if (!sensors.Where(x => x.Name == sensor).Any())
                {
                    // Create Sensor
                }
            }
            if (!devices.Where(x => x.Name == deviceConfig.Name).Any())
            {
                // Create Device
            }
        }
예제 #3
0
        public static int InsertType(DeviceTypeEntity entity)
        {
            using (var conn = new SqlConnection(ConnStr))
            {
                conn.Open();

                var sql = @"
 INSERT INTO Configuration.dbo.tbl_DeviceType
         ( BrandID ,
           DeviceType ,
           CreateDateTime ,
           UpdateDateTime ,
           CreateUser,
           UpdateUser 
         )
 VALUES  ( @BrandID , -- BrandID - int
           @DeviceType , -- DeviceType - nvarchar(30)
           GETDATE() , -- CreateDateTime - datetime
           GETDATE() , -- UpdateDateTime - datetime
           @CreateUser,
           @UpdateUser
         );
Select SCOPE_IDENTITY();
";

                var sqlParam = new SqlParameter[]
                {
                    new SqlParameter("@BrandID", entity.BrandId),
                    new SqlParameter("@DeviceType", entity.DeviceType),
                    new SqlParameter("@CreateUser", entity.CreateUser),
                    new SqlParameter("@UpdateUser", entity.UpdateUser),
                };
                return(Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, sql, sqlParam)));
            }
        }
        public async Task <IActionResult> PostDeviceTypeEntity([FromBody] DeviceTypeEntity deviceTypeEntity)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.DeviceTypes.Add(deviceTypeEntity);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetDeviceTypeEntity", new { id = deviceTypeEntity.Id }, deviceTypeEntity));
        }
예제 #5
0
        public static bool UpdateType(DeviceTypeEntity entity)
        {
            using (var con = new SqlConnection(ConnStr))
            {
                var sql = @"
 UPDATE Configuration.dbo.tbl_DeviceType 
 SET BrandID =@brandId, DeviceType =@deviceType,UpdateDateTime =GETDATE(),UpdateUser=@UpdateUser
 WHERE PKID = @Pkid
";

                var sqlParam = new SqlParameter[]
                {
                    new SqlParameter("@brandId", entity.BrandId),
                    new SqlParameter("@deviceType", entity.DeviceType),
                    new SqlParameter("@UpdateUser", entity.UpdateUser),
                    new SqlParameter("@Pkid", entity.PKID),
                };

                return(SqlHelper.ExecuteNonQuery(con, CommandType.Text, sql, sqlParam) > 0);
            }
        }
예제 #6
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='deviceTypeEntity'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task ApiDeviceTypeByIdPutAsync(this IHomeAutomationAPI operations, int id, DeviceTypeEntity deviceTypeEntity = default(DeviceTypeEntity), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.ApiDeviceTypeByIdPutWithHttpMessagesAsync(id, deviceTypeEntity, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
예제 #7
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='deviceTypeEntity'>
 /// </param>
 public static void ApiDeviceTypeByIdPut(this IHomeAutomationAPI operations, int id, DeviceTypeEntity deviceTypeEntity = default(DeviceTypeEntity))
 {
     operations.ApiDeviceTypeByIdPutAsync(id, deviceTypeEntity).GetAwaiter().GetResult();
 }
예제 #8
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceTypeEntity'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <DeviceTypeEntity> ApiDeviceTypePostAsync(this IHomeAutomationAPI operations, DeviceTypeEntity deviceTypeEntity = default(DeviceTypeEntity), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ApiDeviceTypePostWithHttpMessagesAsync(deviceTypeEntity, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
예제 #9
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceTypeEntity'>
 /// </param>
 public static DeviceTypeEntity ApiDeviceTypePost(this IHomeAutomationAPI operations, DeviceTypeEntity deviceTypeEntity = default(DeviceTypeEntity))
 {
     return(operations.ApiDeviceTypePostAsync(deviceTypeEntity).GetAwaiter().GetResult());
 }