Beispiel #1
0
        /// <summary>
        /// 查找班别绑定
        /// </summary>
        /// <param name="planDutyTableName"></param>
        /// <param name="fromTimeStart"></param>
        /// <param name="fromTimeEnd"></param>
        /// <param name="toTimeStart"></param>
        /// <param name="toTimeEnd"></param>
        /// <param name="AccountID"></param>
        /// <returns></returns>
        public List <PlanDutyTable> GetPlanDutyByCondition(string planDutyTableName, DateTime fromTimeStart, DateTime fromTimeEnd, DateTime toTimeStart, DateTime toTimeEnd, int AccountID)
        {
            List <PlanDutyTable> planDutyTables = new List <PlanDutyTable>();
            SqlCommand           sqlCommand     = new SqlCommand();

            sqlCommand.Parameters.Add(_DbPlanDutyTableName, SqlDbType.NVarChar, 50).Value = planDutyTableName;
            sqlCommand.Parameters.Add(_DbFromTimeStart, SqlDbType.DateTime).Value         = fromTimeStart;
            sqlCommand.Parameters.Add(_DbFromTimeEnd, SqlDbType.DateTime).Value           = fromTimeEnd;
            sqlCommand.Parameters.Add(_DbToTimeStart, SqlDbType.DateTime).Value           = toTimeStart;
            sqlCommand.Parameters.Add(_DbToTimeEnd, SqlDbType.DateTime).Value             = toTimeEnd;
            sqlCommand.Parameters.Add(_DbAccountID, SqlDbType.Int).Value = AccountID;
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPlanDutyByCondition", sqlCommand))
            {
                while (sdr.Read())
                {
                    PlanDutyTable planDutyTable = new PlanDutyTable();
                    planDutyTable.PlanDutyTableID   = Convert.ToInt32(sdr[_DbPKID]);
                    planDutyTable.PlanDutyTableName = (sdr[_DbPlanDutyTableName]).ToString();
                    planDutyTable.Period            = Convert.ToInt32(sdr[_DbPeriod]);
                    planDutyTable.FromTime          = Convert.ToDateTime(sdr[_DbFromTime]);
                    planDutyTable.ToTime            = Convert.ToDateTime(sdr[_DbToTime]);
                    planDutyTables.Add(planDutyTable);
                }
                return(planDutyTables);
            }
        }
        /// <summary>
        /// 组装数据
        /// </summary>
        /// <param name="planDutyTable"></param>
        public void CompleteTheObject(PlanDutyTable planDutyTable)
        {
            planDutyTable.Period = period;
            DateTime temp = fromTime;

            planDutyTable.PlanDutyDetailList = new List <PlanDutyDetail>();
            while (DateTime.Compare(new DateTime(temp.Year, temp.Month, 1),
                                    new DateTime(toTime.Year, toTime.Month, 1)) <= 0)
            {
                string yearMonth = temp.Year + ";" + temp.Month;
                List <PlanDutyDetail> planDutyDetailList = _ItsView.SetPlanDutyView.GetViewState(yearMonth);
                if (planDutyDetailList == null)//如果没有翻过页,没有存ViewState,则直接取值
                {
                    //如果是当前月,则在界面上取值
                    if (temp.Year == _ItsView.SetPlanDutyView.CurrentDay.Year &&
                        temp.Month == _ItsView.SetPlanDutyView.CurrentDay.Month)
                    {
                        planDutyDetailList = _ItsView.SetPlanDutyView.GetCurrentPlanDutyDetailList(temp);
                    }
                    else//如果没有初始化过
                    {
                        planDutyDetailList = InitNewPlanDutyDetailList(temp);
                    }
                }
                _Date = temp;
                planDutyTable.PlanDutyDetailList.AddRange(planDutyDetailList.FindAll(FindPlanDutyDetail));
                //找下个月的1号
                temp = temp.AddDays(1 - temp.Day).AddMonths(1);
            }
            planDutyTable.PlanDutyTableName        = _ItsView.SetPlanDutyView.PlanDutyTableName;
            planDutyTable.FromTime                 = fromTime;
            planDutyTable.ToTime                   = toTime;
            planDutyTable.PlanDutyAccountList      = _ItsView.EmployeeList;
            planDutyTable.PlanDutyEmployeeNameList = _ItsView.SetPlanDutyView.EmployeeList;
        }
Beispiel #3
0
        private void SetPlanDutyView(PlanDutyTable theDataToBind)
        {
            _ItsView.SetPlanDutyView.CurrentDay = theDataToBind.FromTime;
            _ItsView.EmployeeList = theDataToBind.PlanDutyAccountList;
            _ItsView.SetPlanDutyView.EmployeeList      = theDataToBind.PlanDutyEmployeeNameList;
            _ItsView.SetPlanDutyView.FromTime          = theDataToBind.FromTime.ToShortDateString();
            _ItsView.SetPlanDutyView.ToTime            = theDataToBind.ToTime.ToShortDateString();
            _ItsView.SetPlanDutyView.Period            = theDataToBind.Period.ToString();
            _ItsView.SetPlanDutyView.PlanDutyTableName = theDataToBind.PlanDutyTableName;
            DateTime temp    = theDataToBind.FromTime;
            DateTime current = _ItsView.SetPlanDutyView.CurrentDay;
            List <PlanDutyDetail> planDutyDetailList = theDataToBind.PlanDutyDetailList;

            while (DateTime.Compare(new DateTime(temp.Year, temp.Month, 1),
                                    new DateTime(theDataToBind.ToTime.Year, theDataToBind.ToTime.Month, 1)) <= 0)
            {
                string yearMonth = temp.Year + ";" + temp.Month;
                _Date = temp;
                List <PlanDutyDetail> planDutyDetailListTemp =
                    planDutyDetailList.FindAll(FindPlanDutyDetail);

                _ItsView.SetPlanDutyView.SavePlanDutyDetailListViewState(planDutyDetailListTemp, yearMonth);
                if (current.Year == temp.Year && current.Month == temp.Month)
                {
                    _ItsView.SetPlanDutyView.PlanDutyDateSource = planDutyDetailList;
                }
                //找下个月的1号
                temp = temp.AddDays(1 - temp.Day).AddMonths(1);
            }
        }
Beispiel #4
0
 public void DataBind(PlanDutyTable theDataToBind)
 {
     try
     {
         SetPlanDutyView(theDataToBind);
     }
     catch
     {
         _ItsView.SetPlanDutyView.Message = "绑定信息失败";
     }
 }
Beispiel #5
0
 public void DataBind(int planDutyId)
 {
     try
     {
         PlanDutyTable theDataToBind = _IPlanDutyFacade.GetPlanDutyTableByPKID(planDutyId);
         SetPlanDutyView(theDataToBind);
     }
     catch
     {
         _ItsView.SetPlanDutyView.Message = "初始化信息失败";
     }
 }
        public void GetPlanDutyByID(string id)
        {
            int id_Int;

            if (!int.TryParse(id, out id_Int))
            {
                _ItsView.SetPlanDutyView.Message = "排班表ID需为整数";
                return;
            }
            _ItsView.SetPlanDutyView.PlanDutyID = id;
            PlanDutyTable planDutyTable = _IPlanDutyFacade.GetPlanDutyTableByPKID(id_Int);

            new PlanDudyBinder(_ItsView, _IPlanDutyFacade).DataBind(planDutyTable);
        }
 /// <summary>
 /// 生成排班
 /// </summary>
 public void CreatePlanDutyClickEvent()
 {
     SavePlanDutyViewStateEvent();
     if (Validate())
     {
         PlanDutyTable planDutyTable = new PlanDutyTable();
         CompleteTheObject(planDutyTable);
         try
         {
             _IPlanDutyFacade.AddPlanDuty(planDutyTable);
             _ItsView.SetPlanDutyView.Message = "新增成功!";
         }
         catch (ApplicationException ae)
         {
             _ItsView.SetPlanDutyView.Message = ae.Message;
         }
     }
 }
 public void CopyEvent()
 {
     SavePlanDutyViewStateEvent();
     if (Validate())
     {
         PlanDutyTable planDutyTable = new PlanDutyTable();
         CompleteTheObject(planDutyTable);
         try
         {
             _ItsView.SetPlanDutyView.SessionCopyPlanDutyTable = planDutyTable;
             _ItsView.SetPlanDutyView.Message = "复制成功!";
         }
         catch (ApplicationException ae)
         {
             _ItsView.SetPlanDutyView.Message = ae.Message;
         }
     }
 }
 /// <summary>
 /// 修改排班
 /// </summary>
 public void UpdatePlanDutyClickEvent()
 {
     SavePlanDutyViewStateEvent();
     if (Validate())
     {
         PlanDutyTable planDutyTable = new PlanDutyTable();
         planDutyTable.PlanDutyTableID = Convert.ToInt32(_ItsView.SetPlanDutyView.PlanDutyID);
         CompleteTheObject(planDutyTable);
         try
         {
             _IPlanDutyFacade.UpdatePlanDuty(planDutyTable);
             _ItsView.SetPlanDutyView.Message = "修改成功!";
         }
         catch (ApplicationException ae)
         {
             _ItsView.SetPlanDutyView.Message = ae.Message;
         }
     }
 }
Beispiel #10
0
        ///<summary>
        /// 得到某一排班表
        ///</summary>
        ///<param name="pkid"></param>
        ///<returns></returns>
        public PlanDutyTable GetPlanDutyTableByPKID(int pkid)
        {
            PlanDutyTable  planDutyTable = _DalRull.GetPlanDutyTableByPkid(pkid);
            List <Account> accountList   = new List <Account>();

            for (int i = 0; i < planDutyTable.PlanDutyAccountList.Count; i++)
            {
                Account accountOperator = BllInstance.AccountBllInstance.GetAccountById(planDutyTable.PlanDutyAccountList[i].Id);
                accountList.Add(accountOperator);
            }
            planDutyTable.PlanDutyAccountList = accountList;

            for (int i = 0; i < planDutyTable.PlanDutyAccountList.Count; i++)
            {
                Account accountOperator = BllInstance.AccountBllInstance.GetAccountById(planDutyTable.PlanDutyAccountList[i].Id);
                planDutyTable.PlanDutyEmployeeNameList = planDutyTable.PlanDutyEmployeeNameList + accountOperator.Name + ",";
            }
            return(planDutyTable);
        }
Beispiel #11
0
        private void CopyEvent(string id)
        {
            int id_Int;

            if (!int.TryParse(id, out id_Int))
            {
                _View.TitleMessage = "排班表ID需为整数";
                return;
            }
            PlanDutyTable planDutyTable = _IPlanDutyFacade.GetPlanDutyTableByPKID(id_Int);

            try
            {
                _View.SessionCopyPlanDutyTable = planDutyTable;
                _View.TitleMessage             = "复制成功!";
            }
            catch (ApplicationException ae)
            {
                _View.TitleMessage = ae.Message;
            }
        }
Beispiel #12
0
        /// <summary>
        /// 查找排班表
        /// </summary>
        /// <param name="pkid"></param>
        /// <returns></returns>
        public PlanDutyTable GetPlanDutyTableByPkid(int pkid)
        {
            PlanDutyTable planDutyTable = null;
            SqlCommand    sqlCommand    = new SqlCommand();

            sqlCommand.Parameters.Add(_ParmPKID, SqlDbType.Int).Value = pkid;
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPlanDutyTableByPkid", sqlCommand))
            {
                while (sdr.Read())
                {
                    planDutyTable = new PlanDutyTable();
                    planDutyTable.PlanDutyTableID     = Convert.ToInt32(sdr[_DbPKID]);
                    planDutyTable.PlanDutyTableName   = (sdr[_DbPlanDutyTableName]).ToString();
                    planDutyTable.Period              = Convert.ToInt32(sdr[_DbPeriod]);
                    planDutyTable.FromTime            = Convert.ToDateTime(sdr[_DbFromTime]);
                    planDutyTable.ToTime              = Convert.ToDateTime(sdr[_DbToTime]);
                    planDutyTable.PlanDutyAccountList = GetPlanDutyByPlanDutyTableID(planDutyTable.PlanDutyTableID);
                    planDutyTable.PlanDutyDetailList  = GetPlanDutyDetailByPlanDutyTableID(pkid);
                }
                return(planDutyTable);
            }
        }
Beispiel #13
0
        /// <summary>
        /// 更新排班表
        /// </summary>
        /// <param name="planDutyTable"></param>
        /// <param name="accounts"></param>
        /// <returns></returns>
        public int UpdatePlanDutyTable(PlanDutyTable planDutyTable, List <Account> accounts)
        {
            InitializeTranscation();
            try
            {
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.Parameters.Add(_ParmPKID, SqlDbType.Int).Value = planDutyTable.PlanDutyTableID;
                sqlCommand.Parameters.Add(_PlanDutyTableName, SqlDbType.NVarChar, 50).Value =
                    planDutyTable.PlanDutyTableName;
                sqlCommand.Parameters.Add(_Period, SqlDbType.Int).Value        = planDutyTable.Period;
                sqlCommand.Parameters.Add(_FromTime, SqlDbType.DateTime).Value = planDutyTable.FromTime;
                sqlCommand.Parameters.Add(_ToTime, SqlDbType.DateTime).Value   = planDutyTable.ToTime;
                SqlHelper.TransExecuteNonQuery("UpdatePlanDutyTable", sqlCommand, _Conn, _Trans);
                //删除原有的每一个项
                DeletePlanDutyDetailByPlanDutyTableID(planDutyTable.PlanDutyTableID, _Conn, _Trans);
                DeletePlanDutyByPlanDutyTableID(planDutyTable.PlanDutyTableID, _Conn, _Trans);
                foreach (PlanDutyDetail planDutyDetail in planDutyTable.PlanDutyDetailList)
                {
                    InsertPlanDutyDetail(planDutyDetail, planDutyTable.PlanDutyTableID, _Conn, _Trans);
                }

                foreach (Account account in accounts)
                {
                    InsertTPlanDuty(planDutyTable.PlanDutyTableID, account.Id, _Conn, _Trans);
                }
                _Trans.Commit();
            }
            catch
            {
                _Trans.Rollback();
                throw;
            }
            finally
            {
                _Conn.Close();
            }
            return(planDutyTable.PlanDutyTableID);
        }
Beispiel #14
0
        /// <summary>
        /// 添加排班表
        /// </summary>
        /// <param name="planDutyTable"></param>
        /// <param name="accounts"></param>
        /// <returns></returns>
        public int InsertPlanDutyTable(PlanDutyTable planDutyTable, List <Account> accounts)
        {
            InitializeTranscation();
            int pkid;

            try
            {
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.Parameters.Add(_ParmPKID, SqlDbType.Int).Direction = ParameterDirection.Output;
                sqlCommand.Parameters.Add(_PlanDutyTableName, SqlDbType.NVarChar, 50).Value =
                    planDutyTable.PlanDutyTableName;
                sqlCommand.Parameters.Add(_Period, SqlDbType.Int).Value        = planDutyTable.Period;
                sqlCommand.Parameters.Add(_FromTime, SqlDbType.DateTime).Value = planDutyTable.FromTime;
                sqlCommand.Parameters.Add(_ToTime, SqlDbType.DateTime).Value   = planDutyTable.ToTime;
                SqlHelper.TransExecuteNonQueryReturnPKID("InsertPlanDutyTable", sqlCommand, _Conn, _Trans, out pkid);
                foreach (PlanDutyDetail planDutyDetail in planDutyTable.PlanDutyDetailList)
                {
                    InsertPlanDutyDetail(planDutyDetail, pkid, _Conn, _Trans);
                }
                foreach (Account account in accounts)
                {
                    InsertTPlanDuty(pkid, account.Id, _Conn, _Trans);
                }
                _Trans.Commit();
            }
            catch
            {
                _Trans.Rollback();
                throw;
            }
            finally
            {
                _Conn.Close();
            }
            return(pkid);
        }
Beispiel #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fromTime"></param>
        /// <param name="toTime"></param>
        /// <param name="accountid"></param>
        /// <returns></returns>
        public List <PlanDutyTable> GetPlanDutyTableByConditionAndAccountID(DateTime fromTime, DateTime toTime, int accountid)
        {
            List <PlanDutyTable> planDutyTables = new List <PlanDutyTable>();
            SqlCommand           sqlCommand     = new SqlCommand();

            sqlCommand.Parameters.Add(_DbFromTime, SqlDbType.DateTime).Value = fromTime;
            sqlCommand.Parameters.Add(_DbToTime, SqlDbType.DateTime).Value   = toTime;
            sqlCommand.Parameters.Add(_DbAccountID, SqlDbType.Int).Value     = accountid;
            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPlanDutyTableByConditionAndAccountID", sqlCommand))
            {
                while (sdr.Read())
                {
                    PlanDutyTable planDutyTable = new PlanDutyTable();
                    planDutyTable.PlanDutyTableID     = Convert.ToInt32(sdr[_DbPKID]);
                    planDutyTable.PlanDutyTableName   = (sdr[_DbPlanDutyTableName]).ToString();
                    planDutyTable.Period              = Convert.ToInt32(sdr[_DbPeriod]);
                    planDutyTable.FromTime            = Convert.ToDateTime(sdr[_DbFromTime]);
                    planDutyTable.ToTime              = Convert.ToDateTime(sdr[_DbToTime]);
                    planDutyTable.PlanDutyAccountList = GetPlanDutyByPlanDutyTableID(planDutyTable.PlanDutyTableID);
                    planDutyTables.Add(planDutyTable);
                }
                return(planDutyTables);
            }
        }
 /// <summary>
 /// 修改班别,构造函数
 /// </summary>
 public UpdatePlanDuty(PlanDutyTable planDutyTable)
 {
     _PlanDutyTable = planDutyTable;
 }
Beispiel #17
0
 /// <summary>
 /// 新增班别构造函数
 /// </summary>
 /// <param name="planDutyTable"></param>
 public InsertPlanDuty(PlanDutyTable planDutyTable)
 {
     _PlanDutyTable = planDutyTable;
 }
        /// <summary>
        /// 修改排班
        /// </summary>

        /// <returns></returns>
        /// <param name="planDutyTable"></param>
        public void UpdatePlanDuty(PlanDutyTable planDutyTable)
        {
            UpdatePlanDuty UpdatePlanDuty = new UpdatePlanDuty(planDutyTable);

            UpdatePlanDuty.Excute();
        }
        /// <summary>
        /// 新增排班
        /// </summary>
        /// <returns></returns>
        /// <param name="planDutyTable"></param>
        public void AddPlanDuty(PlanDutyTable planDutyTable)
        {
            InsertPlanDuty InsertPlanDuty = new InsertPlanDuty(planDutyTable);

            InsertPlanDuty.Excute();
        }
Beispiel #20
0
 /// <summary>
 /// 新增班别构造函数,测试
 /// </summary>
 /// <param name="planDutyTable"></param>
 /// <param name="ruleMock"></param>
 public InsertPlanDuty(PlanDutyTable planDutyTable, IPlanDutyDal ruleMock)
 {
     _PlanDutyTable = planDutyTable;
     _DalRull       = ruleMock;
 }
 /// <summary>
 /// 测试用
 /// </summary>
 public UpdatePlanDuty(PlanDutyTable planDutyTable, IPlanDutyDal ruleMock)
 {
     _PlanDutyTable = planDutyTable;
     _DalRull       = ruleMock;
 }