Пример #1
0
 /// <summary>
 /// 调用下层的新增课程的方法
 /// </summary>
 protected override void ExcuteSelf()
 {
     try
     {
         _Course.Skill = new List <Skill>();
         foreach (Skill skill in _Skills)
         {
             _Course.Skill.Add(skill);
         }
         _Course.TrainFBResult                  = new TrainFBResult();
         _Course.TrainFBResult.FBPaperItem      = GetFBItem();
         _Course.TrainFBResult.TrainEmployeeFBs = new List <TrainEmployeeFB>();
         foreach (Account employee in _Employees)
         {
             TrainEmployeeFB employeeFb = new TrainEmployeeFB(null, string.Empty);
             employeeFb.Trainee = employee;
             _Course.TrainFBResult.TrainEmployeeFBs.Add(employeeFb);
         }
         _Course.Coordinator = _ItsCordinator;
         using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
         {
             _DalTrain.InsertTrainCourse(_Course);
             ts.Complete();
         }
         new AddCourseSendMail(_Employees, _Course).Excute();
     }
     catch
     {
         BllUtility.ThrowException(BllExceptionConst._DbError);
     }
 }
Пример #2
0
        /// <summary>
        /// 显示某个员工反馈项
        /// </summary>
        /// <param name="courseId"></param>
        /// <param name="employeeId"></param>
        /// <returns></returns>
        public List <TraineeFBItem> GetTraineeFBItems(int courseId, int employeeId)
        {
            _EmployeeId = employeeId;
            Course          temp       = GetTrainCourseByPKID(courseId);
            TrainEmployeeFB employeeFb = temp.TrainFBResult.TrainEmployeeFBs.Find(FindEmployeeFB);

            if (employeeFb.FBItem.Count == 0 || employeeFb.FBItem == null)
            {
                foreach (FBPaperItem item in temp.TrainFBResult.FBPaperItem)
                {
                    TraineeFBItem traineeItem = new TraineeFBItem();
                    traineeItem.FBPaperItemId = item.FBPaperItemId;
                    traineeItem.FBQuestion    = item.FBQuestion;
                    traineeItem.FBQueItems    = item.FBQueItems;
                    traineeItem.Worths        = item.Worths;
                    employeeFb.FBItem.Add(traineeItem);
                }
            }
            else
            {
                foreach (FBPaperItem item in temp.TrainFBResult.FBPaperItem)
                {
                    foreach (TraineeFBItem traineeItem in employeeFb.FBItem)
                    {
                        if (traineeItem.FBPaperItemId == item.FBPaperItemId)
                        {
                            traineeItem.FBQuestion = item.FBQuestion;
                            traineeItem.FBQueItems = item.FBQueItems;
                            traineeItem.Worths     = item.Worths;
                        }
                    }
                }
            }
            return(employeeFb.FBItem);
        }
Пример #3
0
 private bool FindEndCourse(TrainEmployeeFB fb)
 {
     try
     {
         Course course = _ITrainFacade.GetTrainCourseByPKID(fb.CourseId);
         if (course.Status == TrainStatusEnum.End)
         {
             return(true);
         }
     }
     catch (Exception ae)
     {
         _ItsView.ErrorMessage = ae.Message;
     }
     return(false);
 }
Пример #4
0
        /// <summary>
        /// 新增课程培训人员
        /// </summary>
        /// <param name="courseId"></param>
        /// <param name="courseName"></param>
        /// <param name="fb"></param>
        private static void InsertCourseTrainee(int courseId, string courseName, TrainEmployeeFB fb)
        {
            int        pkid;
            SqlCommand sqlCommand = new SqlCommand();

            sqlCommand.Parameters.Add(_PKID, SqlDbType.Int).Direction                   = ParameterDirection.Output;
            sqlCommand.Parameters.Add(_CourseID, SqlDbType.Int).Value                   = courseId;
            sqlCommand.Parameters.Add(_CourseName, SqlDbType.NVarChar, 200).Value       = courseName;
            sqlCommand.Parameters.Add(_TraineeID, SqlDbType.Int).Value                  = fb.Trainee.Id;
            sqlCommand.Parameters.Add(_TraineeName, SqlDbType.NVarChar, 50).Value       = fb.Trainee.Name;
            sqlCommand.Parameters.Add(_FBTime, SqlDbType.DateTime).Value                = fb.FBTime;
            sqlCommand.Parameters.Add(_TrainFBAllScore, SqlDbType.Decimal).Value        = fb.Score;
            sqlCommand.Parameters.Add(_Suggestion, SqlDbType.Text).Value                = fb.Remark;
            sqlCommand.Parameters.Add(_TrainFBStatus, SqlDbType.Int).Value              = 1; //反馈
            sqlCommand.Parameters.Add(_CertificationName, SqlDbType.NVarChar, 50).Value = fb.CertificationName;
            SqlHelper.ExecuteNonQueryReturnPKID("CourseTraineeInsert", sqlCommand, out pkid);
        }
Пример #5
0
        private void FillFeedBackEvent()
        {
            TrainEmployeeFB employeeFB = new TrainEmployeeFB(DateTime.Now, _ItsView.Comment);

            employeeFB.CertificationName = _ItsView.CertificationName;
            employeeFB.Trainee           = _Trainee;
            employeeFB.FBItem            = _ItsView.FBItem;

            try
            {
                _ITrainFacade.AddCourseFeedBack(_CourseId, employeeFB);
                //_FeedBack.Excute();
                _ItsView.returnLastPage = true;
            }
            catch (Exception ex)
            {
                _ItsView.ErrorMessage = ex.Message;
            }
        }
Пример #6
0
        private List <TrainEmployeeFB> GetCourseTrainnee(int courseId)
        {
            List <TrainEmployeeFB> trainees    = new List <TrainEmployeeFB>();
            SqlCommand             sqlCommmand = new SqlCommand();

            sqlCommmand.Parameters.Add(_CourseID, SqlDbType.Int).Value = courseId;
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetCourseTraineeByCourseID", sqlCommmand))
            {
                while (sdr.Read())
                {
                    TrainEmployeeFB employeeFB;
                    if (sdr[_DBFBTime] == DBNull.Value)
                    {
                        employeeFB = new TrainEmployeeFB(null, sdr[_DBSuggestion].ToString());
                    }
                    else
                    {
                        employeeFB = new TrainEmployeeFB(Convert.ToDateTime(sdr[_DBFBTime]),
                                                         sdr[_DBSuggestion].ToString());
                    }
                    employeeFB.TrainEmployeeFBID = Convert.ToInt32(sdr[_DBPKID]);
                    //employeeFB.Trainee = _EmployeeDal.GetEmployeeByAccountID(Convert.ToInt32(sdr[_DBTraineeID]));
                    employeeFB.Trainee      = new Account();
                    employeeFB.Trainee.Id   = Convert.ToInt32(sdr[_DBTraineeID]);
                    employeeFB.Trainee.Name = sdr[_DBTraineeName].ToString();
                    employeeFB.Score        = Convert.ToDecimal(sdr[_DBTrainFBAllScore]);
                    if (sdr[_DBCertificationName] != DBNull.Value)
                    {
                        employeeFB.CertificationName = sdr[_DBCertificationName].ToString();
                    }

                    trainees.Add(employeeFB);
                }
            }
            return(trainees);
        }
Пример #7
0
        public List <Course> GetCourseTrainneeByCondition(int traineeID, int courseId, string courseName, string traineeName,
                                                          int status, DateTime?startTime, DateTime?endTime)
        {
            List <Course> courses     = new List <Course>();
            SqlCommand    sqlCommmand = new SqlCommand();

            sqlCommmand.Parameters.Add(_TraineeID, SqlDbType.Int).Value            = traineeID;
            sqlCommmand.Parameters.Add(_CourseID, SqlDbType.Int).Value             = courseId;
            sqlCommmand.Parameters.Add(_CourseName, SqlDbType.NVarChar, 200).Value = courseName;
            sqlCommmand.Parameters.Add(_TraineeName, SqlDbType.NVarChar, 50).Value = traineeName;
            sqlCommmand.Parameters.Add(_Status, SqlDbType.Int).Value = status;
            if (startTime == null)
            {
                sqlCommmand.Parameters.Add(_StartTime, SqlDbType.DateTime).Value = DBNull.Value;
            }
            else
            {
                sqlCommmand.Parameters.Add(_StartTime, SqlDbType.DateTime).Value = startTime;
            }
            if (endTime == null)
            {
                sqlCommmand.Parameters.Add(_EndTime, SqlDbType.DateTime).Value = DBNull.Value;
            }
            else
            {
                sqlCommmand.Parameters.Add(_EndTime, SqlDbType.DateTime).Value = endTime;
            }
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetCourseTraineeByCondition", sqlCommmand))
            {
                while (sdr.Read())
                {
                    Course course = new Course();
                    course.CourseID      = Convert.ToInt32(sdr[_DBCourseID]);
                    course.CourseName    = sdr[_DBCourseName].ToString();
                    course.ExpectST      = Convert.ToDateTime(sdr[_DBExpectST]);
                    course.ExpectET      = Convert.ToDateTime(sdr[_DBExpectET]);
                    course.TrainFBResult = new TrainFBResult();
                    course.TrainFBResult.TrainEmployeeFBs = new List <TrainEmployeeFB>();
                    TrainEmployeeFB employeeFb;
                    if (sdr[_DBFBTime] != DBNull.Value)
                    {
                        employeeFb = new TrainEmployeeFB(Convert.ToDateTime(sdr[_DBFBTime]), sdr[_DBSuggestion].ToString());
                    }
                    else
                    {
                        employeeFb = new TrainEmployeeFB(null, sdr[_DBSuggestion].ToString());
                    }
                    //employeeFb.Trainee = _EmployeeDal.GetEmployeeByAccountID(Convert.ToInt32(sdr[_DBTraineeID]));
                    employeeFb.Trainee      = new Account();
                    employeeFb.Trainee.Id   = Convert.ToInt32(sdr[_DBTraineeID]);
                    employeeFb.Trainee.Name = sdr[_DBTraineeName].ToString();
                    employeeFb.Score        = Convert.ToDecimal(sdr[_DBTrainFBAllScore]);
                    if (sdr[_DBCertificationName] != DBNull.Value)
                    {
                        employeeFb.CertificationName = sdr[_DBCertificationName].ToString();
                    }
                    course.TrainFBResult.TrainEmployeeFBs.Add(employeeFb);
                    courses.Add(course);
                }
            }
            return(courses);
        }
Пример #8
0
 private bool FindEmployeeFB(TrainEmployeeFB fb)
 {
     return(fb.Trainee.Id.Equals(_EmployeeId));
 }
Пример #9
0
        public void AddCourseFeedBack(int courseId, TrainEmployeeFB employeeFB)
        {
            AddCourseFeedBack addCourseFeedBack = new AddCourseFeedBack(courseId, employeeFB);

            addCourseFeedBack.Excute();
        }
Пример #10
0
 ///<summary>
 ///AddTrainCourse的构造函数,专为测试提供
 ///</summary>
 public AddCourseFeedBack(int courseId, TrainEmployeeFB employeeFB, ITrain iTrain)
 {
     _CourseId        = courseId;
     _TrainEmployeeFb = employeeFB;
     _DalTrain        = iTrain;
 }
Пример #11
0
 public AddCourseFeedBack(int courseId, TrainEmployeeFB employeeFB)
 {
     _CourseId        = courseId;
     _TrainEmployeeFb = employeeFB;
 }
Пример #12
0
        /// <summary>
        /// 调用下层的新增课程的方法
        /// </summary>
        protected override void ExcuteSelf()
        {
            //如果反馈表更新了,就重新新增一个课程
            if (_IsFeedBackPaperUpdate)
            {
                new DeleteTrainCourse(_Course.CourseID).Excute();
                new AddTrainCourse(_Course, _Skills, _Employees, _LoginUser).Excute();
                return;
            }
            try
            {
                _Course.Skill = new List <Skill>();
                foreach (Skill skill in _Skills)
                {
                    _Course.Skill.Add(skill);
                }
                _Course.TrainFBResult = new TrainFBResult();
                _Course.TrainFBResult.TrainEmployeeFBs = new List <TrainEmployeeFB>();

                TrainEmployeeFB employeeFb;
                foreach (TrainEmployeeFB fb in GetFbResults())
                {
                    foreach (Account employee in _Employees)
                    {
                        if (fb.Trainee.Id.Equals(employee.Id))
                        {
                            //如果该员工有信息,添加其信息
                            _Course.TrainFBResult.TrainEmployeeFBs.Add(fb);
                            _Employees.Remove(employee);
                            break;
                        }
                    }
                }
                //无信息,未起新建一条数据
                if (_Employees.Count != 0)
                {
                    foreach (Account employee in _Employees)
                    {
                        employeeFb         = new TrainEmployeeFB(null, string.Empty);
                        employeeFb.Trainee = employee;
                        _Course.TrainFBResult.TrainEmployeeFBs.Add(employeeFb);
                    }
                }
                _Course.Coordinator = _ItsCordinator;
                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    _DalTrain.UpdateTrainCourse(_Course);
                    ts.Complete();
                }
                if (_Course.Status == TrainStatusEnum.End)
                {
                    List <Skill>           skills      = _Course.Skill;
                    List <TrainEmployeeFB> employeeFBs = _Course.TrainFBResult.TrainEmployeeFBs;
                    foreach (TrainEmployeeFB fb in employeeFBs)
                    {
                        if (fb.FBTime != null)
                        {
                            new FinishTrainCourse(_Course.CourseID).InsertEmployeeSkill(fb.Trainee.Id, skills);
                        }
                    }
                }
            }
            catch
            {
                BllUtility.ThrowException(BllExceptionConst._DbError);
            }
        }