public async Task <IActionResult> UpdateAccount([FromBody] AccountRequestDTO request) { bool result = await _accountQueryService.UpdateAccount(request); if (result) { return(Ok(new { status = "success" })); } return(BadRequest("Error")); }
public async Task <IActionResult> InsertAccount([FromBody] AccountRequestDTO request) { Account _account = new Account(); _account = Mapper.Map(request, _account); _account.CreateDate = DateTime.Now; _account.UpdateDate = DateTime.Now; _account.IsActive = true; bool result = await _accountQueryService.InsertAccount(_account); if (result) { return(Ok(new { status = "success" })); } return(BadRequest("Error")); }
public async Task <bool> UpdateAccount(AccountRequestDTO account) { try { Account _account = this._context.Account.FirstOrDefault(c => c.Id == account.Id); if (_account != null) { _account = Mapper.Map(account, _account); _account.UpdateDate = DateTime.Now; _context.Account.Update(_account); _context.SaveChanges(); return(true); } return(false); } catch (Exception ex) { Console.Write(ex.ToString()); return(false); } }
public async Task <dynamic> createAccount([FromBody] AccountRequestDTO request) { DateTime now = DateTime.UtcNow; Account existingAccount = db.Account.Where(a => a.AccountName == request.AccountName).FirstOrDefault(); if (existingAccount == null || existingAccount.IsActive == false) { if (existingAccount == null) { Account acc = new Account() { AccountName = request.AccountName, AccountPassword = request.PasswordPreHashed ? request.AccountPassword : Crypto.ComputeSHA256(request.AccountPassword), CreateDt = now, LastSignInDt = now, MachineId = request.MachineId, MediusStats = request.MediusStats, AppId = request.AppId, }; db.Account.Add(acc); db.SaveChanges(); List <AccountStat> newStats = (from ds in db.DimStats select new AccountStat() { AccountId = acc.AccountId, StatId = ds.StatId, StatValue = ds.DefaultValue }).ToList(); db.AccountStat.AddRange(newStats); AccountStatus newStatusData = new AccountStatus() { AccountId = acc.AccountId, LoggedIn = false, GameId = null, ChannelId = null, WorldId = null }; db.AccountStatus.Add(newStatusData); db.SaveChanges(); return(await getAccount(acc.AccountId)); } else { existingAccount.IsActive = true; existingAccount.AccountPassword = request.AccountPassword; existingAccount.ModifiedDt = now; existingAccount.MediusStats = request.MediusStats; existingAccount.AppId = request.AppId; existingAccount.MachineId = request.MachineId; existingAccount.LastSignInDt = now; db.Account.Attach(existingAccount); db.Entry(existingAccount).State = Microsoft.EntityFrameworkCore.EntityState.Modified; List <AccountStat> newStats = (from ds in db.DimStats select new AccountStat() { AccountId = existingAccount.AccountId, StatId = ds.StatId, StatValue = ds.DefaultValue }).ToList(); db.AccountStat.AddRange(newStats); db.SaveChanges(); return(await getAccount(existingAccount.AccountId)); } } else { return(StatusCode(403, $"Account {request.AccountName} already exists.")); } }