示例#1
0
 /// <summary>
 /// 根据用户获得终端列表
 /// </summary>
 /// <returns></returns>
 public List <ComputerModel> GetComputerListByCurUser()
 {
     Users.User user = GetCurrentUserAsync().Result;
     if (user != null && user.DistrictId != null)
     {
         return(GetComputerListByDistrict(user.DistrictId.Value));
     }
     return(null);
 }
示例#2
0
        public void TestThatAltPronunciationsPropertyWithOneEntryReturnsAltPronunciationCollectionWithThatEntry()
        {
            Users.User user = new Users.User();

            user.AltPronunciations = "Alias;";
            StringCollection alternatePronunciationCollection = user.AltPronunciationColl;

            Assert.That(alternatePronunciationCollection.Count, Is.EqualTo(1));
            Assert.That(alternatePronunciationCollection[0], Is.EqualTo("Alias"));
        }
示例#3
0
        public void TestThatEmptyAltPronunciationsPropertyReturnsEmptyAltPronunciationCollection()
        {
            Users.User user = new Users.User();

            user.AltPronunciations = "";
            StringCollection alternatePronunciationCollection = user.AltPronunciationColl;

            Assert.That(alternatePronunciationCollection, Is.Not.Null);
            Assert.That(alternatePronunciationCollection.Count, Is.EqualTo(0));
        }
示例#4
0
        public static void CatalogueManagementMenu(Users.User usr, out ExtendedResult result)
        {
            List <MenuOption> menu = new List <MenuOption>();

            menu.Add(new MenuOption("B", "Add new book", AddBookHandler));
            menu.Add(new MenuOption("P", "Add new periodical", AddPeriodicalHandler));
            menu.Add(new MenuOption("X", "Exit", LogoutHandler));

            result = new ExtendedResult(ResultCode.SubMenu, menu);
        }
示例#5
0
        public ReminderForm(Form _appForm, Users.User _currentUser, ReminderManager _remMng)
        {
            InitializeComponent();

            appForm     = _appForm;
            currentUser = _currentUser;
            remMng      = _remMng;

            ListReminders();
        }
示例#6
0
        /// <summary>
        /// 获取当前报表的内置事件
        /// </summary>
        /// <param name="ent"></param>
        /// <param name="tbReportId"></param>
        /// <param name="moduleId"></param>
        /// <param name="checkRole"></param>
        /// <returns></returns>
        private string GetInEventJson(TbReport ent, long tbReportId, long moduleId, bool checkRole)
        {
            Users.User user        = GetCurrentUserAsync().Result;
            var        roleids     = user.Roles.Select(p => Convert.ToInt64(p.RoleId)).ToList();
            var        evids       = _roleModuleEventRepository.GetAllList(p => roleids.Contains(p.RoleId) && p.ModuleId == moduleId).Select(p => p.EventId);
            var        tbEvs       = _moduleEventRepository.GetAllList(p => evids.Contains(p.Id) && p.EventFrom == "内置").Select(p => p.SourceTableId);
            var        inEventList = _inEventRepository.GetAllList(p => tbEvs.Contains(p.Id));

            return(JSON.DecodeToStr(AutoMapper.Mapper.Map <List <InEvent>, List <InEventModel> >(inEventList)));
        }
示例#7
0
        public void TestThatAltPronunciationsPropertyHasLeadingAndTrailingSpacesRemoved()
        {
            string sAltPronunciations = "Alias1;Alias2;";

            Users.User user = new Users.User();

            user.AltPronunciations = String.Format("   {0}   ", sAltPronunciations);

            Assert.That(user.AltPronunciations, Is.EqualTo(sAltPronunciations));
        }
示例#8
0
        public static void UserManagementMenu(Users.User usr, out ExtendedResult result)
        {
            List <MenuOption> menu = new List <MenuOption>();

            menu.Add(new MenuOption("A", "Add new user", AddUserHandler));
            menu.Add(new MenuOption("F", "Find a user", FindUserHandler));
            menu.Add(new MenuOption("R", "Remove a user", RemoveUserHandler));
            menu.Add(new MenuOption("X", "Exit", LogoutHandler));

            result = new ExtendedResult(ResultCode.SubMenu, menu);
        }
示例#9
0
        public static void SubmitChanges(Users.User user)
        {
            var model = DataContext.GetUser(user.Id);

            if (model == null)
            {
                throw new UserNotFoundException();
            }

            Mapper.Map(user, model);
        }
示例#10
0
        public void TestThatUserEqualityOperationIsSymmetricalWithRespectToOptionalUserId()
        {
            Users.User user1 = new Users.User();
            Users.User user2 = new Users.User();

            user1.UserID = "";
            user2.UserID = "1";

            Assert.That(user1 == user2, Is.True, "user1 == user2");
            Assert.That(user2 == user1, Is.True, "user2 == user1");
        }
示例#11
0
        public Users.User BuildWith(CreateUser command)
        {
            var user = new Users.User(
                id: guidIdGenerator.Generate(),
                userName: command.UserName
                );
            var hash = passwordManager.GenerateHash(user, command.Password);

            user.UpdatePasswordHash(hash);
            return(user);
        }
示例#12
0
        public void TestThatAltPronunciationsPropertyWithManyEntriesReturnsAltPronunciationCollectionWithThoseEntries()
        {
            Users.User user = new Users.User();

            user.AltPronunciations = "Alias1;Alias2;";
            StringCollection alternatePronunciationCollection = user.AltPronunciationColl;

            Assert.That(alternatePronunciationCollection.Count, Is.EqualTo(2));
            Assert.That(alternatePronunciationCollection[0], Is.EqualTo("Alias1"));
            Assert.That(alternatePronunciationCollection[1], Is.EqualTo("Alias2"));
        }
        public void TestGetWalletByUserNoUser()
        {
            var     userSession    = new MockUserSession(null);
            Wallets walletProvider = new Wallets();

            var user = new Users.User("user1");

            var walletSvc = new WalletService(userSession, walletProvider);

            Assert.Throws <UserNotLoggedInException>(() => walletSvc.GetWalletsByUser(user));
        }
示例#14
0
        public Administration()
        {
            InitializeComponent();
            populateData();
            currentUser = Manager.Main.Instance.lastUser;
            Text += " - " + currentUser;

            refresh.Interval = 30000;
            refresh.Tick += autoRefreshData;
            refresh.Start();
        }
示例#15
0
 public static bool Run(string command, string[] r, Users.User usr)
 {
     Console.WriteLine(command);
     Console.WriteLine(r);
     Console.WriteLine(usr.ToString());
     Console.WriteLine(Apps.Count);
     for (int i = 0; i < Apps.Count - 1; i++)
     {
         Console.WriteLine("test");
         Console.WriteLine(Apps[i].Name);
     }
     return(false);
 }
示例#16
0
        private static void RemoveUserHandler(Users.User usr, out ExtendedResult result)
        {
            Console.Write("Enter login name: ");
            string login = Console.ReadLine();

            if (login == usr.Login)
            {
                throw new Project_2.Exceptions.DeleteCurrentUserException();
            }

            Project_2.Users.UserManager.Delete(login);
            result = new ExtendedResult(ResultCode.None);
        }
示例#17
0
        private bool AreUsersCollectionsTheSame(Users i_actualUsers, Users i_expectedUsers)
        {
            bool bCollectionsAreTheSame = true;

            if ((i_expectedUsers == null) || (i_actualUsers == null))
            {
                if (i_expectedUsers == null)
                {
                    Console.Error.WriteLine("i_expectedUsers is null.");
                }

                if (i_actualUsers == null)
                {
                    Console.Error.WriteLine("i_actualUsers is null.");
                }

                return(false);
            }

            if (i_expectedUsers.Count != i_actualUsers.Count)
            {
                Console.Error.WriteLine("i_expectedUsers.Count: {0}, i_actualUsers.Count: {1}", i_expectedUsers.Count, i_actualUsers.Count);

                return(false);
            }

            for (int i = 0; i < i_expectedUsers.Count; ++i)
            {
                Users.User expectedUser = i_expectedUsers[i];
                Users.User actualUser   = i_actualUsers[i];

                if ((expectedUser.UserID != actualUser.UserID) ||
                    (expectedUser.FName != actualUser.FName) ||
                    (expectedUser.LName != actualUser.LName) ||
                    (expectedUser.Ext != actualUser.Ext) ||
                    (expectedUser.Email != actualUser.Email) ||
                    (expectedUser.Username != actualUser.Username) ||
                    (expectedUser.Domain != actualUser.Domain) ||
                    (expectedUser.MobileNumber != actualUser.MobileNumber) ||
                    (expectedUser.PagerNumber != actualUser.PagerNumber) ||
                    (expectedUser.State != actualUser.State))
                {
                    bCollectionsAreTheSame = false;

                    Console.Error.WriteLine("[{0}] expectedUser --> {1}", i, PrintUser(expectedUser));
                    Console.Error.WriteLine("[{0}] actualUser   --> {1}", i, PrintUser(actualUser));
                }
            }

            return(bCollectionsAreTheSame);
        }
示例#18
0
        private void btnRegister(object sender, EventArgs e)
        {
            newUser = new Users.User();
            string[] userInfo = new string[8];
            userInfo[0] = txtName.Text;
            userInfo[1] = txtSurname.Text;
            userInfo[2] = txtMail.Text;
            userInfo[3] = txtPsw.Text;
            userInfo[4] = txtPhone.Text;
            userInfo[5] = txtBDay.Text;
            userInfo[6] = txtBMonth.Text;
            userInfo[7] = txtBYear.Text;

            rgs = new Register(userInfo);
            List <string> result = rgs.RegisterControl();

            if (result.Count != 0)
            {
                string errorMsg = "";
                for (int i = 0; i < result.Count; i++)
                {
                    errorMsg += result[i] + "\n";
                }

                MessageBox.Show(errorMsg, "Hatalı Kayıt!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            long phoneNumber = long.Parse(userInfo[4]);

            int[] bDate = { int.Parse(userInfo[5]), int.Parse(userInfo[6]), int.Parse(userInfo[7]) };

            int userType;

            if (userMng.UserList.Count == 0)
            {
                userType = 0;
            }
            else
            {
                userType = 1;
            }

            newUser.DefineUser(userInfo[0], userInfo[1], userInfo[2], userInfo[3], userType, phoneNumber, bDate);

            userMng.AddUser(newUser);

            loginForm.Show();
            this.Close();
        }
示例#19
0
        public void TestThatEmailSetsEmptyUsernameAndDomain()
        {
            string sUsername = "******";
            string sDomain   = "domain.com";

            Users.User user = new Users.User();

            user.Email = String.Format("{0}@{1}", sUsername, sDomain);

            user.SetUsernameAndDomainFromEmail();

            Assert.That(user.Username, Is.EqualTo(sUsername));
            Assert.That(user.Domain, Is.EqualTo(sDomain));
        }
示例#20
0
        /// <summary>
        /// Plays the given request's sound(s)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task Play(Users.User user, SoundPlaybackRequest request)
        {
            request = SanityCheck(request);
            if (request == null)
            {
                return;
            }

            var player = this.ServiceProvider.GetService(typeof(ISoundChainPlaybackService)) as ISoundChainPlaybackService;

            player.PlaybackChanged += (sender, args) =>
            {
                if (args.FromStopGlobal)
                {
                    return;
                }

                //update the sounds the player is currently playing
                lock (PlaybackLock)
                {
                    PlaybackContext playerContext;
                    if (!PlayersPlaying.TryGetValue(player, out playerContext))
                    {
                        //race condition, finished already?
                        return;
                    }

                    if (args.Finished)
                    {
                        PlayersPlaying.Remove(player);
                    }
                    else
                    {
                        playerContext.PlayingNow = args.SoundsPlaying;
                    }

                    FirePlaybackChanged();
                }
            };

            var context = new PlaybackContext(user, request, player);

            lock (PlaybackLock)
            {
                PlayersPlaying[player] = context;
                player.Play(this, request);
            }
        }
示例#21
0
        public void TestThatNonEmptyEmailDoesNotAffectExistingUsernameAndDomain()
        {
            string sUsername = "******";
            string sDomain   = "domain.com";

            Users.User user = new Users.User();

            user.Email    = "*****@*****.**";
            user.Username = sUsername;
            user.Domain   = sDomain;

            user.SetUsernameAndDomainFromEmail();

            Assert.That(user.Username, Is.EqualTo(sUsername));
            Assert.That(user.Domain, Is.EqualTo(sDomain));
        }
示例#22
0
        private static void AddUserHandler(Users.User usr, out ExtendedResult result)
        {
            Console.WriteLine("Please select from the following types of user: "******"\t1) Administrator");
            Console.WriteLine("\t2) Staff Member");
            Console.WriteLine("\t3) Student");
            Console.WriteLine("\t0) Go back");
            Console.Write("Selection: ");

            Users.User newUsr = null;
            int        selection;

            if (int.TryParse(Console.ReadLine(), out selection) == true)
            {
                switch (selection)
                {
                case 1:     // Administrator
                    newUsr = Project_2.Subsystems.AutoPrompt.Create <Project_2.Users.Admin>();
                    break;

                case 2:     // Staff Member
                    newUsr = Project_2.Subsystems.AutoPrompt.Create <Project_2.Users.Staff>();
                    break;

                case 3:     // Student
                    newUsr = Project_2.Subsystems.AutoPrompt.Create <Project_2.Users.Student>();
                    break;

                case 0:     // Go back
                    // Do nothing
                    break;

                default:
                    Console.Error.WriteLine("Error: Invalid user type");
                    break;
                }
            }
            if (newUsr != null)
            {
                Project_2.Users.UserManager.Add(newUsr);
                result = new ExtendedResult(ResultCode.None);
            }
            else
            {
                result = new ExtendedResult(ResultCode.Failure);
            }
        }
示例#23
0
        // Utility methods

        private Users.User CreateUser(string i_sUserId, string i_sFirstName, string i_sLastName, string i_sExtension, string i_sEmail, string i_sUsername, string i_sDomain, string i_sMobileNumber, string i_sPagerNumber, Users.eState i_eState)
        {
            Users.User user = new Users.User();

            user.UserID       = i_sUserId;
            user.FName        = i_sFirstName;
            user.LName        = i_sLastName;
            user.Ext          = i_sExtension;
            user.Email        = i_sEmail;
            user.Username     = i_sUsername;
            user.Domain       = i_sDomain;
            user.MobileNumber = i_sMobileNumber;
            user.PagerNumber  = i_sPagerNumber;
            user.State        = i_eState;

            return(user);
        }
示例#24
0
        public static Users.Address GetAnonAcAddress(Users.User user, MerchantCalculation.AnonymousAddress anonAddress)
        {
            if (user == null || user.Addresses.Count == 0)
            {
                return(GetAnonAcAddress(anonAddress));
            }
            string anonAddressHash = GetAnonAddressHash(anonAddress);

            foreach (Users.Address addr in user.Addresses)
            {
                if (anonAddressHash == GetAnonAddressHash(addr))
                {
                    return(addr);
                }
            }
            return(GetAnonAcAddress(anonAddress));
        }
示例#25
0
        private static void FindUserHandler(Users.User usr, out ExtendedResult result)
        {
            Console.Write("Enter login name: ");
            string login = Console.ReadLine();

            Users.User searchUser;
            if ((searchUser = Project_2.Users.UserManager.Find(login)) == null)
            {
                Console.Error.WriteLine("Error: User not found");
                result = new ExtendedResult(ResultCode.Failure);
            }
            else
            {
                Console.WriteLine(searchUser.GetDetail());
                Console.WriteLine();
                result = new ExtendedResult(ResultCode.None);
            }
        }
示例#26
0
        public async Task <ActionResult> AddNewUser(UsersViewModel _userViewModel, string redirectUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(_userViewModel));
            }

            var user = new Users.User
            {
                userName = _userViewModel.userName,
                role     = _userViewModel.role,
                login    = _userViewModel.login
            };

            await userService.AddUserAsync(user);

            return(RedirectToLocal(redirectUrl));
        }
示例#27
0
        /// <summary>
        /// 获取事件配置集合
        /// </summary>
        /// <returns></returns>
        private IList <TbReportOutEventModel> GetOutEventList(TbReport ent, long tbReportId, long moduleId, bool checkRole)
        {
            //if (moduleId == 0) return null;
            var outEventList = _tbReportOutEventRepository.GetAllList(p => p.TbReportId == tbReportId);

            if (outEventList != null && outEventList.Count > 0)
            {
                //映射model,同时为每个事件赋唯一值
                var eventOutputList = outEventList.Select(p =>
                {
                    var outEvent        = p.MapTo <TbReportOutEventModel>();
                    outEvent.Identifier = p.Id.ToString();//赋唯一标识符
                    return(outEvent);
                }).ToList();
                if (checkRole)//验证用户权限(只返回权限内的事件)
                {
                    if (moduleId != 0)
                    {
                        Users.User user    = GetCurrentUserAsync().Result;
                        var        roleids = user.Roles.Select(p => Convert.ToInt64(p.RoleId)).ToList();
                        var        evids   = _roleModuleEventRepository.GetAllList(p => roleids.Contains(p.RoleId) && p.ModuleId == moduleId).Select(p => p.EventId);
                        var        tbEvs   = _moduleEventRepository.GetAllList(p => evids.Contains(p.Id)).Select(p => p.SourceTableId);
                        eventOutputList = eventOutputList.Where(p => tbEvs.Contains(p.Id)).ToList();
                    }
                    else
                    {
                        eventOutputList = null;
                    }
                }
                //循环获取每个事件的参数列表
                foreach (var ev in eventOutputList)
                {
                    //获取事件参数
                    var paramList = _paramRepository.GetAllList(p => p.TbReportOutEventId == ev.Id).OrderBy(p => p.OrderNum).ToList();
                    if (paramList != null && paramList.Count > 0)
                    {
                        ev.ParamListJson = JSON.DecodeToStr(AutoMapper.Mapper.Map <List <ParamModel> >(paramList));
                    }
                }
                return(eventOutputList);
            }
            return(null);
        }
示例#28
0
 /// <summary>
 /// Method that when end-user select a user, it will populate
 /// the information in the field
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void userListBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     Users.User selectUser = (Users.User)userListBox.SelectedValue;
     //if it's not Add New Users.. then
     //if it's not <Add New> then...do that
     if (selectUser.UserID != 0)
     {
         userIDTextBox.Text    = selectUser.UserID.ToString();
         userNameTextBox.Text  = selectUser.UserName.ToString();
         userEmailTextBox.Text = selectUser.UserEmail.ToString();
         userPhoneTextBox.Text = selectUser.UserTel.ToString();
     }
     //if it is... null everything!
     else
     {
         userIDTextBox.Text    = null;
         userNameTextBox.Text  = null;
         userEmailTextBox.Text = null;
         userPhoneTextBox.Text = null;
     }
 }
        public void TestGetWalletByUserNotFriend()
        {
            Users.User loggedUser = new User("user1");

            var     userSession    = new MockUserSession(loggedUser);
            Wallets walletProvider = new Wallets();

            var user = new Users.User("user2");

            // Link wallets to user
            var wallet = new Wallet("wallet1");

            walletProvider.AddWallet(user, wallet);
            List <Wallet> userWallets = walletProvider.FindWalletsByUser(user);

            var walletSvc = new WalletService(userSession, walletProvider);
            var wallets   = walletSvc.GetWalletsByUser(user);

            Assert.IsNotNull(wallets);
            Assert.AreEqual(0, wallets.Count);
        }
示例#30
0
        private void bt_deleteUser_Click(object sender, EventArgs e)
        {
            bool valide = false;

            if (!File.Exists(Form1.users_path + txtbox_userLogin.Text))
            {
                MsgBox msgBox = new MsgBox("Deleting user error", "User not found");
                msgBox.ShowDialog();
            }
            else if (txtbox_userLogin.Text != "LastUserID")
            {
                valide = true;
            }
            if (valide)
            {
                List <string> emails = new List <string>();
                using (var reader = new StreamReader("emails/emails"))
                {
                    while (!reader.EndOfStream)
                    {
                        emails.Add(reader.ReadLine());
                    }
                }
                Users.User user_for_delete = new Users.User();
                user_for_delete.Deserialize(Form1.users_path + txtbox_userLogin.Text);
                emails.Remove(user_for_delete.Email);
                using (var writer = new StreamWriter("emails/emails"))
                {
                    foreach (var email in emails)
                    {
                        writer.WriteLine(email.ToString());
                    }
                }
                File.Delete(Form1.users_path + user_for_delete.Login);
                MsgBox msgBox = new MsgBox("Deleting user", "User deleted successfully");
                msgBox.ShowDialog();
                Desktop.BringToFront();
                this.Close();
            }
        }
 public override void Run(string[] args, Users.User usr)
 {
     if (args.Length == 0)
     {
         IO.Out.printf("ERROR: Missing argument\nUsage: %s\n", this.Usage);
     }
     else if (args.Length == 1)
     {
         string arg     = args[0].ToLower();
         bool   success = true;
         if (arg == "de" || arg == "qwertz")
         {
             Drivers.Keyboard.KeyLayout.QWERTZ();
         }
         else if (arg == "en" || arg == "us" || arg == "qwerty")
         {
             Drivers.Keyboard.KeyLayout.QWERTY();
         }
         else if (arg == "fr" || arg == "azerty")
         {
             Drivers.Keyboard.KeyLayout.AZERTY();
         }
         else
         {
             success = false;
         }
         if (success)
         {
             IO.Out.printf("Changed keylayout to %s\n", arg);
         }
         else
         {
             IO.Out.printf("ERROR: Invalid argument \"%s\"\nUsage: %s\n", arg, this.Usage);
         }
     }
     else if (args.Length > 1)
     {
         IO.Out.printf("ERROR: Too much arguments\nUsage: %s\n", this.Usage);
     }
 }
示例#32
0
        public virtual async Task<ActionResult> Register(RegisterViewModel model)
        {
            try
            {
                CheckModelState();

                //Get tenancy name and tenant
                //if (!_multiTenancyConfig.IsEnabled)
                //{
                //    model.TenancyName = Tenant.DefaultTenantName;
                //}
                //else if (model.TenancyName.IsNullOrEmpty())
                //{
                //    throw new UserFriendlyException(L("TenantNameCanNotBeEmpty"));
                //}

             //   var tenant = await GetActiveTenantAsync(model.TenancyName);

                //Create user
                var user = new Users.User
                {
                    TenantId = 1,
                    Name = model.Name,
                    Surname = model.Surname,
                    EmailAddress = model.EmailAddress,
                    IsActive = true
                };

                //Get external login info if possible
                ExternalLoginInfo externalLoginInfo = null;
                if (model.IsExternalLogin)
                {
                    externalLoginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
                    if (externalLoginInfo == null)
                    {
                        throw new ApplicationException("Can not external login!");
                    }

                    user.Logins = new List<UserLogin>
                    {
                        new UserLogin
                        {
                            LoginProvider = externalLoginInfo.Login.LoginProvider,
                            ProviderKey = externalLoginInfo.Login.ProviderKey
                        }
                    };

                    if (string.IsNullOrWhiteSpace(model.UserName))
                    {
                        model.UserName = model.EmailAddress;
                    }

                    if (string.IsNullOrWhiteSpace(model.Password))
                    {
                        model.Password = Users.User.CreateRandomPassword();
                    }

                    if (string.Equals(externalLoginInfo.Email, model.EmailAddress, StringComparison.InvariantCultureIgnoreCase))
                    {
                        user.IsEmailConfirmed = true;
                    }
                }
                else
                {
                    //Username and Password are required if not external login
                    if (model.UserName.IsNullOrEmpty() || model.Password.IsNullOrEmpty())
                    {
                        throw new UserFriendlyException("Please insert your email or username, and password to login."); //L("FormIsNotValidMessage"));
                    }
                }

                user.UserName = model.UserName;
                user.Password = new PasswordHasher().HashPassword(model.Password);

                //Switch to the tenant
                _unitOfWorkManager.Current.EnableFilter(AbpDataFilters.MayHaveTenant);
                _unitOfWorkManager.Current.SetFilterParameter(AbpDataFilters.MayHaveTenant, AbpDataFilters.Parameters.TenantId, 1);

                //Add default roles
                user.Roles = new List<UserRole>();
                var role = await _roleManager.GetRoleByNameAsync("Retailer");
                role.IsDefault = true;
                _roleManager.Update(role);
                foreach (var defaultRole in await _roleManager.Roles.Where(r => r.IsDefault).ToListAsync())
                {
                    user.Roles.Add(new UserRole { RoleId = defaultRole.Id });
                }

                //Save user
                CheckErrors(await _userManager.CreateAsync(user));
                await _unitOfWorkManager.Current.SaveChangesAsync();

                //Directly login if possible
                if (user.IsActive)
                {
                    AbpUserManager<Tenant, Role, Users.User>.AbpLoginResult loginResult;
                    if (externalLoginInfo != null)
                    {
                        loginResult = await _userManager.LoginAsync(externalLoginInfo.Login, "");
                    }
                    else
                    {
                        loginResult = await GetLoginResultAsync(user.UserName, model.Password, "");
                    }

                    if (loginResult.Result == AbpLoginResultType.Success)
                    {
                        await SignInAsync(loginResult.User, loginResult.Identity);
                        return Redirect(Url.Action("Index", "Home"));
                    }

                    Logger.Warn("New registered user could not be login. This should not be normally. login result: " + loginResult.Result);
                }

                //If can not login, show a register result page
                return View("RegisterResult", new RegisterResultViewModel
                {
                    TenancyName = "Animart",
                    NameAndSurname = user.Name + " " + user.Surname,
                    UserName = user.UserName,
                    EmailAddress = user.EmailAddress,
                    IsActive = user.IsActive,
                    IsEmailConfirmationRequired = false
                });
            }
            catch (UserFriendlyException ex)
            {
                ViewBag.IsMultiTenancyEnabled = _multiTenancyConfig.IsEnabled;
                ViewBag.ErrorMessage = ex.Message;

                return View("Register", model);
            }
        }
示例#33
0
        private void matchedUsersList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (matchedUsersList.SelectedIndex > -1)
            {
                //clearUserInfo();
                populateUserInfo((Users.User)matchedUsersList.SelectedItem);
                selectedUser = (Users.User)matchedUsersList.SelectedItem;

                updatePasskeyButton.Enabled = true;
            }
        }
示例#34
0
文件: Main.cs 项目: RaidMax/TLog
        public LoginResult Authenticate(string userID)
        {
            var Result = new LoginResult();
            Result.success = false;
            Result.error = FailReason.NULL;
            Result.sessionTime = new TimeSpan();

            try
            {
                if (userID.Length == 0)
                {
                    Result.error = FailReason.ID_INVALID;
                    return Result;
                }

                Users.User findUser = null;
                bool tNumAuth = false;
                if (userID.ToLower().Substring(0, 1) == "t")
                {
                    findUser = activeUsers.Find(u => u.ID.Equals(Users.TNumber.convertTo(userID)));
                    tNumAuth = true;
                }

                else
                {
                    if (userID != "default")
                        findUser = activeUsers.Find(u => u.passKey == userID);

                    if (findUser == null && userID.Length == 16)
                        findUser = activeUsers.Find(u => u.isSecretKey(userID));
                }

                if (findUser == null)
                {
                    Result.error = FailReason.ID_INACTIVE;

                    if (tNumAuth)
                    {
                        findUser = archivedUsers.Find(u => u.ID.Equals(Users.TNumber.convertTo(userID)));
                        if (findUser == null)
                            Result.error = FailReason.ID_UNRECOGNIZED;

                        else if (findUser.activationRequested)
                            Result.error = FailReason.ID_WAITINGFORACTIVATION;
                    }
                    else if (userID.Length == 16)
                    {
                        findUser = archivedUsers.Find(u => u.isSecretKey(userID));
                        if (findUser == null)
                            Result.error = FailReason.ID_UNRECOGNIZED;

                        else if (findUser.activationRequested)
                            Result.error = FailReason.ID_WAITINGFORACTIVATION;
                    }
                    else
                        Result.error = FailReason.ID_UNRECOGNIZED;
                }

                else
                {
                    Result.type = (findUser.loggedIn) ? AuthType.LOG_OFF : AuthType.LOG_ON;

                    if (findUser.Class == Users.User.Type.Student_Worker)
                    {

                        if (DateTime.Now.Hour >= 12 && DateTime.Now.Hour < 1)
                        {
                            Result.error = FailReason.OFFICE_CLOSED;
                            Result.success = false;
                            return Result;
                        }

                        var sw = (Users.StudentWorker)(findUser);
                        if (sw.weeklyHours() >= sw.maxHoursPerWeek)
                        {
                            Result.success = false;
                            Result.error = FailReason.ID_WEEKLYHOURSLIMIT;
                        }

                        if (sw.semesterHours() >= sw.maxHoursPerSemester)
                        {
                            Result.success = false;
                            Result.error = FailReason.ID_SEMESTERLYHOURSLIMIT;
                        }
                    }

                    // is admin
                    else
                    {
                        if (tNumAuth)
                        {
                            Result.success = false;
                            Result.error = FailReason.ID_NOTALLOWED;
                        }
                    }

                    if (Result.error == FailReason.NULL)
                        Result.success = true;

                    if (Result.success)
                    {
                        if (findUser.loggedIn)
                        {
                            findUser.logOff();
                            pendingUpload = true;
                            Result.sessionTime = findUser.lastLogoff - findUser.lastLogon;
                        }

                        else
                        {
                            findUser.logOn();
                            pendingUpload = true;
                        }
                    }
                }

                Result.currentUser = findUser;
                lastUser = findUser;
            }

            catch (FormatException)
            {
                Result.error = FailReason.ID_INVALID;
            }

            catch (NullReferenceException)
            {
                Result.error = FailReason.ID_UNRECOGNIZED;
            }

            if (Result.error != FailReason.NULL)
                Debug.Log("Failed attempt at authenticating ID=\"{0}\" FailReason={1}", userID, Result.error);

            return Result;
        }