コード例 #1
0
        public UserLoginResponse Login(string language, UserLoginRequest request)
        {
            string errorMessageKey = "";

            try
            {
                AppUser user = _work.LoadUserWithEmail(request.LoginName);
                if (user == null || request.Password != user.Password)
                {
                    errorMessageKey = ConstentMessages.UserNotExist;
                    throw new ArgumentException();
                }
                errorMessageKey = ConstentMessages.LoadRoleError;
                Dictionary <string, string> moduleRights = _work.LoadModuleRights(user.RoleId);

                DateTime utcNow = DateTime.UtcNow;
                user.Session = new AppSession {
                    Id = ObjectId.GenerateNewId().ToString(), CreateTs = utcNow, UpdateTs = utcNow
                };
                errorMessageKey = ConstentMessages.CreateSessionForUserError;
                _work.UpdateAppUser(user);
                return(new UserLoginResponse {
                    UserName = user.Name, SessionId = user.Session.Id, SessionUpdateTs = user.Session.UpdateTs.ToJsTime(), ModuleRights = moduleRights, SessionDuration = _appSetting.SessionDuration, UploadFileMaxSize = _appSetting.UploadFileMaxSize, UploadFileTypes = _appSetting.UploadFileTypes
                });
            }
            catch (Exception ex)
            {
                throw new TranslationException(_translator, language, errorMessageKey, ex);
            }
        }