public async Task <IActionResult> Put(int id, [FromBody] WhiteListUrl request) { try { if (!ModelState.IsValid) { return(Ok(new OperationResponse { HasSucceeded = false, IsDomainValidationErrors = true, StatusCode = ((int)ResponseStatus.BadRequest).ToString(), Message = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)) })); } UrlWhiteListingDataAccess _whitelistingAccess = new UrlWhiteListingDataAccess(_iconfiguration); DatabaseResponse response = await _whitelistingAccess.WhiteListUrl(request, id); if (response.ResponseCode == (int)DbReturnValue.UpdateSuccess) { return(Ok(new OperationResponse { HasSucceeded = true, IsDomainValidationErrors = false, Message = EnumExtensions.GetDescription(DbReturnValue.UpdateSuccess), ReturnedObject = response.Results })); } else { Log.Error(EnumExtensions.GetDescription(DbReturnValue.UpdationFailed)); return(Ok(new OperationResponse { HasSucceeded = false, IsDomainValidationErrors = false, Message = EnumExtensions.GetDescription(DbReturnValue.NotExists), ReturnedObject = response.Results })); } } catch (Exception ex) { Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.ServerError, StatusCode = ((int)ResponseStatus.ServerError).ToString(), IsDomainValidationErrors = false })); } }
public async Task <DatabaseResponse> WhiteListUrl(WhiteListUrl request, int id) { try { SqlParameter[] parameters = { new SqlParameter("@Id", SqlDbType.Decimal), new SqlParameter("@VerifiedBy", SqlDbType.Int), new SqlParameter("@IsApproved", SqlDbType.Bit), new SqlParameter("@RejectedReason", SqlDbType.NVarChar), new SqlParameter("@EmailUrl", SqlDbType.NVarChar) }; parameters[0].Value = id; parameters[1].Value = request.VerifiedBy; parameters[2].Value = request.IsApproved; parameters[3].Value = request.RejectedReason; parameters[4].Value = request.EmailUrl; _DataHelper = new DataAccessHelper("VerifyWhiteListingRequest", parameters, _configuration); DataTable dt = new DataTable(); int result = await _DataHelper.RunAsync(dt); UserEmail userEmail = null; if (result == (int)DbReturnValue.UpdateSuccess) { if (dt.Rows.Count > 0) { userEmail = new UserEmail(); userEmail.Email = Convert.ToString(dt.Rows[0]["Email"]); int portalLanguageId = Convert.ToInt32(dt.Rows[0]["PortalLanguageId"]); string text = string.Empty; string buttonText = string.Empty; if (request.IsApproved) { //approved if (portalLanguageId == 2) { text = "Your requested URL has been whitelisted. Click below button to view"; buttonText = "URL Approved"; userEmail.Subject = "URL has been whitelisted"; } else { text = "الرابط المرسل من قبلكم أصبح ضمن قائمة الروابط المعتمدة في منصة منارة، الرجاء الضغط على الرابط أدناه للعرض"; buttonText = "الرابط المعتمد"; userEmail.Subject = "تمت الموافقة على طلب اعتماد الرابط المرسل من قبلكم"; } userEmail.Body = Emailer.CreateEmailBody(Convert.ToString(dt.Rows[0]["UserName"]), request.EmailUrl, text, buttonText, portalLanguageId, _configuration); } else { if (portalLanguageId == 2) { text = "Your requested URL has been rejected due to " + request.RejectedReason + ". Click below button to view"; buttonText = "View URL Rejected"; userEmail.Subject = "URL has been rejected"; } else { text = "لقد تم رفض اعتماد الرابط الذي طلبته ليكون من ضمن قائمة الروابط المعتمدة في منصة منارة بسبب .<br><br>" + request.RejectedReason + ""; buttonText = "عرض الرابط المرفوض"; userEmail.Subject = "لقد تم رفض اعتماد الرابط الذي طلبته ليكون من ضمن قائمة الروابط المعتمدة في منصة"; } userEmail.Body = Emailer.CreateEmailBody(Convert.ToString(dt.Rows[0]["UserName"]), request.EmailUrl, text, buttonText, portalLanguageId, _configuration); } } await Emailer.SendEmailAsync(userEmail, _configuration); } return(new DatabaseResponse { ResponseCode = result }); } catch (Exception ex) { Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); throw; } finally { _DataHelper.Dispose(); } }