public async Task <ActionResult> UpdateUserCardInfo([FromBody] JObject objJson) { try { if (string.IsNullOrEmpty(Convert.ToString(Request.Headers["api_key"]))) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } string strUserId = UserLoginSessionKeys.GetUserIdByApiKey(_appDbContext, Guid.Parse(Request.Headers["api_key"])); if (string.IsNullOrEmpty(strUserId)) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } var objUserCardInfoDetails = from uci in _appDbContext.UserCardInfo where (uci.Id == Convert.ToInt32(objJson.SelectToken("usercardinfoid")) && uci.UserId == strUserId) select uci; if (objUserCardInfoDetails.Count() <= 0) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Card info doesn’t exist or Invalid User." }))); } clsAppCrypt objclsAppCrypt = new clsAppCrypt(configuration); UserCardInfo objUserCardInfo = new UserCardInfo(); objUserCardInfo.Id = Convert.ToInt32(objJson.SelectToken("usercardinfoid")); objUserCardInfo.NameOnCard = Convert.ToString(objJson.SelectToken("nameoncard")); objUserCardInfo.CardNumber = objclsAppCrypt.EncryptTripleDES(Convert.ToString(objJson.SelectToken("cardnumber"))); objUserCardInfo.ExpiryDate = Convert.ToString(objJson.SelectToken("expirydate")); objUserCardInfo.CardType = Convert.ToString(objJson.SelectToken("cardtype")); objUserCardInfo.Issuer = Convert.ToString(objJson.SelectToken("issuer")); objUserCardInfo.SecurityNumber = objclsAppCrypt.EncryptTripleDES(Convert.ToString(objJson.SelectToken("securitynumber"))); objUserCardInfo.LastUpdatedDate = DateTime.UtcNow; _appDbContext.UserCardInfo.Attach(objUserCardInfo); _appDbContext.Entry(objUserCardInfo).Property("NameOnCard").IsModified = true; _appDbContext.Entry(objUserCardInfo).Property("CardNumber").IsModified = true; _appDbContext.Entry(objUserCardInfo).Property("ExpiryDate").IsModified = true; _appDbContext.Entry(objUserCardInfo).Property("CardType").IsModified = true; _appDbContext.Entry(objUserCardInfo).Property("Issuer").IsModified = true; _appDbContext.Entry(objUserCardInfo).Property("SecurityNumber").IsModified = true; _appDbContext.Entry(objUserCardInfo).Property("LastUpdatedDate").IsModified = true; int returnVal = await _appDbContext.SaveChangesAsync(); if (returnVal > 0) { return(Ok(new { Status = "OK", Detail = "Card Info Updated." })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support" }))); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support", SystemError = ex.Message }))); } }
public async Task <ActionResult> AddUserCardInfo([FromBody] JObject objJson) { try { if (string.IsNullOrEmpty(Convert.ToString(Request.Headers["api_key"]))) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } string strUserId = UserLoginSessionKeys.GetUserIdByApiKey(_appDbContext, Guid.Parse(Request.Headers["api_key"])); if (string.IsNullOrEmpty(strUserId)) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } clsAppCrypt objclsAppCrypt = new clsAppCrypt(configuration); UserCardInfo objUserCardInfo = new UserCardInfo(); objUserCardInfo.UserId = strUserId; objUserCardInfo.NameOnCard = Convert.ToString(objJson.SelectToken("nameoncard")); objUserCardInfo.CardNumber = objclsAppCrypt.EncryptTripleDES(Convert.ToString(objJson.SelectToken("cardnumber"))); objUserCardInfo.ExpiryDate = Convert.ToString(objJson.SelectToken("expirydate")); objUserCardInfo.CardType = Convert.ToString(objJson.SelectToken("cardtype")); objUserCardInfo.Issuer = Convert.ToString(objJson.SelectToken("issuer")); objUserCardInfo.SecurityNumber = objclsAppCrypt.EncryptTripleDES(Convert.ToString(objJson.SelectToken("securitynumber"))); objUserCardInfo.AddedDate = DateTime.UtcNow; await _appDbContext.UserCardInfo.AddAsync(objUserCardInfo); int returnVal = await _appDbContext.SaveChangesAsync(); if (returnVal > 0) { return(Ok(new { Status = "OK", Detail = "Card Info Added." })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support" }))); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support", SystemError = ex.Message }))); } }