public static async Task Add(State.Linked.LinkedAccount linkedAccount, AccountApi.Wisa.Student wisa, AccountApi.Directory.Account directory)
        {
            var ssAccount = new AccountApi.Smartschool.Account();

            ssAccount.UID        = directory.UID;
            ssAccount.RegisterID = wisa.StateID;
            try
            {
                ssAccount.StemID = Convert.ToInt32(wisa.StemID);
            }
            catch (Exception)
            {
                ssAccount.StemID = 0;
            }

            ssAccount.Role           = AccountRole.Student;
            ssAccount.GivenName      = wisa.FirstName;
            ssAccount.SurName        = wisa.Name;
            ssAccount.Gender         = wisa.Gender;
            ssAccount.Birthday       = wisa.DateOfBirth;
            ssAccount.BirthPlace     = wisa.PlaceOfBirth;
            ssAccount.Street         = wisa.Street;
            ssAccount.HouseNumber    = wisa.HouseNumber;
            ssAccount.HouseNumberAdd = wisa.HouseNumberAdd;
            ssAccount.PostalCode     = wisa.PostalCode;
            ssAccount.City           = wisa.City;
            ssAccount.Mail           = directory.PrincipalName;

            var result = await AccountApi.Smartschool.AccountManager.Save(ssAccount, "FakeP4ssword").ConfigureAwait(false);

            if (!result)
            {
                MainWindow.Instance.Log.AddError(Origin.Smartschool, "Failed to add " + wisa.FullName);
                return;
            }
            else
            {
                linkedAccount.Smartschool.Account = ssAccount;
                MainWindow.Instance.Log.AddMessage(Origin.Smartschool, "Added account for " + wisa.FullName);
            }


            IGroup classgroup;

            if (wisa.ClassGroup.Contains("ANS") || wisa.ClassGroup.Contains("BNS"))
            {
                classgroup = AccountApi.Smartschool.GroupManager.Root.Find("Leerlingen");
            }
            else
            {
                classgroup = AccountApi.Smartschool.GroupManager.Root.Find(wisa.ClassGroup);
            }

            await MoveToSmartschoolClassGroup.Move(linkedAccount, classgroup).ConfigureAwait(false);
        }
示例#2
0
 public LinkedAccount(AccountApi.Wisa.Student account)
 {
     Wisa.Account = account;
 }