mirror of
https://bitbucket.org/myhomie/mycorerepository.git
synced 2025-12-07 02:01:20 +00:00
MC add Create from Provider (TODO) + UserService
This commit is contained in:
parent
8376acb662
commit
8960953ccc
@ -103,6 +103,38 @@ namespace MyCore.Controllers.Devices
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create devices from provider
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userId">User Id</param>
|
||||||
|
/// <param name="providerId">Id of Provider</param>
|
||||||
|
[ProducesResponseType(typeof(List<DeviceDetailDTO>), 200)]
|
||||||
|
[HttpPost("fromProvider/{userId}")]
|
||||||
|
public ObjectResult CreateDevicesFromProvider(string userId, [FromBody] string providerId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (providerId == null)
|
||||||
|
throw new KeyNotFoundException("Provider id is null");
|
||||||
|
|
||||||
|
if (userId == null && UserService.IsExist(userId))
|
||||||
|
throw new KeyNotFoundException("User not found");
|
||||||
|
|
||||||
|
List<DeviceDetailDTO> devicesCreated = DeviceService.CreateFromProvider(providerId);
|
||||||
|
|
||||||
|
return new OkObjectResult(devicesCreated);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (KeyNotFoundException ex)
|
||||||
|
{
|
||||||
|
return new BadRequestObjectResult(ex.Message) { StatusCode = 404 };
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return new ObjectResult(ex.Message) { StatusCode = 500 };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update a device
|
/// Update a device
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -54,5 +54,34 @@ namespace MyCore.Services.Devices
|
|||||||
else
|
else
|
||||||
return _DeviceDatabaseService.Update(device.Id, device).ToDTO();
|
return _DeviceDatabaseService.Update(device.Id, device).ToDTO();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<DeviceDetailDTO> CreateFromProvider(string providerId)
|
||||||
|
{
|
||||||
|
// TODO !
|
||||||
|
Device device = new Device();
|
||||||
|
|
||||||
|
Provider provider = new Provider();
|
||||||
|
if (_ProviderDatabaseService.IsExist(providerId))
|
||||||
|
provider = _ProviderDatabaseService.GetById(providerId);
|
||||||
|
else
|
||||||
|
throw new KeyNotFoundException("Provider does not exist");
|
||||||
|
|
||||||
|
switch (provider.Name)
|
||||||
|
{
|
||||||
|
case "Arlo":
|
||||||
|
break;
|
||||||
|
case "Meross":
|
||||||
|
break;
|
||||||
|
case "Yeelight":
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new KeyNotFoundException("Provider is not yet supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<DeviceDetailDTO> createdDevice = new List<DeviceDetailDTO>();
|
||||||
|
|
||||||
|
|
||||||
|
return createdDevice;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
MyCore/Services/MyControlPanel/UserService.cs
Normal file
19
MyCore/Services/MyControlPanel/UserService.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace MyCore.Services.MyControlPanel
|
||||||
|
{
|
||||||
|
public class UserService
|
||||||
|
{
|
||||||
|
private static UserDatabaseService _UserDatabaseService;
|
||||||
|
|
||||||
|
public static bool IsExist(string userId)
|
||||||
|
{
|
||||||
|
return _UserDatabaseService.GetById(userId) != null ? true : false ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user