/// <summary> /// </summary> public static DiyProcess GetDiyProcess(string processtest) { List <DiyStep> diyStepList = new List <DiyStep>(); string diyProcess = processtest; string[] diySteps = diyProcess.Split(';'); foreach (string diyStep in diySteps) { string[] steps = diyStep.Split('|'); if (steps.Length > 4) { DiyStep step = new DiyStep(Convert.ToInt32(steps[0]), steps[1], new OperatorType(Convert.ToInt32(steps[2]), OperatorType.FindOperatorTypeByID(Convert.ToInt32(steps[2]))), Convert.ToInt32(steps[3])); string[] mailAccounts = steps[4].Split(','); foreach (string mailAccount in mailAccounts) { if (!string.IsNullOrEmpty(mailAccount)) { step.MailAccount.Add(new Account(Convert.ToInt32(mailAccount), "", "")); } } diyStepList.Add(step); } } DiyProcess diyprocess = new DiyProcess(); diyprocess.DiySteps = diyStepList; return(diyprocess); }
/// <summary> /// 根据ID获得请假 /// </summary> /// <param name="leaveRequestID"></param> /// <returns></returns> public LeaveRequest GetLeaveRequestByPKID(int leaveRequestID) { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_ParmPKID, SqlDbType.Int).Value = leaveRequestID; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetLeaveRequestByPKID", cmd)) { while (sdr.Read()) { LeaveRequest leaveRequest = new LeaveRequest(); leaveRequest.PKID = leaveRequestID; leaveRequest.Account = new Account((int)sdr[_DBAccountID], "", ""); leaveRequest.FromDate = (DateTime)sdr[_DBFromDate]; leaveRequest.ToDate = (DateTime)sdr[_DBToDate]; leaveRequest.CostTime = (decimal)sdr[_DBAbsentHours]; leaveRequest.LeaveRequestType = new LeaveRequestType(Convert.ToInt32(sdr[_DBLeaveRequestTypeID]), sdr[_DBAbsenceTypeName].ToString(), sdr[_DBLeaveRequestTypeDescription].ToString(), ((LegalHoliday)sdr[_DBLeaveRequestTypeIncludeNationalHolidays]), ((RestDay)sdr[_DBLeaveRequestTypeIncludeRestDay]), Convert.ToInt32(sdr[_DBLeastHour])); leaveRequest.SubmitDate = Convert.ToDateTime(sdr[_DBSubmitDate]); leaveRequest.Reason = sdr[_DBReason].ToString(); List <DiyStep> diyStepList = new List <DiyStep>(); string diyProcess = sdr[_DbDiyProcess].ToString(); string[] diySteps = diyProcess.Split(';'); foreach (string diyStep in diySteps) { string[] steps = diyStep.Split('|'); if (steps.Length > 4) { DiyStep step = new DiyStep(Convert.ToInt32(steps[0]), steps[1], new OperatorType(Convert.ToInt32(steps[2]), OperatorType.FindOperatorTypeByID(Convert.ToInt32(steps[2]))), Convert.ToInt32(steps[3])); string[] mailAccounts = steps[4].Split(','); foreach (string mailAccount in mailAccounts) { if (!string.IsNullOrEmpty(mailAccount)) { step.MailAccount.Add(new Account(Convert.ToInt32(mailAccount), "", "")); } } diyStepList.Add(step); } } leaveRequest.DiyProcess = new DiyProcess(); leaveRequest.DiyProcess.DiySteps = diyStepList; leaveRequest.LeaveRequestItems = GetLeaveRequestItemByLeaveRequestID(leaveRequestID, leaveRequest.DiyProcess); return(leaveRequest); } return(null); } }
/// <summary> /// 通过帐号ID查找相关的帐套项 /// </summary> /// <param name="diyProcessID"></param> /// <returns></returns> private static List <DiyStep> GetDiyStepsByDiyProcessID(int diyProcessID) { List <DiyStep> diySteps = new List <DiyStep>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_DiyProcessID, SqlDbType.Int).Value = diyProcessID; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetDiyStepByDiyProcessID", cmd)) { while (sdr.Read()) { DiyStep diyStep = new DiyStep((int)sdr[_DBPKID], sdr[_DBStatus].ToString(), new OperatorType((int)sdr[_DBOperatorType], OperatorType.FindOperatorTypeByID((int)sdr[_DBOperatorType])), (int)sdr[_DBOperatorID]); string[] mailAccount = sdr[_DBMailAccount].ToString().Split('|'); foreach (string accountId in mailAccount) { int id; if (int.TryParse(accountId, out id)) { diyStep.MailAccount.Add(new Account(Convert.ToInt32(accountId), string.Empty, string.Empty)); } } diySteps.Add(diyStep); } } return(diySteps); }
/// <summary> /// 获得所有待审核的请假单 /// </summary> /// <returns></returns> public List <LeaveRequest> GetConfirmLeaveRequest() { List <LeaveRequest> LeaveRequestList = new List <LeaveRequest>(); SqlCommand cmd = new SqlCommand(); using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetConfirmLeaveRequest", cmd)) { while (sdr.Read()) { LeaveRequest leaveRequest = new LeaveRequest(); leaveRequest.PKID = Convert.ToInt32(sdr[_DBPKID]); leaveRequest.Reason = sdr[_DBReason].ToString(); leaveRequest.SubmitDate = (DateTime)sdr[_DBSubmitDate]; leaveRequest.Account = new Account((int)sdr[_DBAccountID], "", ""); leaveRequest.FromDate = (DateTime)sdr[_DBFromDate]; leaveRequest.ToDate = (DateTime)sdr[_DBToDate]; leaveRequest.CostTime = Convert.ToDecimal(sdr[_DBCostTime]); LegalHoliday legalHoliday; if ((int)sdr[_DBLeaveRequestTypeIncludeNationalHolidays] == 0) { legalHoliday = LegalHoliday.UnInclude; } else { legalHoliday = LegalHoliday.Include; } RestDay restDay; if ((int)sdr[_DBLeaveRequestTypeIncludeRestDay] == 0) { restDay = RestDay.UnInclude; } else { restDay = RestDay.Include; } leaveRequest.LeaveRequestType = new LeaveRequestType((int)sdr[_DBLeaveRequestTypeID], sdr[_DBLeaveRequestTypeName].ToString(), sdr[_DBLeaveRequestTypeDescription].ToString(), legalHoliday, restDay, (decimal)sdr[_DBLeaveRequestTypeLeastHour]); List <DiyStep> diyStepList = new List <DiyStep>(); string diyProcess = sdr[_DbDiyProcess].ToString(); string[] diySteps = diyProcess.Split(';'); foreach (string diyStep in diySteps) { string[] steps = diyStep.Split('|'); if (steps.Length > 4) { DiyStep step = new DiyStep(Convert.ToInt32(steps[0]), steps[1], new OperatorType(Convert.ToInt32(steps[2]), OperatorType.FindOperatorTypeByID(Convert.ToInt32(steps[2]))), Convert.ToInt32(steps[3])); string[] mailAccounts = steps[4].Split(','); foreach (string mailAccount in mailAccounts) { if (!string.IsNullOrEmpty(mailAccount)) { step.MailAccount.Add(new Account(Convert.ToInt32(mailAccount), "", "")); } } diyStepList.Add(step); } } leaveRequest.DiyProcess = new DiyProcess(); leaveRequest.DiyProcess.DiySteps = diyStepList; leaveRequest.LeaveRequestItems = GetLeaveRequestItemByLeaveRequestID(leaveRequest.PKID, leaveRequest.DiyProcess); LeaveRequestList.Add(leaveRequest); } } return(LeaveRequestList); }