public async Task <IHttpActionResult> PostBalance(string id, BalanceViewModel model) { var self = await SelfUser(); if (self == null) { return(Unauthorized()); } User user = await Db.Users.FirstOrDefaultAsync(u => u.Id == id); if (user == null) { return(NotFound()); } var entry = new MoneyHistory { UserId = user.Id, Amount = model.Amount, Datetime = DateTime.UtcNow }; Db.MoneyHistory.Add(entry); await Db.SaveChangesAsync(); return(Ok(entry)); }
public async Task <IHttpActionResult> Register(RegisterViewModel info) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = Db.Users.Add(new User { UserName = info.Username, Email = info.Email, RegisterDatetime = DateTime.UtcNow }); var userRole = await Db.Roles.FirstOrDefaultAsync(r => r.Name == Roles.User); user.Roles.Add(new IdentityUserRole { RoleId = userRole.Id }); await new MyUserStore().SetPasswordHashAsync(user, new MyUserManager().PasswordHasher.HashPassword(info.Password)); try { await Db.SaveChangesAsync(); var entry = new MoneyHistory { UserId = user.Id, Amount = 10000, Datetime = DateTime.UtcNow }; Db.MoneyHistory.Add(entry); await Db.SaveChangesAsync(); } catch (DbUpdateException) { if (UserWithIdExists(user.Id)) { return(Conflict()); } throw; } return(CreatedAtRoute("DefaultApi", new { controller = "Users", id = user.Id }, user)); }