コード例 #1
0
        private ClassDisplayModel BuildModel(classes classEntity)
        {
            if (classEntity == null)
            {
                return(null);
            }
            else
            {
                ClassDisplayModel classmodel = new ClassDisplayModel();
                classmodel.Id        = classEntity.class_id;
                classmodel.Name      = classEntity.class_name;
                classmodel.LastCount = classEntity.last_count;
                classmodel.TypeId    = classEntity.class_type;
                classmodel.TypeName  = classEntity.parentClassTypes.name;
                if (classEntity.start_date.HasValue)
                {
                    classmodel.StartDate = classEntity.start_date.Value.ToString("yyyy-MM-dd");
                }
                else
                {
                    classmodel.StartDate = "1900-01-01";
                }
                if (classEntity.end_date.HasValue)
                {
                    classmodel.EndDate = classEntity.end_date.Value.ToString("yyyy-MM-dd");
                }
                else
                {
                    classmodel.EndDate = "1900-01-01";
                }
                classmodel.IsActive = classEntity.is_active;

                return(classmodel);
            }
        }
コード例 #2
0
ファイル: ClassTypeService.cs プロジェクト: wpmyj/LC
        private IList <ClassTypeModel> BuildModelList(List <class_types> classTypes, bool withClasses = false)
        {
            if (classTypes == null)
            {
                return(null);
            }
            else
            {
                IList <ClassTypeModel> moduledisplays = new List <ClassTypeModel>();
                foreach (class_types classtypes in classTypes)
                {
                    ClassTypeModel moduledisplay = BuildModel(classtypes);
                    if (withClasses)
                    {
                        moduledisplay.classDisplayModels = new List <ClassDisplayModel>();
                        foreach (classes cs in classtypes.subclasses)
                        {
                            if (cs.is_active)
                            {
                                ClassDisplayModel cdm = new ClassDisplayModel();
                                cdm.Id        = cs.class_id;
                                cdm.Name      = cs.class_name;
                                cdm.LastCount = cs.last_count;
                                moduledisplay.classDisplayModels.Add(cdm);
                            }
                        }
                    }

                    moduledisplays.Add(moduledisplay);
                }
                return(moduledisplays);
            }
        }
コード例 #3
0
        private async void gvStudent_Filtered(object sender, Telerik.Windows.Controls.GridView.GridViewFilteredEventArgs e)
        {
            ClassDisplayModel cdm = this.ClassTypeTree.SelectedItem as ClassDisplayModel;

            if (cdm != null)
            {
                await bindStudentListByClass(cdm.Id);
            }
        }
コード例 #4
0
        //private async void ckShowAllStudents_Checked(object sender, RoutedEventArgs e)
        //{
        //    if (ckShowAllStudents.IsChecked == true)
        //    {
        //        this.gvStudent.ItemsSource = null;
        //        this.gvStudent.Items.Clear();
        //        await bindStudentList();
        //    }
        //    else
        //    {
        //        this.gvStudent.ItemsSource = null;
        //        this.gvStudent.Items.Clear();
        //    }
        //}

        private async void ClassTypeTree_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ClassDisplayModel cdm = this.ClassTypeTree.SelectedItem as ClassDisplayModel;

            if (cdm != null)
            {
                await bindStudentListByClass(cdm.Id);
            }
        }
コード例 #5
0
        private async void btnUpdateMenu_Click(object sender, RoutedEventArgs e)
        {
            ClassDisplayModel cdm        = this.ClassTypeTree.SelectedItem as ClassDisplayModel;
            List <int>        studentIds = new List <int>();

            foreach (var item in this.gvStudent.SelectedItems)
            {
                studentIds.Add((item as StudentDisplayModel).Id);
            }
            IAsyncProxy <IClassesService> _classAyncProxy = await Task.Run(() => ServiceHelper.GetClassService());

            //await _classAyncProxy.CallAsync(c => c.UpdateClassStudents(cdm.Id,studentIds));
            classStudentIds = classStudentIds.Distinct().ToList();
            await _classAyncProxy.CallAsync(c => c.UpdateClassStudents(cdm.Id, classStudentIds));
        }
コード例 #6
0
        private async void UpdateClass_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            ClassDisplayModel selectClass = this.gvClasses.SelectedItem as ClassDisplayModel;

            if (selectClass != null)
            {
                string strErrorMsg = string.Empty;
                try
                {
                    EditClassWindow newClassWindow = new EditClassWindow();
                    newClassWindow.ClassId = selectClass.Id;
                    newClassWindow.Om      = OperationMode.EditMode;

                    if (newClassWindow.ShowDialog() == true)
                    {
                        await bindClassList();
                    }
                }
                catch (TimeoutException timeProblem)
                {
                    strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
                }
                catch (FaultException <LCFault> af)
                {
                    strErrorMsg = af.Detail.Message;
                }
                catch (FaultException unknownFault)
                {
                    strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
                }
                catch (CommunicationException commProblem)
                {
                    strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
                }
                catch (Exception ex)
                {
                    strErrorMsg = ex.Message;
                }
                if (strErrorMsg != string.Empty)
                {
                    await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "更新班级失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
                }
            }
        }
コード例 #7
0
        private async void DeleteClass_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (gvClasses.SelectedItem == null)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "请选择需要删除的班级!", MessageDialogStyle.Affirmative, null);

                return;
            }

            MessageDialogResult delResult = await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "确定删除该班级吗?", MessageDialogStyle.AffirmativeAndNegative, null);

            if (delResult == MessageDialogResult.Affirmative)
            {
                ClassDisplayModel selectClass = this.gvClasses.SelectedItem as ClassDisplayModel;

                if (selectClass != null)
                {
                    string strErrorMsg = string.Empty;
                    try
                    {
                        IAsyncProxy <IClassesService> classAyncProxy = await Task.Run(() => ServiceHelper.GetClassService());

                        if (selectClass.Id != 0)
                        {
                            //删除已经存在于数据库的数据,对于没有存于数据库的,则事件处理完成时都会刷新列表,故不用处理
                            bool blIsSuccess = await classAyncProxy.CallAsync(c => c.DeleteById(selectClass.Id));

                            if (blIsSuccess == true)
                            {
                                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "删除班级成功!", MessageDialogStyle.Affirmative, null);
                            }
                        }

                        await bindClassList();
                    }
                    catch (TimeoutException timeProblem)
                    {
                        strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
                    }
                    catch (FaultException <LCFault> af)
                    {
                        strErrorMsg = af.Detail.Message;
                    }
                    catch (FaultException unknownFault)
                    {
                        strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
                    }
                    catch (CommunicationException commProblem)
                    {
                        strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
                    }
                    catch (Exception ex)
                    {
                        strErrorMsg = ex.Message;
                    }
                    if (strErrorMsg != string.Empty)
                    {
                        await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "删除班级失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
                    }
                }
            }
        }