Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }