47 lines
1.7 KiB
C#

using MyCore.Interfaces.DTO;
using MyCore.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace MyCore.Services
{
public class HomeService
{
public static bool IsExist(HomeDatabaseService _HomeDatabaseService, string homeId)
{
return _HomeDatabaseService.GetById(homeId) != null ? true : false ;
}
public static Home CreateOrUpdate(HomeDatabaseService _HomeDatabaseService, AlarmDatabaseService _AlarmDatabaseService, CreateOrUpdateHomeDTO createOrUpdateHomeDTO, bool create)
{
Home home;
if (create)
home = new Home();
else
{
home = _HomeDatabaseService.GetById(createOrUpdateHomeDTO.Id);
home.CurrentAlarmMode = _AlarmDatabaseService.IsExist(createOrUpdateHomeDTO.CurrentAlarmMode.Id) ? _AlarmDatabaseService.GetById(createOrUpdateHomeDTO.CurrentAlarmMode.Id) : null;
}
home.Name = createOrUpdateHomeDTO.Name;
home.CreatedDate = create ? DateTime.Now : createOrUpdateHomeDTO.CreatedDate;
home.UpdatedDate = DateTime.Now;
home.IsAlarm = createOrUpdateHomeDTO.IsAlarm;
home.UsersIds = createOrUpdateHomeDTO.UsersIds.ToArray();
// Todo : check if necessary
/*home.Users = homeDetail.Users;
home.Automations = homeDetail.Automations;
home.Devices = homeDetail.Devices;
home.Providers = homeDetail.Providers;*/
if (create)
return _HomeDatabaseService.Create(home);
else
return _HomeDatabaseService.Update(home.Id, home);
}
}
}