Exemplo n.º 1
0
        public static void Sync()
        {
            if (SyncData.IsConnect)
            {
                SetFromDb();

                if (RepositorySubGroupProduct.SubGroupProducts.Count == 0)
                {
                    RepositorySubGroupProduct.SetFromDb();
                }

                foreach (var g in GroupProducts)
                {
                    var subgroups = RepositorySubGroupProduct.SubGroupProducts.FindAll(k => k.GroupId == g.Id);
                    g.SubGroups.AddRange(subgroups);

                    foreach (var f in subgroups)
                    {
                        f.Group = g;
                    }
                }

                SaveFile();
            }
            else
            {
                LoadFile();

                foreach (var g in GroupProducts)
                {
                    RepositorySubGroupProduct.SubGroupProducts.AddRange(g.SubGroups);
                }
            }
        }
Exemplo n.º 2
0
        public static void DeleteSubgroup(SubGroupProduct subgroup)
        {
            var current = subgroup.Group.SubGroups.First(s => s.Id == subgroup.Id);

            subgroup.Group.SubGroups.Remove(current);

            var document     = XDocument.Load(Path);
            var groupElement = document.GetXElements("Palettes", "Palette").First(p => p.GetXAttributeValue("Group", "ID").ToInt() == subgroup.Group.Id);

            groupElement.GetXElements("SubGroup").First(s => s.GetXAttributeValue("ID").ToInt() == subgroup.Id).Remove();
            document.Save(Path);

            RepositorySubGroupProduct.SubGroupProducts.Remove(subgroup);
            RepositorySubGroupProduct.DeleteFromDb(subgroup);
        }
Exemplo n.º 3
0
        public static void AddSubgroup(SubGroupProduct subgroup)
        {
            subgroup.Group.SubGroups.Add(subgroup);

            if (!File.Exists(Path))
            {
                SaveFile();
            }

            var document = XDocument.Load(Path);
            var element  = document.GetXElements("Palettes", "Palette").First(p => p.GetXAttributeValue("Group", "ID").ToInt() == subgroup.Group.Id);

            GroupProduct.ToXElementSubGroups(element, subgroup.Group);

            File.WriteAllText(Path, document.ToString());

            RepositorySubGroupProduct.SubGroupProducts.Add(subgroup);
            RepositorySubGroupProduct.InsertToDb(subgroup);
        }