コード例 #1
0
        public void ManualWriteToHistory(Codes code, Value val)
        {
            if (val == null)
            {
                throw new ArgumentNullException("Parameters cannot be null");
            }
            if ((int)code < 0 || (int)code > 9)
            {
                throw new ArgumentException("Something wront with code");
            }
            HistoricalProperty hProp = new HistoricalProperty(code, val);

            HistoricalDescription hDesc = new HistoricalDescription();

            hDesc.HistoricalProperties.Add(hProp);
            int dataset = CheckDataset(code);


            if (dataset == -1)
            {
                Console.WriteLine("Dataset parsing went wrong!");
                return;
            }

            hDesc.Dataset           = dataset;
            hDesc.ListDescriptionId = dataset;

            lock (syncLock)
            {
                Logger.WriteLog("Writing to history", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name);
            }

            databaseOperations.AddHistoricalDescription(hDesc, dataset);
        }
コード例 #2
0
        public HistoricalDescription ConvertCollectionDescription(CollectionDescription cd)
        {
            if (cd == null)
            {
                throw new ArgumentNullException("Parameters cannot be null");
            }
            HistoricalDescription     hd       = new HistoricalDescription();
            List <HistoricalProperty> histProp = new List <HistoricalProperty>();

            lock (syncLock)
            {
                Logger.WriteLog("Converting CollectionDescriprion", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name);
            }
            foreach (DumpingProperty dp in cd.DumpingPropertyCollection.DumpingProperties)
            {
                HistoricalProperty hp = new HistoricalProperty();
                hp.Code            = dp.Code;
                hp.Time            = DateTime.Now;
                hp.Id              = Guid.NewGuid().ToString();
                hp.HistoricalValue = dp.DumpingValue;
                histProp.Add(hp);
            }
            hd.HistoricalProperties = histProp;
            hd.Dataset = cd.Dataset;

            return(hd);
        }
コード例 #3
0
        public bool CheckGeoId(string id)
        {
            if (String.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentNullException("Id cannot be null");
            }
            HistoricalProperty hp = database.HistoricalProperties.Where(x => x.HistoricalValue.GeographicalLocationId.Equals(id)).FirstOrDefault();

            if (hp != null)
            {
                return(false);
            }
            return(true);
        }
コード例 #4
0
        public bool CheckDeadband(HistoricalProperty hp, HistoricalProperty hpTemp)
        {
            if (hp == null || hpTemp == null)
            {
                throw new ArgumentNullException("You need to have historical property!");
            }
            if (!hp.Code.Equals(hpTemp.Code))
            {
                throw new ArgumentException("The two codes arent a match!");
            }

            if (hpTemp.Code.Equals(Codes.CODE_DIGITAL) && hp.Code.Equals(Codes.CODE_DIGITAL))
            {
                return(true);
            }

            if (hpTemp.HistoricalValue.Consumption < (hp.HistoricalValue.Consumption - (hp.HistoricalValue.Consumption * 0.02)) ||
                hpTemp.HistoricalValue.Consumption > (hp.HistoricalValue.Consumption + (hp.HistoricalValue.Consumption * 0.02)))
            {
                return(true);
            }
            return(false);
        }
コード例 #5
0
        //data from CDUpdate
        private void PackUpdateData()
        {
            Array array = dumpingBufferToHistorical.SendToHistorical();

            list = array.Cast <DeltaCD>().ToList();

            historicalProperty = new HistoricalProperty();
            description        = new Description();
            descriptionList    = new DescriptionList();

            foreach (var item in list)
            {
                foreach (var item2 in item.CollectionDescriptionUpdate.PropertyCollection.DumpingProperties)
                {
                    historicalProperty.Code = item2.Code;
                    code = item2.Code;
                    historicalProperty.HistoricalValue = item2.DumpingValue;
                }

                //  description.Id = item.CollectionDescriptionAdd.Id;
                description.Dataset = item.CollectionDescriptionUpdate.Dataset;
                dataset             = item.CollectionDescriptionAdd.Dataset;

                if (CheckCodeAndDataset())
                {
                    description.HistoricalProperties.Add(historicalProperty);

                    descriptionList.Descriptions.Add(description);
                    descriptionLists.Add(descriptionList);
                }
                else
                {
                    Console.WriteLine("Error with code and dataset!");
                }
            }
        }
コード例 #6
0
        //data from CDAdd
        public void PackAddData()
        {
            Array array = dumpingBufferToHistorical.SendToHistorical();

            list = array.Cast <DeltaCD>().ToList();

            historicalProperty = new HistoricalProperty();
            description        = new Description();
            descriptionList    = new DescriptionList();

            foreach (var item in list)
            {
                foreach (var item2 in item.CollectionDescriptionAdd.PropertyCollection.DumpingProperties)
                {
                    historicalProperty.Code = item2.Code;
                    code = item2.Code;
                    historicalProperty.HistoricalValue = item2.DumpingValue;

                    if (code == "CODE_ANALOG")
                    {
                        description.Id = 1;
                    }
                    else if (code == "CODE_DIGITAL")
                    {
                        description.Id = 2;
                    }
                    else if (code == "CODE_CUSTOM")
                    {
                        description.Id = 3;
                    }
                    else if (code == "CODE_LIMITSET")
                    {
                        description.Id = 4;
                    }
                    else if (code == "CODE_SINGLENOE")
                    {
                        description.Id = 5;
                    }
                    else if (code == "CODE_MULTIPLENODE")
                    {
                        description.Id = 6;
                    }
                    else if (code == "CODE_CONSUMER")
                    {
                        description.Id = 7;
                    }
                    else if (code == "CODE_SOURCE")
                    {
                        description.Id = 8;
                    }
                    else if (code == "CODE_MOTION")
                    {
                        description.Id = 9;
                    }
                    else if (code == "CODE_SENSOR")
                    {
                        description.Id = 10;
                    }

                    description.Dataset = item.CollectionDescriptionAdd.Dataset;
                    dataset             = item.CollectionDescriptionAdd.Dataset;

                    if (CheckCodeAndDataset())
                    {
                        description.HistoricalProperties.Add(historicalProperty);

                        descriptionList.Descriptions.Add(description);
                        descriptionLists.Add(descriptionList);
                    }
                    else
                    {
                        Console.WriteLine("Error with code and dataset!");
                    }
                }
            }

            Read();
        }
コード例 #7
0
        public void SettingValues()
        {
            string code  = writer.ManualWriteToHistory().code;
            int    value = writer.ManualWriteToHistory().value;

            Console.WriteLine("******************");
            Console.WriteLine("Historical value:" + value);
            Console.WriteLine("Historical code:" + code);
            Console.WriteLine("******************");


            int indeks = CheckForUpdate(code);

            if (indeks < 0)
            {
                historicalProperty                 = new HistoricalProperty();
                historicalProperty.Code            = code;
                historicalProperty.HistoricalValue = value;

                description = new Description();
                description.HistoricalProperties.Add(historicalProperty);



                #region dataset and id
                if (code == "CODE_ANALOG")
                {
                    description.Dataset = 1;
                    description.Id      = 1;
                }
                else if (code == "CODE_DIGITAL")
                {
                    description.Dataset = 1;
                    description.Id      = 2;
                }
                else if (code == "CODE_CUSTOM")
                {
                    description.Dataset = 2;
                    description.Id      = 3;
                }
                else if (code == "CODE_LIMITSET")
                {
                    description.Dataset = 2;
                    description.Id      = 4;
                }
                else if (code == "CODE_SINGLENODE ")
                {
                    description.Dataset = 3;
                    description.Id      = 5;
                }
                else if (code == "CODE_MULTIPLENODE")
                {
                    description.Dataset = 3;
                    description.Id      = 6;
                }
                else if (code == "CODE_CONSUMER")
                {
                    description.Dataset = 4;
                    description.Id      = 7;
                }
                else if (code == "CODE_SOURCE")
                {
                    description.Dataset = 4;
                    description.Id      = 8;
                }
                else if (code == "CODE_MOTION")
                {
                    description.Dataset = 5;
                    description.Id      = 9;
                }
                else if (code == "CODE_SENSOR")
                {
                    description.Dataset = 5;
                    description.Id      = 10;
                }
                #endregion

                descriptionList = new DescriptionList();
                descriptionList.descriptions.Add(description);

                descriptionLists.Add(descriptionList);
            }
            else
            {
                foreach (var item in descriptionLists)
                {
                    foreach (var item2 in item.descriptions)
                    {
                        foreach (var item3 in item2.HistoricalProperties)
                        {
                            if (indeks == item2.Id)
                            {
                                item3.HistoricalValue = value;
                            }
                        }
                    }
                }
            }
            Read();

            Thread.Sleep(2000);
        }