Example #1
0
        public void AddDimension <T>(string dimName, List <string> items)
        {
            if (!this.dimensions.ContainsKey(dimName))
            {
                var encDimName = this.AesEncrypt(dimName, this.dimSelectKey.IV, this.dimSelectKey.Key);
                this.dimensions.Add(dimName, encDimName);

                var newItemsSelectKey = new SelectKey(dimName);
                this.selectKeyList.Add(newItemsSelectKey);
                var encItems = new List <string>();

                foreach (var item in items)
                {
                    var encItem = this.AesEncrypt(item, newItemsSelectKey.IV, newItemsSelectKey.Key);
                    encItems.Add(encItem);
                }

                this.SelectCube.AddDimension <string>(encDimName, encItems);
                this.HomCube.AddDimension <string>(encDimName, encItems);
                this.OpeCube.AddDimension <string>(encDimName, encItems);

                return;
            }

            throw new ArgumentOutOfRangeException("Данное измерение уже существует");
        }
Example #2
0
        public ProxyCube()
        {
            this.dimensions    = new Dictionary <string, string>();
            this.dimSelectKey  = new SelectKey("dimSelectKey");
            this.selectKeyList = new List <SelectKey>();

            this.itemSelectKey = new SelectKey("itemSelectKey");
            this.itemOpeKey    = new OpeKey("itemOpeKey");
            this.itemHomKey    = new HomKey("homOpeKey");
            this.itemHomKey.PailierSystem.GenerateKey();

            this.SelectCube = new Cube();
            this.HomCube    = new Cube();
            this.OpeCube    = new Cube();
        }