public async Task <DatabaseResponse> CreateWhitelistingAfterCheck(InsertWhiteListingUrl request)
        {
            try
            {
                SqlParameter[] parameters =
                {
                    new SqlParameter("@URL",         SqlDbType.NVarChar),
                    new SqlParameter("@RequestedBy", SqlDbType.Int),
                    new SqlParameter("@VerifiedBy",  SqlDbType.Int),
                    new SqlParameter("@IsApproved",  SqlDbType.Bit),
                    new SqlParameter("@RequestedOn", SqlDbType.DateTime),
                    new SqlParameter("@VerifiedOn",  SqlDbType.DateTime)
                };
                parameters[0].Value = request.URL;
                parameters[1].Value = request.RequestedBy;
                parameters[2].Value = request.VerifiedBy;
                parameters[3].Value = request.IsApproved;
                parameters[4].Value = request.RequestedOn;
                parameters[5].Value = request.VerifiedOn;

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

                DataTable dt     = new DataTable();
                int       result = await _DataHelper.RunAsync(dt);

                WhiteListingURLsAsID whiteListingURLs = new WhiteListingURLsAsID();

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

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

            catch (Exception ex)
            {
                Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical));
                throw;
            }
            finally
            {
                _DataHelper.Dispose();
            }
        }
        public async Task <DatabaseResponse> IsWhiteListed(string url, int requestedBy)
        {
            try
            {
                SqlParameter[] parameters =
                {
                    new SqlParameter("@URL", SqlDbType.NVarChar)
                };
                parameters[0].Value = url;
                _DataHelper         = new DataAccessHelper("UrlIsWhitelisted", 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();
                }
                WhiteListingURLsIncludingId returnUrl = new WhiteListingURLsIncludingId();
                foreach (WhiteListingURLsIncludingId urlDetail in whiteListingURL)
                {
                    if (String.Compare(returnDomain(urlDetail.URL), returnDomain(url), StringComparison.InvariantCultureIgnoreCase) == 0)
                    {
                        returnUrl = urlDetail;
                        break;
                    }
                }

                if (!String.IsNullOrEmpty(returnUrl.URL))
                {
                    InsertWhiteListingUrl whiteUrl = new InsertWhiteListingUrl
                    {
                        IsApproved  = true,
                        RequestedBy = requestedBy,
                        RequestedOn = DateTime.Now,
                        URL         = url,
                        VerifiedBy  = returnUrl.VerifiedById,
                        VerifiedOn  = DateTime.Now
                    };
                    DatabaseResponse response = await CreateWhitelistingAfterCheck(whiteUrl);

                    if (response.ResponseCode == 100)
                    {
                        response.ResponseCode = 105;
                    }
                    return(response);
                }
                return(new DatabaseResponse {
                    ResponseCode = result, Results = returnUrl
                });
            }
            catch (Exception ex)
            {
                Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical));
                throw;
            }
            finally
            {
                _DataHelper.Dispose();
            }
        }