public static MulticastCamera[] FetchCameras()
        {
            using var db = new Cctv();

            return((
                       from t in
                       from sc in db.ServerCamera
                       from c in db.Camera.InnerJoin(c => sc.CameraID == c.ID)
                       from cu in db.CameraUrl.InnerJoin(cu => c.ID == cu.CameraID)
                       where sc.IsActive &&
                       sc.ServerID == Config.Instance.ServerID
                       select new
            {
                RowNum = Sql.Ext.RowNumber()
                         .Over()
                         .PartitionBy(c.ID)
                         .OrderBy(sc.ActiveRank)
                         .ToValue(),
                CameraUrl = cu.Url,
                c.MulticastPort,
            }
                       select new MulticastCamera
            {
                CameraUrl = t.CameraUrl,
                MulticastPort = t.MulticastPort,
            }).ToArray());
        }
 public static string FetchMulticastIPAddress()
 {
     using var db = new Cctv();
     return((
                from s in db.Settings
                select s.MulticastIPAddress).First());
 }
 public static Server FetchServer()
 {
     using var db = new Cctv();
     return((
                from s in db.Server
                where s.ID == Config.Instance.ServerID
                select s).First());
 }
Beispiel #4
0
 public static Viewer FetchViewer()
 {
     using var db = new Cctv();
     return((
                from v in db.Viewer
                where v.ID == Config.Instance.ViewerID
                select v).First());
 }
Beispiel #5
0
 public static Camera FetchCameraByID(int cameraID)
 {
     using var db = new Cctv();
     return((
                from c in db.Camera
                where c.ID == cameraID
                select c).FirstOrDefault());
 }
Beispiel #6
0
        public static LayoutCameraUserChoice[] FetchUserChoiceForLayout(int layoutID)
        {
            using var db = new Cctv();

            return((
                       from lcuc in db.LayoutCameraUserChoice
                       from c in db.Camera.InnerJoin(c => lcuc.OptionalCameraID == c.ID)
                       where lcuc.LayoutID == layoutID
                       select LayoutCameraUserChoice.WithCamera(lcuc, c)).ToArray());
        }
Beispiel #7
0
        public static LayoutCamera[] FetchCamerasForLayout(int layoutID)
        {
            using var db = new Cctv();

            return((
                       from lc in db.LayoutCamera
                       from c in db.Camera.InnerJoin(c => lc.CameraID == c.ID)
                       where lc.LayoutID == layoutID
                       orderby lc.RowIndex, lc.ColumnIndex
                       select LayoutCamera.WithCamera(lc, c)).ToArray());
        }
Beispiel #8
0
 public static async Task <Layout[]> FetchLayoutsAsync()
 {
     using var db = new Cctv();
     return(await(
                from l in db.Layout
                from vl in db.ViewerLayout.InnerJoin(vl => l.ID == vl.LayoutID)
                where vl.ViewerID == Config.Instance.ViewerID &&
                vl.IsActive
                orderby vl.Rank
                select l).ToArrayAsync());
 }