示例#1
0
        /// <summary>
        /// Write <seealso cref="DataModel"/> to data storage contoller at defined random index. Then write that index to CurrentCategory index collection, and save changes of category storage controller.
        /// </summary>
        /// <param name="category">Adding data</param>
        public void AddData(DataModel data, CategoryModel toCategory)
        {
            List <int> usingIndexes = GetUsingDataIndexes();

            int maxValue = dataController.Count();
            int newIndex = random.Next(0, maxValue);

            while (usingIndexes.Contains(newIndex))
            {
                newIndex = random.Next(0, maxValue);
            }

            dataController.PasteAt(SecureManager.GetIndexOf(newIndex), data);

            List <CategoryModel> categories = categoryController.ToList();

            for (int i = 0; i < categories.Count; i++)
            {
                if (categories[i].Equals(toCategory))
                {
                    CategoryModel newCategory = new CategoryModel {
                        DataIndexes = new List <int>(toCategory.DataIndexes), Name = toCategory.Name
                    };
                    newCategory.DataIndexes.Add(newIndex);
                    categoryController.PasteAt(i, newCategory);
                    break;
                }
            }
        }
示例#2
0
 /// <summary>
 /// Replace old category by new.
 /// </summary>
 public void ReplaceCategory(CategoryModel oldCategory, CategoryModel newCategory)
 {
     for (int i = 0; i < categoryController.Count(); i++)
     {
         if (categoryController.Get(i).Equals(oldCategory))
         {
             categoryController.PasteAt(i, newCategory);
             break;
         }
     }
 }