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); } }
protected void UpdateAdminSession(AppUser admin) { DateTime utcNow = DateTime.UtcNow; admin.Session = new AppSession { Id = ObjectId.GenerateNewId().ToString(), CreateTs = utcNow, UpdateTs = utcNow }; _baseUserWorkOfUnit.UpdateAppUser(admin); }
public MessageSessionResponse Update(string language, string sessionId, UserRequest request) { AppUser admin = this.LoadUserWithSessionId(sessionId); ValidateSessionAndRight(language, admin, EnumData.AppModules.AppUser.ToString(), new List <string> { EnumData.RoleRight.all.ToString(), EnumData.RoleRight.account.ToString() }); ValidationResponse validationResponse = Validat <UserRequest>(_userValidator, request, language); if (validationResponse != null) { throw new MessagesException(validationResponse.Messages); } if (_work.EmailIsExist(request.Email)) { throw new TranslationException(_translator, language, ConstentMessages.EmailIsExist, null); } if (_work.UserNameIsExist(request.UserName)) { throw new TranslationException(_translator, language, ConstentMessages.UserNameIsExist, null); } string errorMessageKey = ""; try { errorMessageKey = ConstentMessages.ServerError; AppUser appUser = _work.LoadUserWithId(request.Id); if (appUser == null) { throw new TranslationException(_translator, language, ConstentMessages.UserNotExist, null); } UpdateUserFromUserRequest(appUser, request); if (request.UpdateTs != appUser.UpdateTs.ToJsTime()) { throw new TranslationException(_translator, language, ConstentMessages.UserIsChanged, null); } _work.UpdateAppUser(appUser); this.UpdateAdminSession(admin); return(new MessageSessionResponse { Message = "OK", SessionId = admin.Session.Id, SessionUpdateTs = admin.Session.UpdateTs.ToJsTime() }); } catch (TranslationException ex) { throw; } catch (Exception ex) { throw new TranslationException(_translator, language, errorMessageKey, ex); } }