void LoadUseRemindComplete(object sender, EventArgs e) { UserRemindEntityDicationary.Clear(); LoadOperation loadOperation = sender as LoadOperation; foreach (user_remind user_remind in loadOperation.Entities) { UserRemindEntity lUserRemindEntity = new UserRemindEntity(); lUserRemindEntity.UserRemind = user_remind; lUserRemindEntity.Update(); UserRemindEntityDicationary.Add(lUserRemindEntity.ManufactureNumber, lUserRemindEntity); } LoadOperation <ProductManager.Web.Model.project> LoadOperationProject = productDomainContext.Load <ProductManager.Web.Model.project>(productDomainContext.GetProjectQuery()); LoadOperationProject.Completed += loadOperationProject_Completed; }
private void LoadOperationPlanCompleted(LoadOperation <plan> aLoadOperation) { planRemindList.Clear(); App app = Application.Current as App; planRemindList = new ObservableCollection <PlanEntity>(); if (null != app.UserInfo) { string userName = app.UserInfo.UserName; IEnumerable <string> project_responsibles_MN = from c in productDomainContext.project_responsibles where c.responsible_persionName == app.UserInfo.UserName || (app.UserInfo.IsManager ? c.department_id == app.UserInfo.DepartmentID : false) select c.manufacture_number; if (0 != project_responsibles_MN.Count()) { foreach (string itemMN in project_responsibles_MN) { IEnumerable <project> projects = from c in planManagerDomainContext.projects where c.manufacture_number == itemMN select c; if (0 == projects.Count()) { continue; } project projectInfo = projects.First <project>(); if (string.IsNullOrEmpty(projectInfo.plan_version_id) || (projectInfo.isdelete.HasValue && projectInfo.isdelete.Value)) { continue; } ProjectEntity projectDetail = new ProjectEntity(); projectDetail.Project = projectInfo; projectDetail.Update(); UserRemindEntity lUserRemindEntity; if (UserRemindEntityDicationary.TryGetValue(projectDetail.ManufactureNumber, out lUserRemindEntity)) { projectDetail.UserRemindEntity = lUserRemindEntity; } IEnumerable <string> respUserName = from c in productDomainContext.project_responsibles where c.manufacture_number == itemMN && c.department_id == app.UserInfo.DepartmentID select c.responsible_persionName; String respUserNameString = respUserName.First(); IEnumerable <plan> plans; if (app.UserInfo.DepartmentID != 1000) { plans = from c in planManagerDomainContext.plans where c.manufacture_number == itemMN && c.department_id == app.UserInfo.DepartmentID && c.version_id == projectInfo.plan_version_id select c; } else { plans = from c in planManagerDomainContext.plans where c.manufacture_number == itemMN && c.version_id == projectInfo.plan_version_id select c; } //IEnumerable<plan> plans = from c in planManagerDomainContext.plans // where c.manufacture_number == itemMN && c.department_id == app.UserInfo.DepartmentID // && c.version_id == projectInfo.plan_version_id // select c; foreach (plan planItem in plans) { if (planItem.accomplish_date.HasValue) { continue; } int remindDay = ("设计节点" == planItem.sheet_name) ? projectDetail.RemindDayDesign : (("采购节点" == planItem.sheet_name) ? projectDetail.RemindDayPurchase : projectDetail.RemindDayProduce); Nullable <DateTime> targetDateTime = planItem.target_date_adjustment2.HasValue ? planItem.target_date_adjustment2.Value : (planItem.target_date_adjustment1.HasValue ? planItem.target_date_adjustment1.Value : planItem.target_date); if (!targetDateTime.HasValue) { continue; } DateTime currentDateTime = DateTime.Now; TimeSpan difference = targetDateTime.Value - currentDateTime; if (difference.Days > remindDay) { continue; } PlanEntity planEntity = new PlanEntity(); planEntity.Plan = planItem; planEntity.Update(); planEntity.Plan = null; planEntity.PlanRemindDay = remindDay; planEntity.ProjectName = projectInfo.project_name; planEntity.TargetDate = targetDateTime.Value; planEntity.RespUserName = respUserNameString; string getDepartmentName; if (departmentIdNameDictionary.TryGetValue(planEntity.DepartmentId, out getDepartmentName)) { planEntity.DepartmentName = getDepartmentName; } planRemindList.Add(planEntity); } } } } UpdateChanged("planRemindList"); IsBusy = false; }