public ResponseProfile GetImageMediaProfile(string container, int?width, int?height) { foreach (var i in ResponseProfiles) { if (i.Type != DlnaProfileType.Photo) { continue; } if (!ContainerProfile.ContainsContainer(i.GetContainers(), container)) { continue; } var anyOff = false; foreach (var c in i.Conditions) { if (!ConditionProcessor.IsImageConditionSatisfied(GetModelProfileCondition(c), width, height)) { anyOff = true; break; } } if (anyOff) { continue; } return(i); } return(null); }
public ResponseProfile GetImageMediaProfile(string container, int?width, int?height) { container = StringHelper.TrimStart((container ?? string.Empty), '.'); foreach (var i in ResponseProfiles) { if (i.Type != DlnaProfileType.Photo) { continue; } List <string> containers = i.GetContainers(); if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container)) { continue; } ConditionProcessor conditionProcessor = new ConditionProcessor(); var anyOff = false; foreach (ProfileCondition c in i.Conditions) { if (!conditionProcessor.IsImageConditionSatisfied(c, width, height)) { anyOff = true; break; } } if (anyOff) { continue; } return(i); } return(null); }
public ResponseProfile GetPhotoMediaProfile(string container, int?width, int?height) { container = (container ?? string.Empty).TrimStart('.'); return(ResponseProfiles.FirstOrDefault(i => { if (i.Type != DlnaProfileType.Photo) { return false; } var containers = i.GetContainers().ToList(); if (containers.Count > 0 && !containers.Contains(container)) { return false; } var conditionProcessor = new ConditionProcessor(); return i.Conditions.All(c => conditionProcessor.IsImageConditionSatisfied(c, width, height)); })); }
public ResponseProfile GetImageMediaProfile(string container, int? width, int? height) { container = StringHelper.TrimStart((container ?? string.Empty), '.'); foreach (var i in ResponseProfiles) { if (i.Type != DlnaProfileType.Photo) { continue; } List<string> containers = i.GetContainers(); if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container)) { continue; } ConditionProcessor conditionProcessor = new ConditionProcessor(); var anyOff = false; foreach (ProfileCondition c in i.Conditions) { if (!conditionProcessor.IsImageConditionSatisfied(c, width, height)) { anyOff = true; break; } } if (anyOff) { continue; } return i; } return null; }