//===================================== HELPER METHODS =====================================// private async Task <ServiceResponse <UpgradeKey> > UpdateSecureKey(UpdateUpgradeKeyDto keyDto) { var response = new ServiceResponse <UpgradeKey>(); UpgradeKey dalKey = await _context.UpgradeKeys.FirstOrDefaultAsync(k => k.EMail == keyDto.EMail); if (dalKey != null) { dalKey.Key = keyDto.Key; } else { dalKey = await _context.UpgradeKeys.FirstOrDefaultAsync(k => k.Key == keyDto.Key); if (dalKey == null) { return(response.Failure(NoKeyStr, HttpStatusCode.NotFound)); } dalKey.EMail = keyDto.EMail; } dalKey.UserType = keyDto.UserType; await _context.SaveChangesAsync(); return(response.Success(dalKey, KeyUpdatedStr)); }
//======================================= UPDATE =======================================// private static bool InvalidPollsterKey(UpdateAccountDto createAccountDto, UpgradeKey key, string eMail) { string dtoKey = createAccountDto.Key; if (dtoKey == null) { return(false); } return(key == null || key.EMail != eMail && key.EMail.Length > 0); }
public async Task <IActionResult> AddUpgradeKey(UpgradeKey upgradeKey) { var keysResponse = await _keyService.AddUpgradeKey(upgradeKey); var response = new Response <UpgradeKey>(keysResponse); return(keysResponse.Code switch { HttpStatusCode.UnprocessableEntity => UnprocessableEntity(response), HttpStatusCode.Conflict => Conflict(response), _ => Ok(response) });
public async Task <ServiceResponse <UpgradeKey> > AddUpgradeKey(UpgradeKey upgradeKey) { var response = new ServiceResponse <UpgradeKey>(); if (upgradeKey.Key.Length < 4) { return(response.Failure(KeyLengthStr, HttpStatusCode.UnprocessableEntity)); } var existingKey = await _context.UpgradeKeys.FirstOrDefaultAsync( u => u.Key == upgradeKey.Key || u.EMail == upgradeKey.EMail && u.EMail != "" ); if (existingKey != null) { return(response.Failure(KeyExistsStr, HttpStatusCode.Conflict)); } await _context.UpgradeKeys.AddAsync(upgradeKey); await _context.SaveChangesAsync(); return(response.Success(upgradeKey, KeyAddedStr)); }