public async Task <List <GetBannerDto> > GetBannerByMerchant(MerchantBannerDto MerchantBannerDto) { DateTime Presentdate = Convert.ToDateTime(GetPresentdate); var getBannerlist = (from s in this.Repository select new { s.Id, s.MerchantID, s.Merchant.Name, s.Merchant.Email, MerchantStatus = s.Merchant.Users.Status, s.Country, s.EnglishImage, s.ArabicImage, s.BannerURL, s.BannerDescription, s.Status, s.StartDate, s.EndDate, }).Where(m => m.Email == MerchantBannerDto.MerchantEmail).OrderBy(m => m.StartDate).ToList(); DateTime Timezone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(Presentdate, TimeZoneInfo.Local.Id, MerchantBannerDto.CountryTimezone); if (MerchantBannerDto.Type == "A") { getBannerlist = getBannerlist.Where(m => m.Status.Equals(1) && m.MerchantStatus.Equals(1)) .Where(m => m.EndDate >= Timezone).ToList(); } else { getBannerlist = getBannerlist.Where(m => m.MerchantStatus.Equals(1)) .Where(m => m.EndDate <= Timezone).ToList(); } List <GetBannerDto> Bannerlist = new List <GetBannerDto>(); foreach (var Banner in getBannerlist) { GetBannerDto BannerDto = new GetBannerDto(); BannerDto.BannerId = Banner.Id; BannerDto.MerchantId = Banner.MerchantID; BannerDto.MerchantName = Banner.Name; BannerDto.Countries = Banner.Country; BannerDto.EnglishImage = Banner.EnglishImage; BannerDto.ArabicImage = Banner.ArabicImage; BannerDto.BannerURL = Banner.BannerURL; BannerDto.BannerDescription = Banner.BannerDescription; BannerDto.StartDate = Banner.StartDate; BannerDto.EndDate = Banner.EndDate; BannerDto.Status = Banner.Status; Bannerlist.Add(BannerDto); } return(Bannerlist.ToList()); }
public async Task <List <GetBannerDto> > GetAllBanner(string Ipcountry, string CountryTimezone) { DateTime Presentdate = Convert.ToDateTime(GetPresentdate); var getBannerlist = (from s in this.Repository select new { s.Id, s.MerchantID, s.Merchant.Name, s.Merchant.Email, MerchantStatus = s.Merchant.Users.Status, s.Country, s.EnglishImage, s.ArabicImage, s.BannerURL, s.BannerDescription, s.Status, s.StartDate, s.EndDate, s.MerchantBanner, s.TimeZone, }).Where(m => m.Status.Equals(1) && m.MerchantStatus.Equals(1)) .OrderBy(m => m.StartDate).ToList(); List <GetBannerDto> Bannerlist = new List <GetBannerDto>(); if (Ipcountry.ToUpper() != "NULL" && CountryTimezone.ToUpper() != "NULL") { int countryID = await _LookupTypeValuesService.GetCountryID(Ipcountry); DateTime Timezone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(Presentdate, TimeZoneInfo.Local.Id, CountryTimezone); if (getBannerlist.Count > 0) { foreach (var Banner in getBannerlist) { DateTime StartTimezone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(Banner.StartDate, Banner.TimeZone, CountryTimezone); DateTime ENDTimezone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(Banner.EndDate, Banner.TimeZone, CountryTimezone); if (StartTimezone <= Timezone && ENDTimezone >= Timezone) { int BannerCountries = 0; foreach (var MerchantBanner in Banner.MerchantBanner) { if (MerchantBanner.CountryID == countryID) { BannerCountries++; } } if (BannerCountries > 0) { GetBannerDto BannerDto = new GetBannerDto(); BannerDto.BannerId = Banner.Id; BannerDto.MerchantId = Banner.MerchantID; BannerDto.MerchantName = Banner.Name; BannerDto.Countries = Banner.Country; BannerDto.EnglishImage = Banner.EnglishImage; BannerDto.ArabicImage = Banner.ArabicImage; BannerDto.BannerURL = Banner.BannerURL; if (!string.IsNullOrEmpty(Banner.BannerURL)) { if (Banner.BannerURL.ToUpper().Contains("HTTP") || Banner.BannerURL.ToUpper().Contains("HTTPS")) { BannerDto.BannerURL = Banner.BannerURL; } else { BannerDto.BannerURL = "http://" + Banner.BannerURL; } } BannerDto.BannerDescription = Banner.BannerDescription; BannerDto.StartDate = Banner.StartDate; BannerDto.EndDate = Banner.EndDate; BannerDto.Status = Banner.Status; Bannerlist.Add(BannerDto); } } } } } return(Bannerlist.ToList()); }