Ejemplo n.º 1
0
        /// <summary>
        /// </summary>
        public OverWork GetOverWorkByOverWorkID(int pKID)
        {
            OverWork OverWork = _OverWorkDal.GetOverWorkByOverWorkID(pKID);

            OverWork.Account = _AccountBll.GetAccountById(OverWork.Account.Id);
            return(OverWork);
        }
Ejemplo n.º 2
0
        protected override void ExcuteSelf()
        {
            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
            {
                _Employee.Account = _IAccountBll.GetAccountById(_Employee.Account.Id);
                if (_Employee.Account != null &&
                    _Employee.Account.Position != null &&
                    _Employee.Account.Position.Description != null)
                {
                    _Employee.EmployeeDetails      = _Employee.EmployeeDetails ?? new EmployeeDetails();
                    _Employee.EmployeeDetails.Work = _Employee.EmployeeDetails.Work ?? new Work();
                    _Employee.EmployeeDetails.Work.Responsibility = _Employee.Account.Position.Description;
                }

                //得到后台帐号
                Account accountOperator = _IAccountBll.GetAccountById(_Operatoraccount.Id);
                _DalEmployee.CreateEmployee(_Employee);
                //新增员工技能
                _DalEmployeeSkill.InsertEmployeeSkill(_Employee);
                //员工福利包括历史的新增
                if (_Employee.EmployeeWelfare != null)
                {
                    SaveEmployeeWelfare SaveEmployeeWelfare =
                        new SaveEmployeeWelfare(_Employee.Account.Id, _Employee.EmployeeWelfare.SocialSecurity.Type,
                                                _Employee.EmployeeWelfare.SocialSecurity.Base,
                                                _Employee.EmployeeWelfare.SocialSecurity.EffectiveYearMonth,
                                                _Employee.EmployeeWelfare.AccumulationFund.Account,
                                                _Employee.EmployeeWelfare.AccumulationFund.EffectiveYearMonth,
                                                _Employee.EmployeeWelfare.AccumulationFund.Base,
                                                accountOperator.Name,
                                                _Employee.EmployeeWelfare.AccumulationFund.SupplyAccount,
                                                _Employee.EmployeeWelfare.AccumulationFund.SupplyBase,
                                                _Employee.EmployeeWelfare.SocialSecurity.YangLaoBase,
                                                _Employee.EmployeeWelfare.SocialSecurity.ShiYeBase,
                                                _Employee.EmployeeWelfare.SocialSecurity.YiLiaoBase,
                                                _DalEmployeeWelfare, _DalEmployeeWelfareHistory);
                    SaveEmployeeWelfare.Excute();
                }

                //员工自定义流程
                if (_Employee.DiyProcessList != null)
                {
                    SaveEmployeeDiyProcess saveProcess =
                        new SaveEmployeeDiyProcess(_Employee.Account.Id, _Employee.DiyProcessList);
                    saveProcess.Excute();
                }
                //员工调休规则
                if (_Employee.AdjustRule != null)
                {
                    new EditEmployeeAdjustRule(_Employee.Account.Id, _Employee.AdjustRule).Excute();
                }
                //记录员工的历史,再次加载信息,为了拍下当时的部门信息(部门名字,部门主管)
                _Employee.Account.Dept = _IDepartmentBll.GetDepartmentById(_Employee.Account.Dept.Id, null);
                //记录员工的历史
                EmployeeHistory employeeHistory =
                    new EmployeeHistory(_Employee, DateTime.Now, accountOperator, "");
                _DalEmployeeHistory.CreateEmployeeHistory(employeeHistory);
                ts.Complete();
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestID"></param>
 /// <param name="hrAccount"></param>
 /// <param name="currentStep"></param>
 public LeaveRequestOverMail(int leaveRequestID, List <Account> hrAccount, DiyStep currentStep)
 {
     _LeaveRequest         = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID);
     _LeaveRequest.Account = _AccountBll.GetAccountById(_LeaveRequest.Account.Id);
     _HRAccount            = hrAccount;
     _CurrentStep          = currentStep;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestID"></param>
 /// <param name="diyProcessAccountlist"></param>
 /// <param name="nextStep"></param>
 public LeaveRequestCancelMail(int leaveRequestID, List <Account> diyProcessAccountlist, DiyStep nextStep)
 {
     _LeaveRequest          = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID);
     _LeaveRequest.Account  = _AccountBll.GetAccountById(_LeaveRequest.Account.Id);
     _NextStep              = nextStep;
     _DiyProcessAccountlist = diyProcessAccountlist;
 }
Ejemplo n.º 5
0
        /// <summary>
        /// </summary>
        public OutApplication GetOutApplicationByOutApplicationID(int pKID)
        {
            OutApplication outapplication = _OutApplicationDal.GetOutApplicationByOutApplicationID(pKID);

            outapplication.Account = _AccountBll.GetAccountById(outapplication.Account.Id);
            return(outapplication);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="traineeApplication"></param>
 /// <param name="hrAccount"></param>
 /// <param name="currentAccountID"></param>
 public TraineeApplicationMailOver(TraineeApplication traineeApplication,
                                   List <Account> hrAccount, int currentAccountID)
 {
     _TraineeApplication           = traineeApplication;
     _TraineeApplication.Applicant = _AccountBll.GetAccountById(_TraineeApplication.Applicant.Id);
     _CurrentAccount = _AccountBll.GetAccountById(currentAccountID);
     _HRAccount      = hrAccount;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestID"></param>
 /// <param name="cclist"></param>
 /// <param name="diyProcesslist"></param>
 /// <param name="nextStep"></param>
 public LeaveRequestSubmitMail(int leaveRequestID, List <Account> cclist, List <Account> diyProcesslist,
                               DiyStep nextStep)
 {
     _LeaveRequest         = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID);
     _LeaveRequest.Account = _AccountBll.GetAccountById(_LeaveRequest.Account.Id);
     _CCList         = cclist;
     _DiyProcesslist = diyProcesslist;
     _NextStep       = nextStep;
 }
Ejemplo n.º 8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="positionApplicationID"></param>
 /// <param name="cclist"></param>
 /// <param name="diyProcesslist"></param>
 /// <param name="nextStep"></param>
 public PositionApplicationSubmitMail(int positionApplicationID, List <Account> cclist, List <string> diyProcesslist,
                                      DiyStep nextStep)
 {
     _PositionApplication         = new GetPositionApplication().GetPositionApplicationByPKID(positionApplicationID);
     _PositionApplication.Account = _AccountBll.GetAccountById(_PositionApplication.Account.Id);
     _CCList         = cclist;
     _DiyProcesslist = diyProcesslist;
     _NextStep       = nextStep;
 }
Ejemplo n.º 9
0
 /// <summary>
 /// </summary>
 public ApproveOverWorkItem(int itemID, int accountID, bool isAgree, string remark, bool isAdjust, int OverWorkID, decimal adjustHour)
 {
     _Account    = _DalAccountBll.GetAccountById(accountID);
     _OverWork   = _OverWorkDal.GetOverWorkByOverWorkID(OverWorkID);
     _ItemID     = itemID;
     _Remark     = remark;
     _IsAgree    = isAgree;
     _IsAdjust   = isAdjust;
     _AdjustHour = adjustHour;
 }
 /// <summary>
 /// </summary>
 public ApproveOutApplicationItem(int itemID, int accountID, bool isAgree,
                                  string remark, int outApplicationID, bool isAdjust, decimal adjustHour)
 {
     _Account        = _DalAccountBll.GetAccountById(accountID);
     _OutApplication = _DalOutApplication.GetOutApplicationByOutApplicationID(outApplicationID);
     _ItemID         = itemID;
     _Remark         = remark;
     _IsAgree        = isAgree;
     _IsAdjust       = isAdjust;
     _AdjustHour     = adjustHour;
 }
Ejemplo n.º 11
0
 private Course GetEmployeeNameInCourse(Course course)
 {
     course.Coordinator.Name = _IAccountBll.GetAccountById(course.Coordinator.Id).Name;
     if (course.TrainFBResult.TrainEmployeeFBs != null)
     {
         for (int i = 0; i < course.TrainFBResult.TrainEmployeeFBs.Count; i++)
         {
             course.TrainFBResult.TrainEmployeeFBs[i].Trainee.Name =
                 _IAccountBll.GetAccountById(course.TrainFBResult.TrainEmployeeFBs[i].Trainee.Id).Name;
         }
     }
     return(course);
 }
Ejemplo n.º 12
0
        private static void SendMail(Account account, Course course)
        {
            Account  temp     = _AccountBll.GetAccountById(account.Id);
            MailBody mailBody = new MailBody();

            mailBody.MailTo  = RequestUtility.GetMail(temp);
            mailBody.Subject = string.Format("您已参加名为{0}的培训课程,请在培训结束后,填写反馈问题", course.CourseName);
            StringBuilder mailContent = new StringBuilder();

            mailContent.Append("请到时参加以下培训,并在培训结束后填写反馈,谢谢<br/>");
            mailContent.AppendFormat("培训课程:{0}", course.CourseName);
            mailContent.Append("<br/>");
            mailContent.AppendFormat("培训地点:{0}", course.TrainPlace);
            mailContent.Append("<br/>");
            mailContent.AppendFormat("培训师:{0}", course.Trainer);
            mailContent.Append("<br/>");
            mailContent.AppendFormat("协调员:{0}", course.Coordinator.Name);
            mailContent.Append("<br/>");
            mailContent.AppendFormat("计划开始时间:{0}", course.ExpectST);
            mailContent.Append("<br/>");
            mailContent.AppendFormat("计划结束时间:{0}", course.ExpectET);
            mailContent.Append("<br/>");
            mailContent.AppendFormat("计划课时:{0}", course.ExpectHour);
            mailContent.Append("<br/>");
            mailBody.Body       = mailContent.ToString();
            mailBody.IsHtmlBody = true;
            _MailGateWay.Send(mailBody);
        }
Ejemplo n.º 13
0
 /// <summary>
 /// </summary>
 public ApproveWholeOverWork(int OverWorkID, int accountID, bool isAgree, string remark)
 {
     _Account    = _DalAccountBll.GetAccountById(accountID);
     _OverWorkID = OverWorkID;
     _Remark     = remark;
     _IsAgree    = isAgree;
 }
Ejemplo n.º 14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="positionApplicationID"></param>
 /// <param name="currentStepAccountlist"></param>
 /// <param name="nextStep"></param>
 public PositionApplicationCancelMail(int positionApplicationID, List <string> currentStepAccountlist, DiyStep nextStep)
 {
     _PositionApplication         = new GetPositionApplication().GetPositionApplicationByPKID(positionApplicationID);
     _PositionApplication.Account = _AccountBll.GetAccountById(_PositionApplication.Account.Id);
     _NextStep = nextStep;
     _CurrentStepAccountlist = currentStepAccountlist;
 }
Ejemplo n.º 15
0
 /// <summary>
 ///
 /// </summary>
 public LeaveRequestOverPhone(int leaveRequestID, LeaveRequestItem item, int nowAccountID)
 {
     _LeaveRequest         = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID);
     _LeaveRequest.Account = _AccountBll.GetAccountById(_LeaveRequest.Account.Id);
     _LeaveRequestItem     = _DalLeaveRequest.GetLeaveRequestItemByPKID(item.LeaveRequestItemID);
     _NowAccount           = nowAccountID;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="leaveRequestID"></param>
 /// <param name="item"></param>
 /// <param name="nextStep"></param>
 public LeaveRequestCancelPhone(int leaveRequestID, LeaveRequestItem item, DiyStep nextStep)
 {
     _LeaveRequest         = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID);
     _LeaveRequest.Account = _AccountBll.GetAccountById(_LeaveRequest.Account.Id);
     _LeaveRequestItem     = item;
     _NextStep             = nextStep;
 }
        public override void Initialize(bool isPostBack)
        {
            _View.Message = string.Empty;
            int assessActivityID;

            if (!int.TryParse(_StrAssessActivityId, out assessActivityID))
            {
                _View.Message = "绩效考核活动信息传入错误";
                return;
            }
            List <AssessTemplatePaper> allTemplatePaper =
                InstanceFactory.CreateAssessManagementFacade().GetAllTemplatePaper();

            if (!isPostBack)
            {
                _View.AssessTempletPaperNames = allTemplatePaper;
                _View.PersonalExpectedTime    = DateTime.Now.Date.AddDays(7).ToShortDateString();
                _View.ManagerExpectedFinish   = DateTime.Now.Date.AddDays(14).ToShortDateString();
                Model.AssessActivity assessActivity =
                    _AssessActivityFacade.GetAssessActivityByAssessActivityID(assessActivityID);
                if (assessActivity.AssessCharacterType == AssessCharacterType.Annual)
                {
                    int id =
                        _AssessManagementFacade.GetTempletPaperIDByEmployeePositionID(
                            _AccountBll.GetAccountById(assessActivity.ItsEmployee.Account.Id).Position.Id);
                    if (id > 0)
                    {
                        _View.AssessTempletPaperID = id;
                    }
                }
            }
        }
Ejemplo n.º 18
0
        public void SearchEvent()
        {
            if (ValidateSearchDay())
            {
                try
                {
                    List <AttendanceBase> attendanceBaseList = _AttendanceBll.GetAttendanceByCondition(_View.EmployeeName, _View.GradesId, _DayFrom, _DayTo, _View.SelectedType, LoginUser);

                    foreach (AttendanceBase attendanceBase in attendanceBaseList)
                    {
                        Account account = _IAccountBll.GetAccountById(attendanceBase.EmployeeId);
                        if (account == null)
                        {
                            continue;
                        }
                        attendanceBase.EmployeeName = account.Name;
                    }
                    _View.attendances = attendanceBaseList;
                }
                catch (ApplicationException ex)
                {
                    _View.Message = ex.Message;
                }
            }
        }
Ejemplo n.º 19
0
 public IndexEditPresenter(IIndexEditView view, Account loginUser)
 {
     _View            = view;
     _LoginUser       = _AccountBll.GetAccountById(loginUser.Id);
     _LoginUser.Auths = loginUser.Auths;
     Init();
 }
Ejemplo n.º 20
0
        /// <summary>
        /// 根据账号ID获得该账号的所有请假信息
        /// </summary>
        /// <param name="accountID"></param>
        /// <returns></returns>
        public List <LeaveRequest> GetLeaveRequestByAccountID(int accountID)
        {
            List <LeaveRequest> iRet = _DalLeaveRequest.GetLeaveRequestByAccountID(accountID);

            foreach (LeaveRequest request in iRet)
            {
                if (request != null && request.Account != null)
                {
                    request.Account = _IAccountBll.GetAccountById(request.Account.Id);
                }
            }
            return(iRet);
        }
Ejemplo n.º 21
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="traineeApplication"></param>
        /// <returns></returns>
        /// <param name="diyStep"></param>
        public Account GetMailToAccount(TraineeApplication traineeApplication, DiyStep diyStep)
        {
            int accountID =
                new GetTraineeApplication().ChangeOperatorToEmployee(traineeApplication, diyStep);
            Account account = _AccountBll.GetAccountById(accountID);

            return(account);
        }
        ///<summary>
        /// 通过employeeID,开始结束时间得到员工的考勤信息,只获得已经结束的考勤
        ///</summary>
        ///<param name="employeeID"></param>
        ///<param name="startDt"></param>
        ///<param name="endDt"></param>
        ///<returns></returns>
        public Employee GetEmployeeAttendanceByCondition(int employeeID, DateTime startDt, DateTime endDt)
        {
            _GetBadAttendance = new GetBadAttendance(null);

            Account  account  = _IAccountBll.GetAccountById(employeeID);
            Employee employee = _dalEmployee.GetEmployeeBasicInfoByAccountID(account.Id);

            employee.Account = account;
            if (GetEmployeeAttendanceInfo(employee, startDt, endDt))
            {
                return(employee);
            }
            else
            {
                return(null);
            }
        }
 /// <summary>
 /// </summary>
 public ApproveWholeOutApplication(int OutApplicationID, int accountID, bool isAgree,
                                   string remark)
 {
     _Account          = _DalAccountBll.GetAccountById(accountID);
     _OutApplicationID = OutApplicationID;
     _Remark           = remark;
     _IsAgree          = isAgree;
 }
Ejemplo n.º 24
0
 /// <summary>
 /// 发送新的加班,外出,等业务
 /// </summary>
 public void SendNewMessage(Account requester, Account assessor, string message,
                            PhoneMessageType phoneMessageType)
 {
     assessor = _AccountBll.GetAccountById(assessor.Id);
     if (assessor.IsAcceptSMS)
     {
         PhoneMessage phoneMessage = new PhoneMessage();
         phoneMessage.Requester        = requester;
         phoneMessage.Message          = message;
         phoneMessage.PhoneMessageType = phoneMessageType;
         phoneMessage.Assessor         = assessor;
         phoneMessage.Status           = PhoneMessageStatus.ToBeSent;
         phoneMessage.Answer           = "";
         phoneMessage.PKID             = _PhoneMessageDal.InsertPhoneMessage(phoneMessage);
     }
     SendMessage();
 }
Ejemplo n.º 25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="positionApplication"></param>
        /// <param name="nextStep"></param>
        /// <returns></returns>
        public Account GetMailToAccount(PositionApplication positionApplication, DiyStep nextStep)
        {
            int accountID =
                new GetPositionApplication().ChangeOperatorToEmployee(positionApplication, nextStep);
            Account account = _AccountBll.GetAccountById(accountID);

            return(account);
        }
Ejemplo n.º 26
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="leaveRequest"></param>
        /// <param name="nextStep"></param>
        /// <returns></returns>
        public Account GetMailToAccount(LeaveRequest leaveRequest, DiyStep nextStep)
        {
            int accountID =
                new GetLeaveRequest().ChangeOperatorToEmployee(leaveRequest, nextStep);
            Account account = _AccountBll.GetAccountById(accountID);

            return(account);
        }
Ejemplo n.º 27
0
        /// <summary>
        /// 根据员工ID获得调休历史
        /// </summary>
        /// <param name="accountID"></param>
        /// <returns></returns>
        public List <AdjustRestHistory> GetAdjustRestHistoryByAccountID(int accountID)
        {
            List <AdjustRestHistory> adjustRestHistoryList =
                _IAdjustRestHistoryDal.GetAdjustRestHistoryByAccountID(accountID);

            foreach (AdjustRestHistory item in adjustRestHistoryList)
            {
                item.Operator = _IAccountBll.GetAccountById(item.Operator.Id);
            }
            return(adjustRestHistoryList);
        }
Ejemplo n.º 28
0
        private void SendEmailToEmployee(int employeeID)
        {
            Account  account = _IAccountBll.GetAccountById(employeeID);
            MailBody mail    = new MailBody();

            mail.Subject = "系统提醒:年假即将到期";
            mail.Body    = "你的年假将在" + _Days + "天后到期。";
            List <string> mailAddress = new List <string>();

            mailAddress.Add(account.Email1);
            mailAddress.Add(account.Email2);
            mail.MailTo = mailAddress;
            _IMailGateWay.Send(mail);
        }
Ejemplo n.º 29
0
        /// <summary>
        /// 导出员工合同Word
        /// </summary>
        /// <param name="contractID"></param>
        public ExportEmployeeContract(int contractID)
        {
            _ContractID   = contractID;
            _ContractType = _GetContractType.GetContractTypeByContractID(contractID);
            string employeename = "";

            try
            {
                employeename = _IAccountBll.GetAccountById(_GetEmployeeContract.GetEmployeeContractByContractId(contractID).EmployeeID).Name;
            }
            catch {}
            _TempWordName    = _TempWordLocation + "\\" + _ContractType.ContractTypeName + "n.doc";
            _NewTempWordName = _TempWordLocation + "\\" + employeename + _ContractType.ContractTypeName + ".doc";
        }
Ejemplo n.º 30
0
        private static void SendMail(Model.Reimburse reimburse)
        {
            Account  temp     = _AccountBll.GetAccountById(reimburse.ApplierID);
            MailBody mailBody = new MailBody();

            mailBody.MailTo  = RequestUtility.GetMail(temp);
            mailBody.Subject = "您的报销单已经通过审核,请去财务处领取报销费,谢谢。";
            StringBuilder emailContentBuilder = new StringBuilder();

            emailContentBuilder.Append(temp.Name + ",您好!");
            emailContentBuilder.Append("<br/>");
            emailContentBuilder.Append("您的报销类型为:");
            emailContentBuilder.Append(reimburse.ReimburseCategoriesEnum.Name);
            emailContentBuilder.Append("、");
            emailContentBuilder.Append("消费时间:");
            emailContentBuilder.Append(reimburse.ConsumeDateFrom.ToShortDateString());
            emailContentBuilder.Append("日");
            emailContentBuilder.Append(reimburse.ConsumeDateFrom.Hour.ToString());
            emailContentBuilder.Append("时");
            emailContentBuilder.Append(reimburse.ConsumeDateFrom.Minute.ToString());
            emailContentBuilder.Append("分");
            emailContentBuilder.Append("---");
            emailContentBuilder.Append(reimburse.ConsumeDateTo.ToShortDateString());
            emailContentBuilder.Append("日");
            emailContentBuilder.Append(reimburse.ConsumeDateTo.Hour.ToString());
            emailContentBuilder.Append("时");
            emailContentBuilder.Append(reimburse.ConsumeDateTo.Minute.ToString());
            emailContentBuilder.Append("分");
            emailContentBuilder.Append("、");
            emailContentBuilder.Append("总额:");
            emailContentBuilder.Append(reimburse.TotalCost);
            emailContentBuilder.Append("元");
            emailContentBuilder.Append("的报销单已经通过审核,请去财务处领取报销费,谢谢。");
            emailContentBuilder.Append(Environment.NewLine);
            mailBody.Body = emailContentBuilder.ToString();
            try
            {
                //发给员工邮件
                _MailGateWay.Send(mailBody);
            }
            catch
            {
                throw new Exception("员工领取报销提醒发送失败");
            }
        }