コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }