public async Task <HistoryRoot> GetHistDataCollection(string sn, string startTime, string endTime)
        {
            Dictionary <string, string> keyValuePairs = new Dictionary <string, string>();

            keyValuePairs.Add("key", key);
            keyValuePairs.Add("sn", sn);
            keyValuePairs.Add("startTime", startTime);
            keyValuePairs.Add("endTime", endTime);

            return(await Task.Run(() =>
            {
                string err;

                var result = this.Post(URLEnum.FindPastRecordsData, keyValuePairs, out err);

                if (result == null)
                {
                    return null;
                }

                HistoryRoot model = JsonConvert.DeserializeObject <HistoryRoot>(result);

                model.message = err;

                return model;
            }));
        }
示例#2
0
        public async Task Add(IEnumerable <ElementState> elements)
        {
            using (var context = new HistoryContext())
            {
                foreach (var result in elements.GroupBy(t => t.Id))
                {
                    var root = await context.Roots.SingleOrDefaultAsync(r => r.Name == result.Key);

                    if (root == null)
                    {
                        root = new HistoryRoot()
                        {
                            Name = result.Key
                        };

                        context.Roots.Add(root);
                    }

                    foreach (var t in result)
                    {
                        foreach (var r in t.Output)
                        {
                            root.History.Add(new History()
                            {
                                Name         = r.Name,
                                Value        = r.Value ?? "",
                                TimestampUtc = t.Timestamp
                            });
                        }
                    }
                }

                await context.SaveChangesAsync();
            }
        }