Esempio n. 1
0
        void createClassCommand(object obj)
        {
            UICourseLevel model = obj as UICourseLevel;

            Mixed.Dialog.CreateClassWindow win = new Mixed.Dialog.CreateClassWindow();
            win.Closed += (s, arg) =>
            {
                if (win.DialogResult.Value)
                {
                    var has = model.Classes.Any(c =>
                    {
                        return(win.Classes.Any(cc => cc.Equals(c.Name)));
                    });

                    if (has)
                    {
                        var result = this.ShowDialog("提示信息", "存在相同班级,是否继续添加", CustomControl.Enums.DialogSettingType.OkAndCancel, CustomControl.Enums.DialogType.Warning);
                        if (result != CustomControl.Enums.DialogResultType.OK)
                        {
                            return;
                        }
                    }
                    foreach (var c in win.Classes)
                    {
                        var courseLevels = (from l in this.CourseLevels from cl in l.Classes select cl)?.ToList();
                        var classID      = courseLevels.Count == 0 ? 0 : courseLevels.Max(cc => Convert.ToInt64(cc.ID));

                        UIClass uiClass = new UIClass()
                        {
                            ID       = (classID + 1).ToString(),
                            CourseID = model.CourseID,
                            Name     = c,
                            Capacity = win.Capacity,
                            LevelID  = model.LevelID
                        };
                        model.Classes.Add(uiClass);
                        model.RaiseChanged();
                    }

                    this.RaisePropertyChanged(() => ShowUniform);
                }
            };
            win.ShowDialog();
        }