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("Данное измерение уже существует"); }
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(); }