コード例 #1
0
        public void AddOrUpdateRange(List <DomDbModel> list)
        {
            lock (_lockObject)
            {
                using (var context = new ScadaDbContext())
                {
                    foreach (var model in list)
                    {
                        DomDbModel m = context.Dom.FirstOrDefault(d => !String.IsNullOrEmpty(d.Mrid) && d.Mrid == model.Mrid);

                        if (m == null)
                        {
                            context.Dom.Add(model);
                        }
                        else
                        {
                            m.ManipulationConut++;
                            m.TimeStamp            = DateTime.Now.ToString();
                            context.Entry(m).State = System.Data.Entity.EntityState.Modified;
                        }
                    }
                    context.SaveChanges();
                }
            }
        }
コード例 #2
0
        public HistoryGraph GetGraph()
        {
            var history = new HistoryGraph();

            lock (_lockObj)
            {
                using (var context = new ScadaDbContext())
                {
                    var pump1list = context.History.Where(x => x.Mrid == "Flow_AM1").ToList();
                    pump1list.Skip(Math.Max(0, pump1list.Count() - 30)).ToList().ForEach(x => {
                        history.Pump1.XAxe.Add(DateTime.Parse(x.TimeStamp));
                        history.Pump1.YAxe.Add(x.Value);
                    });
                    var pump2list = context.History.Where(x => x.Mrid == "Flow_AM2").ToList();
                    pump2list.Skip(Math.Max(0, pump2list.Count() - 30)).ToList().ForEach(x => {
                        history.Pump2.XAxe.Add(DateTime.Parse(x.TimeStamp));
                        history.Pump2.YAxe.Add(x.Value);
                    });
                    var pump3list = context.History.Where(x => x.Mrid == "Flow_AM3").ToList();
                    pump3list.Skip(Math.Max(0, pump3list.Count() - 30)).ToList().ForEach(x => {
                        history.Pump3.XAxe.Add(DateTime.Parse(x.TimeStamp));
                        history.Pump3.YAxe.Add(x.Value);
                    });

                    var fluidlist = context.History.Where(x => x.Mrid == "FluidLevel_Tank").ToList();
                    fluidlist.Skip(Math.Max(0, fluidlist.Count() - 30)).ToList().ForEach(x => {
                        history.FluidLevel.XAxe.Add(DateTime.Parse(x.TimeStamp));
                        history.FluidLevel.YAxe.Add(x.Value);
                    });
                }
            }
            return(history);
        }
コード例 #3
0
 public void Add(HistoryDbModel model)
 {
     lock (_lockObj)
     {
         using (var context = new ScadaDbContext())
         {
             context.History.Add(model);
             context.SaveChanges();
         }
     }
 }
コード例 #4
0
        public List <DomDbModel> GetAll()
        {
            List <DomDbModel> models = new List <DomDbModel>();

            lock (_lockObject)
            {
                using (var context = new ScadaDbContext())
                {
                    models = context.Dom.ToList();
                }
            }
            return(models);
        }
コード例 #5
0
        public List <HistoryDbModel> GetAll()
        {
            List <HistoryDbModel> list;

            lock (_lockObj)
            {
                using (var context = new ScadaDbContext())
                {
                    list = context.History.ToList().Take(100).ToList();
                }
            }
            return(list);
        }
コード例 #6
0
        public List <HistoryDbModel> GetByTimestamp(DateTime timestamp)
        {
            string strTimeStamp = timestamp.ToString();
            List <HistoryDbModel> list;

            lock (_lockObj)
            {
                using (var context = new ScadaDbContext())
                {
                    list = context.History.Where(dbm => dbm.TimeStamp == strTimeStamp).ToList();
                }
            }
            return(list);
        }
コード例 #7
0
        public void AddRange(List <HistoryDbModel> list)
        {
            lock (_lockObj)
            {
                using (var context = new ScadaDbContext())
                {
                    foreach (var model in list)
                    {
                        context.History.Add(model);
                    }

                    context.SaveChanges();
                }
            }
        }
コード例 #8
0
        public void Set(List <BasePoint> points)
        {
            using (var ctx = new ScadaDbContext())
            {
                ctx.Database.ExecuteSqlCommand("TRUNCATE TABLE PointDbModels");
                ctx.SaveChanges();
            }
            _context = new ScadaDbContext();
            var converter       = new ReplicationConverter();
            var convertedPoints = converter.ConvertForDb(points);

            foreach (var item in convertedPoints)
            {
                _context.ReplicationData.Add(item);
            }
            _context.SaveChanges();
        }
コード例 #9
0
        public void Add(List <DomDbModel> list)
        {
            lock (_lockObject)
            {
                using (var context = new ScadaDbContext())
                {
                    foreach (var model in list)
                    {
                        DomDbModel m = context.Dom.FirstOrDefault(d => d.Mrid == model.Mrid);

                        if (m == null)
                        {
                            context.Dom.Add(model);
                        }
                    }
                    context.SaveChanges();
                }
            }
        }
コード例 #10
0
        public void UpdateSingle(DomDbModel model)
        {
            lock (_lockObject)
            {
                using (var context = new ScadaDbContext())
                {
                    DomDbModel m = context.Dom.FirstOrDefault(d => !String.IsNullOrEmpty(d.Mrid) && d.Mrid == model.Mrid);

                    if (m != null)
                    {
                        m.ManipulationConut++;
                        m.TimeStamp            = DateTime.Now.ToString();
                        context.Entry(m).State = System.Data.Entity.EntityState.Modified;
                    }


                    context.SaveChanges();
                }
            }
        }
コード例 #11
0
        public List <HistoryDbModel> GetInInverval(DateTime from, DateTime to)
        {
            List <HistoryDbModel> allModels;
            List <HistoryDbModel> filterModels;

            lock (_lockObj)
            {
                using (var context = new ScadaDbContext())
                {
                    allModels    = context.History.ToList();
                    filterModels = new List <HistoryDbModel>();
                    foreach (HistoryDbModel model in allModels)
                    {
                        if (DateTime.Parse(model.TimeStamp) >= from && DateTime.Parse(model.TimeStamp) <= to)
                        {
                            filterModels.Add(model);
                        }
                    }
                }
            }

            return(filterModels);
        }
コード例 #12
0
 public DomRepository(ScadaDbContext context)
 {
     _context = context;
 }
コード例 #13
0
 public DomRepository(ScadaDbContext context)
 {
     _context    = context;
     _lockObject = new object();
 }
コード例 #14
0
 public HistoryRepository(ScadaDbContext context)
 {
     _context = context;
 }
コード例 #15
0
 public ReplicationRepository(ScadaDbContext context)
 {
     _context = context;
 }
コード例 #16
0
 public HistoryRepository(ScadaDbContext context)
 {
     _context = context;
     _lockObj = new object();
 }