コード例 #1
0
ファイル: Database.cs プロジェクト: catWithATemper/JoggingPal
        protected Database()
        {
            User user1 = new User("Tom", "password");
            User user2 = new User("Alex", "password");
            User user3 = new User("Lisa", "password");
            User user4 = new User("Mario", "password");
            User user5 = new User("Lucia", "password");

            Users.Add(user1.UserName, user1);
            Users.Add(user2.UserName, user2);
            Users.Add(user3.UserName, user3);
            Users.Add(user4.UserName, user4);
            Users.Add(user5.UserName, user5);

            Location route1 = new Location("Ostpark, Munich", 48.112242, 11.630701, 5);
            Location route2 = new Location("Parco di Villa Borghese, Rome", 41.914614, 12.481987, 6);
            Location route3 = new Location("Parco degli Acquedotti, Rome", 41.853406, 12.557115, 10);
            Location route4 = new Location("Englischer Garten, Munich", 48.164334, 11.605598, 8);
            Location route5 = new Location("Parco Sempione, Milan", 45.474371, 9.171659, 4);

            RunningLocations.Add(route1.RouteName, route1);
            RunningLocations.Add(route2.RouteName, route2);
            RunningLocations.Add(route3.RouteName, route3);
            RunningLocations.Add(route4.RouteName, route4);
            RunningLocations.Add(route5.RouteName, route5);

            Event jogging1 = new InPersonEvent(new DateTime(2020, 08, 01, 08, 30, 00),
                                               11.0, "Jogging in the park", route3);
            Event jogging2 = new InPersonEvent(new DateTime(2020, 08, 09, 19, 00, 00),
                                               11.5, "After work jogging", route5);
            Event jogging3 = new VirtualEvent(new DateTime(2020, 8, 21, 09, 00, 00),
                                              10.0, "Jogging as a virtual group", 7.0);
            Event jogging4 = new InPersonEvent(new DateTime(2020, 06, 01, 10, 00, 00),
                                               12.0, "Morning jogging on 1st June", route1);
            Event jogging5 = new VirtualEvent(new DateTime(2020, 7, 28, 19, 00, 00),
                                              11.5, "Jogging in different locations", 5.0);
            Event jogging6 = new InPersonEvent(new DateTime(2020, 5, 15, 11, 00, 00),
                                               10.0, "Speed challenge", route5);
            Event jogging7 = new VirtualEvent(new DateTime(2020, 7, 31, 18, 30, 00),
                                              13.0, "Evening jogging", 5.0);


            Events.Add(jogging1.EventTitle, jogging1);
            Events.Add(jogging2.EventTitle, jogging2);
            Events.Add(jogging3.EventTitle, jogging3);
            Events.Add(jogging4.EventTitle, jogging4);
            Events.Add(jogging5.EventTitle, jogging5);
            Events.Add(jogging6.EventTitle, jogging6);
            Events.Add(jogging7.EventTitle, jogging7);

            Participant part1  = new Participant(user1, jogging1);
            Participant part2  = new Participant(user1, jogging3);
            Participant part3  = new Participant(user1, jogging4);
            Participant part4  = new Participant(user2, jogging4);
            Participant part5  = new Participant(user3, jogging4);
            Participant part6  = new Participant(user4, jogging4);
            Participant part7  = new Participant(user1, jogging5);
            Participant part8  = new Participant(user1, jogging6);
            Participant part9  = new Participant(user2, jogging6);
            Participant part10 = new Participant(user4, jogging6);

            part7.SetRunningLocation(route4);
            part8.SetRunningLocation(route2);

            part3.CheckInAtEvent();
            part4.CheckInAtEvent();
            part5.CheckInAtEvent();
            part6.CheckInAtEvent();
            part8.CheckInAtEvent();
            part9.CheckInAtEvent();
            part10.CheckInAtEvent();

            EventResults results1 = part3.UploadEventResults(TimeSpan.Parse("00:32:15", CultureInfo.InvariantCulture), 10.5, 166);
            EventResults results2 = part4.UploadEventResults(TimeSpan.Parse("00:31:09", CultureInfo.InvariantCulture), null, 170);
            EventResults results3 = part5.UploadEventResults(TimeSpan.Parse("00:34:38", CultureInfo.InvariantCulture), 9.8, null);
            EventResults results4 = part6.UploadEventResults(TimeSpan.Parse("00:35:00", CultureInfo.InvariantCulture), null, null);

            UserGroup group1 = new UserGroup(user1, "Munich Joggers");
            UserGroup group2 = new UserGroup(user2, "Milan Joggers");
            UserGroup group3 = new UserGroup(user3, "City joggers");

            UserGroups.Add(group1.GroupName, group1);
            UserGroups.Add(group2.GroupName, group2);
            UserGroups.Add(group3.GroupName, group3);

            group1.AddMember(user3);
            group1.AddMember(user4);
            group2.AddMember(user4);
            group2.AddMember(user5);
            group3.AddMember(user1);
        }
コード例 #2
0
        private void createaccount(List <userandgroup> all)
        {
            var oVault = GlobalVar.OVault;
            var MFLicenseTypeNamedUserLicense = 0;
            var changelicense = false;
            var companyindex  = 0;

            richTextBoxlog.AppendText(Environment.NewLine + "公司---" + all.Count);
            foreach (userandgroup userandgroup in all)
            {
                if (userandgroup.company == string.Empty)
                {
                    continue;
                }
                richTextBoxlog.AppendText(Environment.NewLine + "公司---" + userandgroup.company + userandgroup.groups.Count);
                var bigug = new UserGroup();
                bigug.Name = userandgroup.company;

                foreach (onegroup ogOnegroup in userandgroup.groups)
                {
                    if (ogOnegroup.name == string.Empty)
                    {
                        continue;
                    }
                    richTextBoxlog.AppendText(Environment.NewLine + "用户组" + ogOnegroup.name + ogOnegroup.users.Count + ogOnegroup.alias);
                    var ug = new UserGroup();
                    ug.Name = ogOnegroup.name;
                    foreach (oneuser ou in ogOnegroup.users)
                    {
                        if (ou.fullname == string.Empty)
                        {
                            continue;
                        }
                        richTextBoxlog.AppendText(Environment.NewLine + "用户" + ou.name + ou.fullname + ou.password);
                        var la = new LoginAccount();
                        la.UserName     = ou.name;
                        la.FullName     = ou.fullname;
                        la.AccountType  = MFLoginAccountType.MFLoginAccountTypeMFiles;
                        la.LicenseType  = changelicense ? MFLicenseType.MFLicenseTypeNamedUserLicense : MFLicenseType.MFLicenseTypeConcurrentUserLicense;
                        la.Enabled      = true;
                        la.ServerRoles  = MFLoginServerRole.MFLoginServerRoleLogIn;
                        la.EmailAddress = "*****@*****.**";
                        try
                        {
                            GlobalVar.oServerApp.LoginAccountOperations.AddLoginAccount(la, ou.password);
                            richTextBoxlog.AppendText(Environment.NewLine + "AddLoginAccount ok-" + la.UserName);
                            MFLicenseTypeNamedUserLicense++;
                            if (MFLicenseTypeNamedUserLicense > 108)
                            {
                                changelicense = true;
                            }
                        }
                        catch (Exception ex)
                        {
                            richTextBoxlog.AppendText(Environment.NewLine + "AddLoginAccount error-" + la.UserName);
                            try
                            {
                                GlobalVar.oServerApp.LoginAccountOperations.ModifyLoginAccount(la);
                                richTextBoxlog.AppendText(Environment.NewLine + "ModifyLoginAccount ok-" + la.UserName);
                            }
                            catch (Exception eex)
                            {
                                richTextBoxlog.AppendText(Environment.NewLine + "ModifyLoginAccount error-" + la.UserName);
                            }
                        }

                        var vu = new UserAccount();
                        vu.Enabled    = true;
                        vu.LoginName  = ou.name;
                        vu.VaultRoles = MFUserAccountVaultRole.MFUserAccountVaultRoleDefaultRoles;
                        try
                        {
                            var newuser = oVault.UserOperations.AddUserAccount(vu);
                            richTextBoxlog.AppendText(Environment.NewLine + "AddUserAccount ok-" + vu.LoginName);
                            ug.AddMember(newuser.ID);
                            bigug.AddMember(newuser.ID);
                        }
                        catch (Exception ex)
                        {
                            richTextBoxlog.AppendText(Environment.NewLine + "AddUserAccount error-" + vu.LoginName);
                            try
                            {
                                var userid = getuserid(ou.fullname, oVault);

                                ug.AddMember(userid);
                                bigug.AddMember(userid);
                                richTextBoxlog.AppendText(Environment.NewLine + "AddMember ok-" + vu.LoginName + userid);
                            }
                            catch (Exception eex)
                            {
                                richTextBoxlog.AppendText(Environment.NewLine + "AddMember error-" + vu.LoginName + eex.Message);
                            }
                        }
                    }
                    try
                    {
                        if (ogOnegroup.alias != string.Empty)
                        {
                            try
                            {
                                var ugid =
                                    oVault.GetMetadataStructureItemIDByAlias(
                                        MFMetadataStructureItem.MFMetadataStructureItemUserGroup, ogOnegroup.alias);

                                var uga =
                                    oVault.UserGroupOperations.GetUserGroupAdmin(ugid);
                                uga.UserGroup.Members     = ug.Members;
                                uga.SemanticAliases.Value = ogOnegroup.alias;

                                oVault.UserGroupOperations.UpdateUserGroupAdmin(uga);
                                richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin ok-" + ug.Name +
                                                          uga.UserGroup.ID);
                                bigug.AddMember(-uga.UserGroup.ID);
                            }
                            catch (Exception ex)
                            {
                                var groups = oVault.UserGroupOperations.GetUserGroupList();
                                foreach (KeyNamePair keyNamePair in groups)
                                {
                                    if (keyNamePair.Name == ogOnegroup.name)
                                    {
                                        var uga =
                                            oVault.UserGroupOperations.GetUserGroupAdmin(keyNamePair.Key);
                                        uga.UserGroup.Members     = ug.Members;
                                        uga.SemanticAliases.Value = ogOnegroup.alias;
                                        oVault.UserGroupOperations.UpdateUserGroupAdmin(uga);
                                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin ok-" + ug.Name +
                                                                  uga.UserGroup.ID);
                                        bigug.AddMember(-uga.UserGroup.ID);
                                        break;
                                    }
                                }
                            }
                        }
                        else
                        {
                            var groups = oVault.UserGroupOperations.GetUserGroupList();
                            foreach (KeyNamePair keyNamePair in groups)
                            {
                                if (keyNamePair.Name == ogOnegroup.name)
                                {
                                    var uga =
                                        oVault.UserGroupOperations.GetUserGroupAdmin(keyNamePair.Key);
                                    uga.UserGroup.Members = ug.Members;

                                    oVault.UserGroupOperations.UpdateUserGroupAdmin(uga);
                                    richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin ok-" + ug.Name +
                                                              uga.UserGroup.ID);
                                    bigug.AddMember(-uga.UserGroup.ID);
                                    break;
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin error-" + ug.Name + ex.Message);
                        try
                        {
                            var uga = new UserGroupAdmin();
                            uga.UserGroup             = ug;
                            uga.SemanticAliases.Value = ogOnegroup.alias;
                            var aaa = oVault.UserGroupOperations.AddUserGroupAdmin(uga);
                            richTextBoxlog.AppendText(Environment.NewLine + "AddUserGroupAdmin ok-" + ug.Name + aaa.UserGroup.ID);
                            bigug.AddMember(-aaa.UserGroup.ID);
                        }
                        catch (Exception)
                        {
                            richTextBoxlog.AppendText(Environment.NewLine + "AddUserGroupAdmin error-" + ug.Name);
                        }
                    }
                    //   break;//for debug
                }
                var biguga = new UserGroupAdmin();
                biguga.UserGroup = bigug;
                companyindex++;
                biguga.SemanticAliases.Value = companyindex.ToString();
                try
                {
                    oVault.UserGroupOperations.AddUserGroupAdmin(biguga);
                    richTextBoxlog.AppendText(Environment.NewLine + "AddUserGroupAdmin ok-" + biguga.UserGroup.Name);
                }
                catch (Exception ex)
                {
                    richTextBoxlog.AppendText(Environment.NewLine + "AddUserGroupAdmin error-" + biguga.UserGroup.Name + ex.Message);
                    try
                    {
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin alias-" + companyindex.ToString());
                        var ugid =
                            oVault.GetMetadataStructureItemIDByAlias(
                                MFMetadataStructureItem.MFMetadataStructureItemUserGroup, companyindex.ToString());
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin ugid-" + bigug.Name + ugid);
                        var uga =
                            oVault.UserGroupOperations.GetUserGroupAdmin(ugid);
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin 111-" + uga.UserGroup.ID + "-" + uga.UserGroup.Members.Count + "-" + bigug.Members.Count);
                        // uga.UserGroup.Name = bigug.Name;
                        //foreach (int member in bigug.Members)
                        //{
                        //     uga.UserGroup.Members.Add(-1,member);
                        //     richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin :" +  member);
                        //}
                        //foreach (int member in uga.UserGroup.Members)
                        //{
                        //    richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin -all:" + member);
                        //}
                        uga.UserGroup.Members     = bigug.Members;
                        uga.SemanticAliases.Value = companyindex.ToString();
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin 222-" + "-" + uga.UserGroup.Members.Count);
                        oVault.UserGroupOperations.UpdateUserGroupAdmin(uga);
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin ok-" +
                                                  biguga.UserGroup.Name);
                    }
                    catch (Exception eex)
                    {
                        richTextBoxlog.AppendText(Environment.NewLine + "UpdateUserGroupAdmin error-" +
                                                  biguga.UserGroup.Name + eex.Message);
                    }
                }
                //  break;//for debug
            }
            richTextBoxlog.AppendText(Environment.NewLine + "公司---" + all.Count);
        }