コード例 #1
0
        /// <summary>
        /// 通过名字找请假
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public LeaveRequestType GetLeaveRequestTypeByName(string name)
        {
            LeaveRequestType leave = null;

            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_Name, SqlDbType.NVarChar, 50).Value = name;
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetLeaveRequestTypeByName", cmd))
            {
                while (sdr.Read())
                {
                    leave = new LeaveRequestType(Convert.ToInt32(sdr[_DBPKID]),
                                                 sdr[_DBName].ToString(),
                                                 sdr[_DBDescription] == DBNull.Value
                                                     ? null
                                                     : sdr[_DBDescription].ToString(),
                                                 (LegalHoliday)sdr[_DBIncludeNationalHolidays],
                                                 (RestDay)sdr[_DBIncludeRestDay],
                                                 Convert.ToDecimal(sdr[_DBLeastHour]));
                    break;
                }
            }

            return(leave);
        }
コード例 #2
0
        public List <LeaveRequestType> GetLeaveRequestTypeByNameLike(string namelike)
        {
            List <LeaveRequestType> leaveTypeList = new List <LeaveRequestType>();

            SqlCommand cmd = new SqlCommand();

            if (!String.IsNullOrEmpty(namelike))
            {
                cmd.Parameters.Add(_Name, SqlDbType.NVarChar, 50).Value = namelike;
            }
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetLeaveRequestTypeByNameLike", cmd))
            {
                while (sdr.Read())
                {
                    LeaveRequestType leave = new LeaveRequestType(Convert.ToInt32(sdr[_DBPKID]),
                                                                  sdr[_DBName].ToString(),
                                                                  sdr[_DBDescription] == DBNull.Value
                                                                      ? null
                                                                      : sdr[_DBDescription].ToString(),
                                                                  (LegalHoliday)sdr[_DBIncludeNationalHolidays],
                                                                  (RestDay)sdr[_DBIncludeRestDay],
                                                                  Convert.ToDecimal(sdr[_DBLeastHour]));
                    leaveTypeList.Add(leave);
                }
            }
            return(leaveTypeList);
        }
コード例 #3
0
        private List <LeaveRequestType> GetLeaveRequestTypeList(List <Employee> employeeAttendenceList)
        {
            List <LeaveRequestType> leaveRequestTypeList = new List <LeaveRequestType>();

            foreach (Employee employee in employeeAttendenceList)
            {
                if (employee.EmployeeAttendance == null || employee.EmployeeAttendance.MonthAttendance == null ||
                    employee.EmployeeAttendance.MonthAttendance.LeaveRequestStatisticsList == null)
                {
                    continue;
                }
                foreach (
                    LeaveRequestStatistics leaveRequestStatistics in
                    employee.EmployeeAttendance.MonthAttendance.LeaveRequestStatisticsList)
                {
                    if (
                        LeaveRequestType.FindLeaveRequestType(leaveRequestTypeList,
                                                              leaveRequestStatistics.LeaveRequestType.LeaveRequestTypeID) ==
                        null)
                    {
                        leaveRequestTypeList.Add(leaveRequestStatistics.LeaveRequestType);
                    }
                }
            }

            LeaveRequestType.OrderLeaveRequestType(leaveRequestTypeList);
            return(leaveRequestTypeList);
        }
コード例 #4
0
 /// <summary>
 ///
 /// </summary>
 public JudgeProbation(List <LeaveRequestItem> itemList, int AccountID, LeaveRequestType type,
                       IEmployee dalEmployee)
 {
     _DalEmployee = dalEmployee;
     _ItemList    = itemList;
     _Type        = type;
     _Employee    = _DalEmployee.GetEmployeeByAccountID(AccountID);
 }
コード例 #5
0
 /// <summary>
 ///
 /// </summary>
 public DeleteVacationByLeaveReuqest(int accountid, List <LeaveRequestItem> leaveRequestitems,
                                     LeaveRequestType type)
 {
     _AccountID         = accountid;
     _LeaveRequestItems = leaveRequestitems;
     _Type         = type;
     _VacationList = _VacationDal.GetVacationByAccountID(_AccountID);
 }
コード例 #6
0
 private static decimal GetLeaveRequestStatisticsData(LeaveRequestType leaveRequestType, Employee e, bool ishours)
 {
     foreach (LeaveRequestStatistics item in e.EmployeeAttendance.MonthAttendance.LeaveRequestStatisticsList)
     {
         if (item.LeaveRequestType.LeaveRequestTypeID == leaveRequestType.LeaveRequestTypeID)
         {
             return(ishours ? item.Hours : item.Days);
         }
     }
     return(0);
 }
コード例 #7
0
        private void Init()
        {
            LeaveRequestType leaveRequestType = _LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(_LeaveRequestTypeID);

            //_LeaveRequests=_leaveRequestDal.GetLeaveRequestByCondition(_AccountID, _From.Date, _To.Date.AddHours(24), RequestStatus.All);
            _LeaveRequestTypeName = leaveRequestType.Name;
            _LeastHour            = leaveRequestType.LeastHour;
            _IncludeLegalHoliday  = leaveRequestType.IncludeLegalHoliday == LegalHoliday.Include;
            _IncludeRestDay       = leaveRequestType.IncludeRestDay == RestDay.Include;
            _PlanDutyDetailList   = _PlanDutyDal.GetPlanDutyDetailByAccount(_AccountID, _From, _To);
            _CalculateDays        = new CalculateDays(_SpecialDateBll.GetAllSpecialDate(null));
        }
コード例 #8
0
 /// <summary>
 /// 用于测试
 /// </summary>
 public void TestExcute(int accountid, List <LeaveRequestItem> leaveRequestitems, LeaveRequestType type,
                        List <Vacation> VacationList, List <DayAttendance> dayAttendanceList,
                        IVacation mockvacation)
 {
     _AccountID         = accountid;
     _LeaveRequestItems = leaveRequestitems;
     _Type              = type;
     _VacationList      = VacationList;
     _DayAttendanceList = dayAttendanceList;
     _IsTest            = true;
     _VacationDal       = mockvacation;
     Excute();
 }
コード例 #9
0
        protected override void Validation()
        {
            if (_LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(_LeaveRequestType.LeaveRequestTypeID) == null)
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_Name_NotExist);
            }
            LeaveRequestType leaveRequestType = _LeaveRequestTypeDal.GetLeaveRequestTypeByName(_LeaveRequestType.Name);

            if (leaveRequestType != null && leaveRequestType.LeaveRequestTypeID != _LeaveRequestType.LeaveRequestTypeID)
            {
                HrmisUtility.ThrowException(HrmisUtility._LeaveRequestType_Name_Repeat);
            }
        }
コード例 #10
0
        /// <summary>
        /// 修改请假类型
        /// </summary>
        /// <param name="leaveRequestType"></param>
        public void UpdateLeaveRequestType(LeaveRequestType leaveRequestType)
        {
            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_PKID, SqlDbType.Int).Value          = leaveRequestType.LeaveRequestTypeID;
            cmd.Parameters.Add(_Name, SqlDbType.NVarChar, 50).Value = leaveRequestType.Name;
            if (String.IsNullOrEmpty(leaveRequestType.Description))
            {
                cmd.Parameters.Add(_Description, SqlDbType.Text).Value = DBNull.Value;
            }
            else
            {
                cmd.Parameters.Add(_Description, SqlDbType.Text).Value = leaveRequestType.Description;
            }
            cmd.Parameters.Add(_IncludeNationalHolidays, SqlDbType.Int).Value = leaveRequestType.IncludeLegalHoliday;
            cmd.Parameters.Add(_IncludeRestDay, SqlDbType.Int).Value          = leaveRequestType.IncludeRestDay;
            cmd.Parameters.Add(_LeastHour, SqlDbType.Decimal).Value           = leaveRequestType.LeastHour;
            SqlHelper.ExecuteNonQuery("LeaveRequestTypeUpdate", cmd);
        }
コード例 #11
0
        private bool ValidateAndInitLeaveType(string type)
        {
            List <LeaveRequestType> allLeaveType = _GetLeaveRequestType.GetAllLeaveRequestType();

            if (allLeaveType == null || allLeaveType.Count < 1)
            {
                return(false);
            }
            else
            {
                foreach (LeaveRequestType leaveType in allLeaveType)
                {
                    if (leaveType.Name == type)
                    {
                        _LeaveRequestType = leaveType;
                        return(true);
                    }
                }
            }
            return(false);
        }
コード例 #12
0
        /// <summary>
        /// 添加请假类型
        /// </summary>
        public int InsertLeaveRequestType(LeaveRequestType leaveRequestType)
        {
            int        pkid;
            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_PKID, SqlDbType.Int).Direction      = ParameterDirection.Output;
            cmd.Parameters.Add(_Name, SqlDbType.NVarChar, 50).Value = leaveRequestType.Name;
            if (String.IsNullOrEmpty(leaveRequestType.Description))
            {
                cmd.Parameters.Add(_Description, SqlDbType.Text).Value = DBNull.Value;
            }
            else
            {
                cmd.Parameters.Add(_Description, SqlDbType.Text).Value = leaveRequestType.Description;
            }
            cmd.Parameters.Add(_IncludeNationalHolidays, SqlDbType.Int).Value = leaveRequestType.IncludeLegalHoliday;
            cmd.Parameters.Add(_IncludeRestDay, SqlDbType.Int).Value          = leaveRequestType.IncludeRestDay;

            cmd.Parameters.Add(_LeastHour, SqlDbType.Decimal).Value = leaveRequestType.LeastHour;
            SqlHelper.ExecuteNonQueryReturnPKID("LeaveRequestTypeInsert", cmd, out pkid);
            return(leaveRequestType.LeaveRequestTypeID = pkid);
        }
コード例 #13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestType"></param>
 public void UpdateLeaveRequestType(LeaveRequestType leaveRequestType)
 {
     new UpdateLeaveRequestType(leaveRequestType).Excute();
 }
コード例 #14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestType"></param>
 public void AddLeaveRequestType(LeaveRequestType leaveRequestType)
 {
     new AddLeaveRequestType(leaveRequestType).Excute();
 }
コード例 #15
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestType"></param>
 public UpdateLeaveRequestType(LeaveRequestType leaveRequestType)
 {
     _LeaveRequestType = leaveRequestType;
 }
コード例 #16
0
 /// <summary>
 /// test
 /// </summary>
 /// <param name="leaveRequestType"></param>
 /// <param name="iLeaveRequestType"></param>
 public UpdateLeaveRequestType(LeaveRequestType leaveRequestType, ILeaveRequestType iLeaveRequestType)
     : this(leaveRequestType)
 {
     _LeaveRequestTypeDal = iLeaveRequestType;
 }
コード例 #17
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="leaveRequestType"></param>
 public LeaveRequestStatistics(LeaveRequestType leaveRequestType)
 {
     _LeaveRequestType = leaveRequestType;
 }