private string Processor <T>(List <T> source, Func <T, bool> where, Func <T, string> callback) { T t = source.Where(where).FirstOrDefault(); if (t == null) { return(HttpRequestHandleResultWarpper.WriteResult(false, "Resource not found.")); } return(callback.Invoke(t)); }
public RuntimeState(EventSubscriptionManager eventSubscriptionManager) { HttpRequestHandleManager.Instance.AddHandler("GetLiveAndRecordState", new Func <IDictionary <string, string>, string>((dic) => { return(HttpRequestHandleResultWarpper.WriteResult(true, null, this)); })); eventSubscriptionManager.Subscribe <LiveAndRecordingOperateEvent, LiveAndRecordingOperateEventContext>(null, LiveAndRecordingOperateEventHandler, null); eventSubscriptionManager.Subscribe <LoadPresentationCompletedEvent, List <PresentationInfo> >(null, LoadPresentationCompletedEventHandler, null); eventSubscriptionManager.Subscribe <LoadWarmVideoCompletedEvent, List <PresentationInfo> >(null, LoadWarmVideoCompletedEventHandler, null); eventSubscriptionManager.Subscribe <LoadCameraDeviceCompletedEvent, List <IVideoDevice> >(null, LoadCameraDeviceCompletedEventHandler, null); eventSubscriptionManager.Subscribe <SwitchDemonstrationSceneEvent, SwitchDemonstrationSceneContext>(null, SwitchDemonstrationSceneEventHandler, null); }
public CourseContentsViewModel() { HttpRequestHandleManager.Instance.AddHandler("PlayScreenVideo", new Func <IDictionary <string, string>, string>((dic) => { return(Processor(PresentationViewModel.PresentationList, (item) => item.Presentation.ID == dic["sourceID"], (resource) => { PresentationViewModel.CurrentSelectedPresentation = resource; SwitchScene("0"); return HttpRequestHandleResultWarpper.WriteResult(true); })); })); HttpRequestHandleManager.Instance.AddHandler("PlayStreamVideo", new Func <IDictionary <string, string>, string>((dic) => { return(Processor(PresentationViewModel.WarmVideoList, (item) => item.Presentation.ID == dic["sourceID"], (resource) => { PresentationViewModel.CurrentSelectedWarmVideo = resource; SwitchScene("1"); return HttpRequestHandleResultWarpper.WriteResult(true); })); })); HttpRequestHandleManager.Instance.AddHandler("PlayCameraVideo", new Func <IDictionary <string, string>, string>((dic) => { return(Processor(CameraDeviceViewModel.CameraDeviceList, (item) => item.OwnerVideoDevice.ID == int.Parse(dic["sourceID"]), (resource) => { CameraDeviceViewModel.CurrentSelectedDevice = resource; SwitchScene("2"); return HttpRequestHandleResultWarpper.WriteResult(true); })); })); }
private string Processor(Func <Tuple <bool, string> > handler) { Tuple <bool, string> result = handler.Invoke(); return(HttpRequestHandleResultWarpper.WriteResult(result.Item1, result.Item2)); }