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); } } }