private (bool?IsNecessary, string content) GetContent(HueGroupDto currentGroup, HueGroupStatePutDto state, bool withoutOn) { object content = null; if (withoutOn) { content = this._mapper.Map <GroupStateWithoutOnPut>(state); } else { content = this._mapper.Map <GroupStateWithOnPut>(state); } if (content == null) { this._logger?.LogError($"{nameof(GroupStateHandler)}hat keinen gültigen Status Wert"); return(false, string.Empty); } try { return(true, LowerCaseSerializer.SerializeObjectWithoutNullProperties(content)); } catch (Exception ex) { this._logger?.LogError(ex, "Während der Serialisierung trat ein Fehler auf"); return(null, string.Empty); } }
public (bool?IsNecessary, string content) GetSwtichContent(HueGroupDto currentGroup, HueSwitchPutDto switchDto) { var newPutDto = new HueGroupStatePutDto { Id = switchDto.Id, On = !currentGroup.Action.On }; return(this.GetContent(currentGroup, newPutDto, false)); }
public (bool?isNecessary, string content) GetPostContent(HueGroupDto currentGroup, HueGroupStatePutDto wantedState) { if (wantedState.On != currentGroup.Action.On) { return(this.GetContent(currentGroup, wantedState, false)); } else { if (currentGroup.Action.On) // Soll laut Api nicht immer mit On auf True schicken wenn dieser bereits True ist { return(this.GetContent(currentGroup, wantedState, true)); } else { this._logger?.LogDebug($"Aktueller Status von Gruppe {currentGroup.Name} " + $"hat bereits den gewünschten Status {currentGroup.Action.On}"); return(false, string.Empty); } } }