/// <summary> /// Приплюсовать к текущим материалам перед. кластер /// </summary> /// <param name="entityCluster"></param> public void AddEntityCluster(EntityCluster entityCluster) { for (var entityIndex = 1; entityIndex < this.Entities.Count + 1; entityIndex++) { this.Entities[entityIndex] += entityCluster.Entities[entityIndex]; } }
public MaterialCluster(MaterialCluster copy) { cluster = new EntityCluster(copy.cluster, LIMITATION); }
public MaterialCluster() { cluster = new EntityCluster(LIMITATION); }
//конструктор, принимающий Dictionary или Array ЗАПРЕЩЕН!!! /// <summary> /// Конструктор копирования /// </summary> /// <param name="copy"></param> /// <param name="iLimitation"></param> public EntityCluster(EntityCluster copy, int clusterSize) { this.Entities = new Dictionary<int, int>(copy.Entities); }
/// <summary> /// Вычесть из кластера материалы из перед. кластера /// </summary> /// <param name="entityCluster"></param> /// <returns></returns> public bool TakeAwayEntityCluster(EntityCluster entityCluster) { if (!IsEntityCluster(entityCluster)) //проверка: есть ли такое кол-то материалов в кластере как в перед. кластере { return false; } for (int iEntityNumber = 1; iEntityNumber < this.Entities.Count + 1; iEntityNumber++) { this.Entities[iEntityNumber] -= entityCluster.Entities[iEntityNumber]; } return true; }
/// <summary> ///Проверяет есть ли такое кол-то материалов в кластере как в перед. кластере. ///Если количество материалов по каждому наименованию больше или равно - возвращает true /// </summary> /// <param name="entityCluster"></param> /// <returns></returns> public bool IsEntityCluster(EntityCluster entityCluster) { for (int entityIndex = 1; entityIndex < this.Entities.Count + 1; entityIndex++) { if (this.Entities[entityIndex] < entityCluster.Entities[entityIndex]) { return false; } } return true; }
public bool CompareNomenclatureIsMore(EntityCluster materialCluster) { bool isMoreFlag = false; for (int iEntityNumber = 1; iEntityNumber < this.Entities.Count + 1; iEntityNumber++) { if (this.Entities[iEntityNumber] < materialCluster.Entities[iEntityNumber]) return false; if ((this.Entities[iEntityNumber] > materialCluster.Entities[iEntityNumber])) isMoreFlag = true; } return isMoreFlag; }
public ProductCluster(ProductCluster copy) { Cluster = new EntityCluster(copy.Cluster, LIMITATION); }
public ProductCluster() { Cluster = new EntityCluster(LIMITATION); }