Ejemplo n.º 1
0
        private static void ManageProductAccess(DateTime dtNow, List <ProductDailyAccessStatisticsInfo> ProductStatisticlst, AccessRecordModel AccessRecord, IList <SourceIpRecordsInfo> IpLst, List <SourceIpRecordsInfo> NewIpLst)
        {
            ProductDailyAccessStatisticsInfo productDailyAccessStatisticsInfo = ProductStatisticlst.FirstOrDefault((ProductDailyAccessStatisticsInfo c) => c.ProductId == AccessRecord.ProductId && c.ActivityType == AccessRecord.ActivityType);
            bool flag  = true;
            bool flag2 = true;

            if (IpLst.Count((SourceIpRecordsInfo c) => c.SourceIP == AccessRecord.IpAddress && c.ProductId == AccessRecord.ProductId && c.PageType == 3) == 0 && NewIpLst.Count((SourceIpRecordsInfo c) => c.SourceIP == AccessRecord.IpAddress && c.ProductId == AccessRecord.ProductId && c.PageType == 3) == 0)
            {
                SourceIpRecordsInfo sourceIpRecordsInfo = new SourceIpRecordsInfo();
                sourceIpRecordsInfo.ProductId  = AccessRecord.ProductId;
                sourceIpRecordsInfo.RecordDate = dtNow.Date;
                sourceIpRecordsInfo.SourceIP   = AccessRecord.IpAddress;
                sourceIpRecordsInfo.PageType   = 3;
                NewIpLst.Add(sourceIpRecordsInfo);
                flag2 = false;
            }
            if (productDailyAccessStatisticsInfo == null)
            {
                productDailyAccessStatisticsInfo                 = new ProductDailyAccessStatisticsInfo();
                productDailyAccessStatisticsInfo.Day             = dtNow.Day;
                productDailyAccessStatisticsInfo.Month           = dtNow.Month;
                productDailyAccessStatisticsInfo.PaymentNum      = 0;
                productDailyAccessStatisticsInfo.ProductId       = AccessRecord.ProductId;
                productDailyAccessStatisticsInfo.PV              = 1;
                productDailyAccessStatisticsInfo.SaleAmount      = decimal.Zero;
                productDailyAccessStatisticsInfo.SaleQuantity    = 0;
                productDailyAccessStatisticsInfo.StatisticalDate = dtNow.Date;
                if (flag2)
                {
                    productDailyAccessStatisticsInfo.UV = 0;
                }
                else
                {
                    productDailyAccessStatisticsInfo.UV = 1;
                }
                productDailyAccessStatisticsInfo.Year         = dtNow.Year;
                productDailyAccessStatisticsInfo.ActivityType = AccessRecord.ActivityType;
                ProductStatisticlst.Add(productDailyAccessStatisticsInfo);
            }
            else
            {
                productDailyAccessStatisticsInfo.PV++;
                if (!flag)
                {
                    productDailyAccessStatisticsInfo.UV++;
                }
            }
        }
Ejemplo n.º 2
0
        private static void ManageAllPage(DateTime dtNow, IList <SourceIpRecordsInfo> IpLst, IList <DailyAccessStatisticsInfo> DailyLst, List <SourceIpRecordsInfo> NewIpLst, AccessRecordModel AccessRecord)
        {
            bool flag = false;

            if (!TrafficJob.IsExiteSourceIp(IpLst, NewIpLst, AccessRecord.IpAddress, 4))
            {
                SourceIpRecordsInfo sourceIpRecordsInfo = new SourceIpRecordsInfo();
                sourceIpRecordsInfo.ProductId  = 0;
                sourceIpRecordsInfo.RecordDate = dtNow.Date;
                sourceIpRecordsInfo.SourceIP   = AccessRecord.IpAddress;
                sourceIpRecordsInfo.PageType   = 4;
                NewIpLst.Add(sourceIpRecordsInfo);
            }
            else
            {
                flag = true;
            }
            DailyAccessStatisticsInfo dailyAccessStatisticsInfo = DailyLst.FirstOrDefault((DailyAccessStatisticsInfo c) => c.PageType == 4 && c.SourceId == AccessRecord.SourceId && c.StoreId == AccessRecord.StoreId);

            if (dailyAccessStatisticsInfo != null)
            {
                dailyAccessStatisticsInfo.PV++;
                if (!flag)
                {
                    dailyAccessStatisticsInfo.UV++;
                }
            }
            else
            {
                dailyAccessStatisticsInfo                 = new DailyAccessStatisticsInfo();
                dailyAccessStatisticsInfo.Day             = dtNow.Day;
                dailyAccessStatisticsInfo.Month           = dtNow.Month;
                dailyAccessStatisticsInfo.PV              = 1;
                dailyAccessStatisticsInfo.StatisticalDate = dtNow.Date;
                if (!flag)
                {
                    dailyAccessStatisticsInfo.UV = 1;
                }
                dailyAccessStatisticsInfo.Year     = dtNow.Year;
                dailyAccessStatisticsInfo.PageType = 4;
                dailyAccessStatisticsInfo.SourceId = AccessRecord.SourceId;
                dailyAccessStatisticsInfo.StoreId  = AccessRecord.StoreId;
                DailyLst.Add(dailyAccessStatisticsInfo);
            }
        }
Ejemplo n.º 3
0
        private static void ManageDailyAcesssRecords(DateTime dtNow, IList <SourceIpRecordsInfo> IpLst, IList <DailyAccessStatisticsInfo> DailyLst, List <SourceIpRecordsInfo> NewIpLst, AccessRecordModel AccessRecord, List <ProductDailyAccessStatisticsInfo> ProductStatisticlst)
        {
            TrafficJob.ManageAllPage(dtNow, IpLst, DailyLst, NewIpLst, AccessRecord);
            bool flag = TrafficJob.IsExiteSourceIp(IpLst, NewIpLst, AccessRecord.IpAddress, AccessRecord.PageType);

            if (AccessRecord.ProductId > 0 && AccessRecord.PageType == 3)
            {
                DailyAccessStatisticsInfo dailyAccessStatisticsInfo = DailyLst.FirstOrDefault((DailyAccessStatisticsInfo c) => c.SourceId == AccessRecord.SourceId && c.PageType == AccessRecord.PageType && c.StoreId == AccessRecord.StoreId);
                if (dailyAccessStatisticsInfo != null)
                {
                    dailyAccessStatisticsInfo.PV++;
                    if (!flag)
                    {
                        dailyAccessStatisticsInfo.UV++;
                    }
                    dailyAccessStatisticsInfo.StoreId = AccessRecord.StoreId;
                }
                else
                {
                    dailyAccessStatisticsInfo                 = new DailyAccessStatisticsInfo();
                    dailyAccessStatisticsInfo.Day             = dtNow.Day;
                    dailyAccessStatisticsInfo.Month           = dtNow.Month;
                    dailyAccessStatisticsInfo.PV              = 1;
                    dailyAccessStatisticsInfo.StatisticalDate = dtNow.Date;
                    if (!flag)
                    {
                        dailyAccessStatisticsInfo.UV = 1;
                    }
                    dailyAccessStatisticsInfo.Year     = dtNow.Year;
                    dailyAccessStatisticsInfo.PageType = AccessRecord.PageType;
                    dailyAccessStatisticsInfo.SourceId = AccessRecord.SourceId;
                    dailyAccessStatisticsInfo.StoreId  = AccessRecord.StoreId;
                    DailyLst.Add(dailyAccessStatisticsInfo);
                }
                TrafficJob.ManageProductAccess(dtNow, ProductStatisticlst, AccessRecord, IpLst, NewIpLst);
            }
            else
            {
                if (!flag)
                {
                    SourceIpRecordsInfo sourceIpRecordsInfo = new SourceIpRecordsInfo();
                    sourceIpRecordsInfo.ProductId  = 0;
                    sourceIpRecordsInfo.RecordDate = dtNow.Date;
                    sourceIpRecordsInfo.SourceIP   = AccessRecord.IpAddress;
                    sourceIpRecordsInfo.PageType   = AccessRecord.PageType;
                    NewIpLst.Add(sourceIpRecordsInfo);
                }
                DailyAccessStatisticsInfo dailyAccessStatisticsInfo2 = DailyLst.FirstOrDefault((DailyAccessStatisticsInfo c) => c.SourceId == AccessRecord.SourceId && c.PageType == AccessRecord.PageType && c.StoreId == AccessRecord.StoreId);
                if (dailyAccessStatisticsInfo2 != null)
                {
                    dailyAccessStatisticsInfo2.PV++;
                    if (!flag)
                    {
                        dailyAccessStatisticsInfo2.UV++;
                    }
                    dailyAccessStatisticsInfo2.StoreId = AccessRecord.StoreId;
                }
                else
                {
                    dailyAccessStatisticsInfo2                 = new DailyAccessStatisticsInfo();
                    dailyAccessStatisticsInfo2.Day             = dtNow.Day;
                    dailyAccessStatisticsInfo2.Month           = dtNow.Month;
                    dailyAccessStatisticsInfo2.PV              = 1;
                    dailyAccessStatisticsInfo2.StatisticalDate = dtNow.Date;
                    if (!flag)
                    {
                        dailyAccessStatisticsInfo2.UV = 1;
                    }
                    dailyAccessStatisticsInfo2.Year     = dtNow.Year;
                    dailyAccessStatisticsInfo2.PageType = AccessRecord.PageType;
                    dailyAccessStatisticsInfo2.SourceId = AccessRecord.SourceId;
                    dailyAccessStatisticsInfo2.StoreId  = AccessRecord.StoreId;
                    DailyLst.Add(dailyAccessStatisticsInfo2);
                }
            }
        }