예제 #1
0
        /// <summary>
        /// 增加/修改班级信息
        /// </summary>
        /// <param name="operation"></param>
        /// <param name="model"></param>
        public void OperateClassInfo(OperationType operation, BlockClassModel model)
        {
            string classID;
            int    classSerial;
            int    newIndex = 0;

            switch (operation)
            {
            case OperationType.Add:
                _dal.Add(model, out classID, out classSerial);
                model.ClassID     = classID;
                model.ClassSerial = classSerial;

                BlockClassCollection.Add(model);

                break;

            case OperationType.Update:
                _dal.Update(model, out classSerial);
                model.ClassSerial = classSerial;

                BlockClassCollection[BlockClassCollection.IndexOf(BlockClassCollection.Where(c => c.ClassID == model.ClassID).First())] = model;

                break;
            }
            BlockClassCollection.Sort();
            newIndex = BlockClassCollection.IndexOf(model);
            BlockClassChangedEvent?.Invoke(operation, model, newIndex);
        }
예제 #2
0
        private void Enable(OperationType operation, BlockClassModel model)
        {
            if (operation == OperationType.Add || operation == OperationType.Update)
            {
                switch (operation)
                {
                case OperationType.Add:
                    Title             = "增加独舞班";
                    SelectedYear      = string.Empty;
                    SelectedTeacher   = string.Empty;
                    CostPerTerm       = string.Empty;
                    SelectedClassType = string.Empty;
                    ClassSeason       = -1;
                    break;

                case OperationType.Update:
                    Title             = "修改独舞班";
                    SelectedYear      = model.ClassYear.ToString();
                    SelectedTeacher   = model.TeacherName;
                    CostPerTerm       = model.CostPerTerm.ToString();
                    ClassSeason       = model.ClassSeason;
                    SelectedClassType = BlockClassType.Instance.BlockClassTypeCollection.Where(t => t.Type == model.ClassType).First().Name;
                    break;
                }
                _operation = operation;
                _model     = model ?? new BlockClassModel();
                HideErr();
                Vis = Visibility.Visible;
            }
        }
예제 #3
0
        public bool Update(BlockClassModel model, out int classSerial)
        {
            int rowsAffected;

            SqlParameter[] parameters =
            {
                new SqlParameter("@ClassID",     SqlDbType.VarChar, 50),
                new SqlParameter("@TeacherID",   SqlDbType.VarChar, 50),
                new SqlParameter("@CostPerTerm", SqlDbType.Decimal,  9),
                new SqlParameter("@ClassYear",   SqlDbType.Int),
                new SqlParameter("@ClassSeason", SqlDbType.Int),
                new SqlParameter("@ClassType",   SqlDbType.Int),
                new SqlParameter("@ClassSerial", SqlDbType.Int)
            };
            parameters[0].Value     = model.ClassID;
            parameters[1].Value     = model.TeacherID;
            parameters[2].Value     = model.CostPerTerm;
            parameters[3].Value     = model.ClassYear;
            parameters[4].Value     = model.ClassSeason;
            parameters[5].Value     = model.ClassType;
            parameters[6].Direction = ParameterDirection.Output;

            DbHelperSQL.RunProcedure("BlockCLassInfo_UPDATE_LK", parameters, out rowsAffected);
            classSerial = int.Parse(parameters[6].Value.ToString());
            return(true);
        }
예제 #4
0
 /// <summary>
 /// 界面通过该方法发起班级修改请求
 /// </summary>
 /// <param name="operation"></param>
 /// <param name="model"></param>
 public void RaiseChangeBlockClassEvent(OperationType operation, BlockClassModel model)
 {
     if (operation == OperationType.Update)
     {
         model = BlockClassCollection.Where(c => c.ClassID == model.ClassID).First();
     }
     ChangeBlockClassEvent?.Invoke(operation, model);
 }
 private void OnBlockClassChanged(OperationType operation, BlockClassModel model, int newIndex)
 {
     if (operation == OperationType.Add || operation == OperationType.Update)
     {
         if (operation == OperationType.Update)
         {
             Classes.Remove(Classes.Where(c => c.ClassID == model.ClassID).First());
         }
         Classes.Insert(newIndex, new ClassViewModel(model));
         Classes[newIndex].ClassOperatedEvent += OnClassOperated;
     }
 }
 public void OperateBlockClass(OperationType operation, BlockClassModel model)
 {
     _bussiness.OperateClassInfo(operation, model);
 }
 public void Enable(OperationType operation, BlockClassModel model)
 {
     OperationEnableEvent?.Invoke(operation, model);
 }