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++; } } }
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); } }
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); } } }