public async Task <Models.Database.User> Index() { var characterId = Int32.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var characterInfo = await esiClient.Character.GetCharacterPublicInfoV4Async(characterId); var corporationInfo = await esiClient.Corporation.GetCorporationInfoV4Async((int)characterInfo.Model.CorporationId); var auth = new AuthDTO { AccessToken = new AccessTokenDetails { AccessToken = User.FindFirst("AccessToken").Value, ExpiresUtc = DateTime.Parse(User.FindFirst("AccessTokenExpiry").Value), RefreshToken = User.FindFirst("RefreshToken").Value }, CharacterId = characterId, Scopes = User.FindFirst("Scopes").Value }; var locationInfo = await esiClient.Location.GetCharacterLocationV1Async(auth); var location = await esiClient.Universe.GetSolarSystemInfoV4Async(locationInfo.Model.SolarSystemId); var mining = await esiClient.Industry.CharacterMiningLedgerV1Async(auth); var model = new Models.Database.User { CharacterName = characterInfo.Model.Name, CorporationName = corporationInfo.Model.Name, CharacterLocation = location.Model.Name, CharacterMining = mining }; return(model); }
public static void UpdateCharacter(Models.Database.User user) { using (var conn = ConnectionFactory()) { conn.Open(); foreach (var item in user.CharacterMining.Model) { var dbItem = conn.QueryFirstOrDefault <Models.MiningLedger>( @"SELECT * FROM MiningLedger WHERE Date = @Date AND SolarSystemId = @SolarSystemId AND TypeId = @TypeId LIMIT 1", item); if (dbItem == null) { conn.Execute( @"INSERT INTO MiningLedger (UserKey, Date, Quantity, SolarSystemId, TypeId) VALUES(@UserKey, @Date, @Quantity, @SolarSystemId, @TypeId)", new { UserKey = user.UserKey, Date = item.Date, Quantity = item.Quantity, SolarSystemId = item.SolarSystemId, TypeId = item.TypeId }); } else { conn.Execute( @"UPDATE MiningLedger SET Quantity = @Quantity WHERE Date = @Date AND SolarSystemId = @SolarSystemId AND TypeId = @TypeId AND UserKey = @UserKey", new { UserKey = user.UserKey, Date = item.Date, Quantity = item.Quantity, SolarSystemId = item.SolarSystemId, TypeId = item.TypeId }); } } } }
public async Task <IActionResult> Callback(string code, string state) { var authorization = new Authorization { AuthorizationCode = code, ExpectedState = HttpContext.Session.GetString(SSOStateKey), ReturnedState = state }; var accessToken = await esiClient.SSO.VerifyAuthorizationAsync(authorization); var character = await esiClient.SSO.GetCharacterDetailsAsync(accessToken.AccessToken); var dbUser = DataAccess.User.SelectUser(character.CharacterId); //The user does not exist in the db if (dbUser == null) { dbUser = new Models.Database.User { CharacterId = character.CharacterId, CharacterName = character.CharacterName, AccessToken = accessToken.AccessToken, RefreshToken = accessToken.RefreshToken, RefreshTokenExpiresUTC = accessToken.ExpiresUtc, APIToken = Guid.NewGuid().ToString() }; DataAccess.User.InsertUser(dbUser); } else { dbUser.AccessToken = accessToken.AccessToken; dbUser.RefreshToken = accessToken.RefreshToken; dbUser.RefreshTokenExpiresUTC = accessToken.ExpiresUtc; if (dbUser.APIToken == null) { dbUser.APIToken = Guid.NewGuid().ToString(); } dbUser.CharacterName = character.CharacterName; DataAccess.User.UpdateUser(dbUser); } Response.Cookies.Append("APIToken", dbUser.APIToken, new CookieOptions { Expires = DateTimeOffset.Now.AddDays(7) }); await SignInAsync(accessToken, character); if (Guid.TryParse(state, out Guid stateGuid)) { return(Redirect("http://localhost")); } else { var returnUrl = Encoding.ASCII.GetString(Base64UrlTextEncoder.Decode(state)); return(Redirect(returnUrl)); } }
public static void UpdateUser(Models.Database.User user) { using (var conn = ConnectionFactory()) { conn.Open(); conn.Execute( @"UPDATE Users SET CharacterId = @CharacterId, CharacterName = @CharacterName, AccessToken = @AccessToken, RefreshToken = @RefreshToken, RefreshTokenExpiresUTC = @RefreshTokenExpiresUTC, APIToken = @APIToken WHERE UserKey = @UserKey", user); } }
public static long InsertUser(Models.Database.User user) { using (var conn = ConnectionFactory()) { conn.Open(); return(conn.Execute( @"INSERT INTO Users (CharacterId, CharacterName, AccessToken, RefreshToken, RefreshTokenExpiresUtc, APIToken) VALUES(@CharacterId, @CharacterName, @AccessToken, @RefreshToken, @RefreshTokenExpiresUTC, @APIToken)", user)); } }
public Models.Database.ListItem ToDatabase(Models.Database.User user, Models.Database.List list) { return(new Models.Database.ListItem { title = this.title, description = this.description, user = user, list = list, image = this.image }); }
/// <summary> /// The update user name input command action. /// </summary> public void UpdateUserNameInputCommandAction() { _updateUser = null; foreach (var user in _mainModel.Users) { if (_updateUserName == user.Name) { _updateUser = user; break; } } SetUpdateUser(_updateUser); }
public async Task CreateDboUser(string id) { var user = db.Users.Where(x => x.AspNetUsersId == id).FirstOrDefault(); if (user == null) { user = new Models.Database.User() { AspNetUsersId = id }; db.Users.Add(user); await db.SaveChangesAsync(); } }
public void AddUser(string email, string password) { if (GetUser(email) != null) { throw new Error.EmailExists(); } User user = new Models.Database.User { Email = email, Password = Crypto.HashPassword(password), RegisterDate = DateTime.Now }; db.Users.Add(user); db.SaveChanges(); }
public Task <Result> Handle(Command command, CancellationToken cancellationToken) { var user = _bskContext.Users.FirstOrDefault(u => u.Id == command.Id); if (user != null) { throw new ArgumentException("User already exists"); } user = new Models.Database.User { Id = command.Id, Name = command.Name }; _bskContext.Users.Add(user); return(Task.FromResult(new Result { User = user })); }
private void ResetParameters() { AddUserName = string.Empty; AddUserEmail = string.Empty; AddUserPassword = string.Empty; AddUserDescription = string.Empty; _addUserPassword = string.Empty; UpdateUserName = string.Empty; UpdateUserDescription = string.Empty; UpdateUserPassword = string.Empty; UpdateUserEmail = string.Empty; _updateUserImage = string.Empty; _updateUser = null; OnPropertyChanged(() => CanAddUser); OnPropertyChanged(() => CanUpdateUser); OnPropertyChanged(() => Users); }
/// <summary> /// The add user command action. /// </summary> public void AddUserCommandAction() { //UserName = "******" + DateTime.Now.ToLongTimeString(); //UserName += " = " + MD5Hash(UserName); Models.Database.User newUser = new Models.Database.User() { Name = _addUserName, Description = _addUserDescription, Email = _addUserEmail, ImageUri = _addUserImage, DateAdded = DateTime.Now, PasswordHash = MD5Hash(_addUserPassword) }; _mainModel.UserDatabase.AddNewItemToDatabase(newUser); _mainModel.UserDatabase.ConnectToDatabase(); MessageBox.Show("User added ok "); ClearAddUser(); }
public ActionResult CreateUser(CreateUserModel model) { DbContextTransaction transaction = null; if (ModelState.IsValid) { try { var user = db.Users.Where(u => String.Compare(u.UserName, model.UserName, true) == 0).FirstOrDefault(); if (user == null) { // Begin transaction transaction = db.Database.BeginTransaction(); // Save user info user = new Models.Database.User(); SaltedHash sh = new SaltedHash(model.Password); user.UserName = model.UserName; user.Password = sh.Hash; user.Salt = sh.Salt; user.FullName = model.FullName; user.Phone = model.Phone; user.Email = model.Email; user.IsActive = model.IsActive; user.CreateDate = DateTime.Now; db.Users.Add(user); db.SaveChanges(); // Save user roles foreach (var item in model.SelectedRoles) { var userRole = new UserRole(); userRole.UserId = user.UserId; userRole.RoleId = int.Parse(item.Id); db.UserRoles.Add(userRole); } db.SaveChanges(); transaction.Commit(); return(RedirectToAction("ListUsers")); } else { ModelState.AddModelError("", "Tài khoản tên <strong>" + model.UserName + "</strong> đã được đăng ký. Vui lòng nhập tên khác!"); } } catch (Exception ex) { // Rollback transaction if (transaction != null) { transaction.Rollback(); } ModelState.AddModelError("", "Error: " + ex.ToString()); } } return(View(model)); }