Exemplo n.º 1
0
        public void AddAllAffordances()
        {
            foreach (var entry in _affordanceTaggingSet.Entries)
            {
                if (entry.Affordance?.Name != entry.Tag?.Name)
                {
                    AffordanceTag newtag = null;
                    foreach (var tag in _affordanceTaggingSet.Tags)
                    {
                        if (tag.Name == "none")
                        {
                            newtag = tag;
                        }
                    }

                    if (newtag != null)
                    {
                        Logger.Warning("Fixed messed up tag:" + entry.Tag?.Name + " for " + entry.Affordance?.Name);
                        entry.Tag = newtag;
                        entry.SaveToDB();
                    }
                }
            }

            var covered = new List <string>();

            foreach (var entry in _affordanceTaggingSet.Entries)
            {
                if (entry.Tag?.Name.ToLower(CultureInfo.CurrentCulture) != "none")
                {
                    covered.Add(entry.Affordance?.Name);
                }
            }

            foreach (var affordance in Affordances)
            {
                if (!covered.Contains(affordance.Name))
                {
                    _affordanceTaggingSet.AddNewTag(affordance.Name);
                }
            }

            foreach (var entry in _affordanceTaggingSet.Entries)
            {
                if (entry.Tag?.Name.ToLower(CultureInfo.CurrentCulture) == "none")
                {
                    foreach (var affordanceTag in _affordanceTaggingSet.Tags)
                    {
                        if (affordanceTag.Name == entry.Affordance?.Name)
                        {
                            entry.Tag = affordanceTag;
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        public void AffordanceTaggingSetTest()
        {
            using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
            {
                db.ClearTable(AffordanceTaggingSet.TableName);
                db.ClearTable(AffordanceTaggingEntry.TableName);
                db.ClearTable(AffordanceTag.TableName);
                db.ClearTable(AffordanceTagReference.TableName);
                db.ClearTable(AffordanceTaggingSetLoadType.TableName);
                var profiles    = db.LoadTimeBasedProfiles();
                var realDevices = db.LoadRealDevices(out var deviceCategories, out var loadTypes,
                                                     profiles);
                var timeBasedProfiles = db.LoadTimeBasedProfiles();
                var desires           = db.LoadDesires();
                var dateBasedProfiles = db.LoadDateBasedProfiles();

                var timeLimits         = db.LoadTimeLimits(dateBasedProfiles);
                var deviceActionGroups = db.LoadDeviceActionGroups();
                var deviceActions      = db.LoadDeviceActions(timeBasedProfiles, realDevices,
                                                              loadTypes, deviceActionGroups);
                var locations   = db.LoadLocations(realDevices, deviceCategories, loadTypes);
                var variables   = db.LoadVariables();
                var affordances = db.LoadAffordances(timeBasedProfiles, out _,
                                                     deviceCategories, realDevices, desires, loadTypes, timeLimits, deviceActions, deviceActionGroups,
                                                     locations, variables);
                var ats = new ObservableCollection <AffordanceTaggingSet>();
                AffordanceTaggingSet.LoadFromDatabase(ats, db.ConnectionString, false, affordances, loadTypes);
                var ats1 = new AffordanceTaggingSet("test", "desc", db.ConnectionString, true, System.Guid.NewGuid().ToStrGuid());
                ats1.SaveToDB();
                var tag = ats1.AddNewTag("newtag");
                if (tag == null)
                {
                    throw new LPGException("Tag was null");
                }
                ats1.SaveToDB();
                ats1.AddTaggingEntry(tag, affordances[0]);
                ats1.AddTagReference(tag, PermittedGender.Male, 1, 99, 0.15);
                ats1.SaveToDB();
                ats.Clear();
                AffordanceTaggingSet.LoadFromDatabase(ats, db.ConnectionString, false, affordances, loadTypes);
                ats1 = ats[0];
                ats1.DeleteTag(ats1.Tags[0]);
                ats1.DeleteFromDB();
                ats.Clear();
                AffordanceTaggingSet.LoadFromDatabase(ats, db.ConnectionString, false, affordances, loadTypes);
                ats.Count.Should().Be(0);
                db.Cleanup();
            }
        }