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); } }