public async Task <IActionResult> Post([FromBody] WhiteListingRequest 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.RequestWhitelisting(request);

                if (response.ResponseCode == (int)DbReturnValue.CreateSuccess)
                {
                    return(Ok(new OperationResponse
                    {
                        HasSucceeded = true,
                        IsDomainValidationErrors = false,
                        Message = EnumExtensions.GetDescription(DbReturnValue.CreateSuccess),
                        ReturnedObject = response.Results
                    }));
                }
                else
                {
                    Log.Error(EnumExtensions.GetDescription(DbReturnValue.CreationFailed));

                    return(Ok(new OperationResponse
                    {
                        HasSucceeded = false,
                        IsDomainValidationErrors = false,
                        Message = EnumExtensions.GetDescription(DbReturnValue.RecordExists),
                        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> RequestWhitelisting(WhiteListingRequest request)
        {
            try
            {
                SqlParameter[] parameters =
                {
                    new SqlParameter("@URL",         SqlDbType.NVarChar),

                    new SqlParameter("@RequestedBy", SqlDbType.Int)
                };
                parameters[0].Value = request.URL;

                parameters[1].Value = request.RequestedBy;

                _DataHelper = new DataAccessHelper("CreateWhiteListingRequest", parameters, _configuration);

                DataTable dt = new DataTable();

                int result = await _DataHelper.RunAsync(dt);

                List <WhiteListingURLsIncludingId> whiteListingURL = new List <WhiteListingURLsIncludingId>();

                if (dt != null && dt.Rows.Count > 0)
                {
                    whiteListingURL = (from model in dt.AsEnumerable()
                                       select new WhiteListingURLsIncludingId()
                    {
                        Id = model.Field <decimal>("Id"),
                        RequestedBy = model.Field <string>("RequestedBy"),
                        RequestedOn = model.Field <DateTime>("RequestedOn"),
                        URL = model.Field <string>("URL"),
                        VerifiedBy = model.Field <string>("VerifiedBy"),
                        VerifiedOn = model.Field <DateTime?>("VerifiedOn") == null ? null : model.Field <DateTime?>("VerifiedOn"),
                        IsApproved = model.Field <bool>("IsApproved"),
                        RejectedReason = model.Field <string>("RejectedReason")
                                         // VerifiedById = model.Field<int?>("VerifiedById")
                    }).ToList();
                }

                return(new DatabaseResponse {
                    ResponseCode = result, Results = whiteListingURL
                });
            }

            catch (Exception ex)
            {
                Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical));
                throw;
            }
            finally
            {
                _DataHelper.Dispose();
            }
        }