public static long GetQuantityBranchByYear(BranchQuantityKeys key, int year) { if (Memory.DicBranchQuantity.ContainsKey(year)) { if (Memory.DicBranchQuantity[year].ContainsKey(key)) { return(Memory.DicBranchQuantity[year][key].Quantity); } } return(0); }
public static BranchQuantity GetBranchQuantityByDoubleKey(int year, BranchQuantityKeys key) { if (!EntityDic.BranchQuantityDic.ContainsKey(year)) { return(null); } if (!EntityDic.BranchQuantityDic[year].ContainsKey(key)) { return(null); } return(EntityDic.BranchQuantityDic[year][key].Clone() as BranchQuantity); }
public static void Set(BranchQuantity branchQuantity) { var key = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, SexId = branchQuantity.SexId, JobId = branchQuantity.JobId, AgeId = branchQuantity.AgeId }; if (!Memory.DicBranchQuantity.ContainsKey(branchQuantity.Year)) { Memory.DicBranchQuantity[branchQuantity.Year] = new Dictionary <BranchQuantityKeys, BranchQuantity>(); } Memory.DicBranchQuantity[branchQuantity.Year][key] = branchQuantity; }
public static void UpdateBranchQuantity(List <BranchQuantity> listData) { foreach (var branchQuantity in listData) { EntityCollection.BranchQuantityCollection.Update(branchQuantity); //update to ram var key = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, AgeId = branchQuantity.AgeId, JobId = branchQuantity.JobId, SexId = branchQuantity.SexId }; EntityDic.BranchQuantityDic[branchQuantity.Year][key] = branchQuantity; } }
public static void Remove(BranchQuantity branchQuantity) { var key = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, SexId = branchQuantity.SexId, JobId = branchQuantity.JobId, AgeId = branchQuantity.AgeId }; if (Memory.DicBranchQuantity.ContainsKey(branchQuantity.Year)) { if (Memory.DicBranchQuantity[branchQuantity.Year].ContainsKey(key)) { Memory.DicBranchQuantity[branchQuantity.Year].Remove(key); } } }
public static void LoadBranchQuantity() { var listBranchQuantity = EntityCollection.BranchQuantityCollection.ToList(); foreach (var branchQuantity in listBranchQuantity) { var key = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, AgeId = branchQuantity.AgeId, JobId = branchQuantity.JobId, SexId = branchQuantity.SexId }; if (!BranchQuantityDic.ContainsKey(branchQuantity.Year)) { BranchQuantityDic[branchQuantity.Year] = new Dictionary <BranchQuantityKeys, BranchQuantity>(); } BranchQuantityDic[branchQuantity.Year][key] = branchQuantity; } }
public static BranchQuantity CheckExistBranchQuantity(BranchQuantity branchQuantity) { if (!EntityDic.BranchQuantityDic.ContainsKey(branchQuantity.Year)) { return(null); } BranchQuantityKeys key = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, AgeId = branchQuantity.AgeId, SexId = branchQuantity.SexId, JobId = branchQuantity.JobId }; if (EntityDic.BranchQuantityDic[branchQuantity.Year].ContainsKey(key)) { return(EntityDic.BranchQuantityDic[branchQuantity.Year][key].Clone() as BranchQuantity); } return(null); }
public static void InsertBranchQuantity(List <BranchQuantity> listData) { foreach (var branchQuantity in listData) { EntityCollection.BranchQuantityCollection.Add(branchQuantity); //add to memory ram if (!EntityDic.BranchQuantityDic.ContainsKey(branchQuantity.Year)) { EntityDic.BranchQuantityDic[branchQuantity.Year] = new Dictionary <BranchQuantityKeys, BranchQuantity>(); } var key = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, AgeId = branchQuantity.AgeId, JobId = branchQuantity.JobId, SexId = branchQuantity.SexId }; EntityDic.BranchQuantityDic[branchQuantity.Year][key] = branchQuantity; } }
public static void AddAreaQuantity() { MongoRepository <Area> areas = new MongoRepository <Area>(); MongoRepository <Branch> branches = new MongoRepository <Branch>(); MongoRepository <Age> ages = new MongoRepository <Age>(); MongoRepository <Sex> sexs = new MongoRepository <Sex>(); MongoRepository <Job> jobs = new MongoRepository <Job>(); List <BranchQuantity> branchQuantities = new MongoRepository <BranchQuantity>().ToList(); Dictionary <BranchQuantityKeys, BranchQuantity> branchQuantitiesDic = new Dictionary <BranchQuantityKeys, BranchQuantity>(); foreach (var branchQuantity in branchQuantities) { var keys = new BranchQuantityKeys { BranchId = branchQuantity.BranchId, AgeId = branchQuantity.AgeId, SexId = branchQuantity.SexId, JobId = branchQuantity.JobId }; branchQuantitiesDic[keys] = branchQuantity; } MongoRepository <AreaQuantity> areaQuantities = new MongoRepository <AreaQuantity>(); var year = 2016; foreach (var area in areas) { var listBranch = branches.ToList().Where(p => p.AreaId.ToString() == area.Id).ToList(); foreach (var age in ages) { foreach (var sex in sexs) { foreach (var job in jobs) { long total = 0; foreach (var branch in listBranch) { var key = new BranchQuantityKeys { BranchId = branch.Id, AgeId = age.Id, SexId = sex.Id, JobId = job.Id }; if (branchQuantitiesDic.ContainsKey(key)) { total += branchQuantitiesDic[key].Quantity; } } AreaQuantity areaQuantity = new AreaQuantity { AreaId = area.Id, AgeId = age.Id, SexId = sex.Id, JobId = job.Id, Year = year, Quantity = total }; areaQuantities.Add(areaQuantity); } } } } }
public static void UpdateAreaQuantity(List <int> listYear) { var areas = GetAllArea(); var ages = GetAllAge(); var sexs = GetAllSex(); var jobs = GetAllJob(); foreach (var year in listYear) { foreach (var area in areas) { var branches = GetBranchesInArea(area.Id); foreach (var age in ages) { foreach (var sex in sexs) { foreach (var job in jobs) { long total = 0; foreach (var branch in branches) { var key = new BranchQuantityKeys { BranchId = branch.Id, AgeId = age.Id, SexId = sex.Id, JobId = job.Id }; var branchQuantity = GetBranchQuantityByDoubleKey(year, key); if (branchQuantity != null) { total += branchQuantity.Quantity; } } AreaQuantity areaQuantity = new AreaQuantity { AreaId = area.Id, AgeId = age.Id, SexId = sex.Id, JobId = job.Id, Year = year, Quantity = total }; var listInsert = new List <AreaQuantity>(); var listUpdate = new List <AreaQuantity>(); var checkAreaQuantity = CheckExistAreaQuantity(areaQuantity); if (checkAreaQuantity == null) { if (areaQuantity.Quantity > 0) { listInsert.Add(areaQuantity); } } else { areaQuantity.Id = checkAreaQuantity.Id; listUpdate.Add(areaQuantity); } if (listInsert.Count > 0) { InsertAreaQuantity(listInsert); } if (listUpdate.Count > 0) { UpdateAreaQuantity(listUpdate); } } } } } } }