private List <DispDailyAttendanceData> GetAttendancdData(MasterGetudo getudorecord) { this.MonthlyAttemdance = new MonthlyAttendanceData(); MonthlyAttemdance.ExcelPath_Holidays = this.txtExcelPath_Holiday.Text; MonthlyAttemdance.ExcelPath = this.txtExcelPath_Attendance.Text; var errorinfo = this.MonthlyAttemdance.GetInitAttendanceData(getudorecord, out AttendanceDataBox, out SummaryAttendance); if (errorinfo.HasError) { this.ShowMessageDialog(this, new RoutedEventArgs(), errorinfo.ErrorReason); } return(this.ConvertAttendanceListtoDisp(this.GetAttendancdDataByGetudoYYYMM(AttendanceDataBox, getudorecord))); }
private void DisplaySummaryAttendanceData(List <SummaryAttendanceData> list, MasterGetudo getudo) { foreach (var item in list) { if (item.GetudoYYYYMM == getudo.GetudoYYYYMM) { this.lblthisMonthProspectsOverTime.Content = this.DisplayMonthProspectsOverTime(item.OverTime); this.lblthisMonthProspectsOverTime.Foreground = this.GetColor(item.Is45Over); return; } } this.lblthisMonthProspectsOverTime.Content = this.DisplayMonthProspectsOverTime(new TimeSpan(0, 0, 0)); this.lblthisMonthProspectsOverTime.Foreground = this.GetColor(false); return; }
public ErrorInfo GetHolidaysByGetudoRecord(MasterGetudo getudorecord, out List <MasterHoliday> holidays) { holidays = HolidayList; var errorinfo = GetHolidays(ExcelPath); if (errorinfo.HasError) { return(errorinfo); } holidays = HolidayList.Where(x => x.GetudoYYYYMM == getudorecord.GetudoYYYYMM).ToList(); if (holidays == null) { holidays = new List <MasterHoliday>(); } return(errorinfo); }
private ErrorInfo GetGetudoNumByInt(int getudoyyyymm, out MasterGetudo Getudonumrecord) { foreach (var item in GetudoNumList) { if (item.GetudoYYYYMM == getudoyyyymm) { Getudonumrecord = item; return(new ErrorInfo()); } } Getudonumrecord = new MasterGetudo(); var errorInfo = new ErrorInfo(); errorInfo.HasError = true; errorInfo.ErrorReason = "月度マスタ未登録です"; return(errorInfo); }
public ErrorInfo GetInitMonthlyData(MasterGetudo getudorecord, out List <DailyAttendanceData> monthlyattendancelist) { monthlyattendancelist = new List <DailyAttendanceData>(); var errorinfo = new ErrorInfo(); if (getudorecord.GetudoYYYYMM == 0) { errorinfo.HasError = true; errorinfo.ErrorReason = "月度の値が不正です。"; return(errorinfo); } //祝日マスタの読み込み var holidaylist = new List <MasterHoliday>(); var holidays = new Holidays(); holidays.ExcelPath = ExcelPath_Holidays; errorinfo = holidays.GetHolidaysByGetudoRecord(getudorecord, out holidaylist); if (errorinfo.HasError) { return(errorinfo); } for (DateTime date = getudorecord.StartDate; date <= getudorecord.EndDate; date = date.AddDays(1)) { var attendancerecord = new DailyAttendanceData(); attendancerecord.GetudoYYYYMM = getudorecord.GetudoYYYYMM; attendancerecord.Day = date; var holiday = holidaylist.Find(x => x.Day == date); if (holiday != null) { attendancerecord.DayKBN = EnumManager.DayKBN.HolyDay; attendancerecord.Bikou = holiday.HolidayName; } else { attendancerecord.DayKBN = this.GetDayKBN(date); } monthlyattendancelist.Add(attendancerecord); } return(errorinfo); }
private ErrorInfo GetGetudoNumList(FileStream file, out List <MasterGetudo> GetudonumList) { GetudonumList = new List <MasterGetudo>(); try { IWorkbook workbook = WorkbookFactory.Create(file); var sheet = workbook.GetSheetAt(0); int lastRow = sheet.LastRowNum; for (int i = 1; i <= lastRow; i++) { var getudorecord = new MasterGetudo(); IRow row = sheet.GetRow(i); ICell cell = row == null ? null : row.GetCell(0); int intyyyymm = cell == null ? 0 : (int)cell.NumericCellValue; if (intyyyymm != 0) { getudorecord.GetudoYYYYMM = intyyyymm; ICell cell_startdate = row == null ? null : row.GetCell(1); string string_startdate = cell_startdate == null ? string.Empty : cell_startdate.DateCellValue.ToShortDateString(); DateTime startdate; DateTime.TryParse(string_startdate, out startdate); getudorecord.StartDate = startdate; ICell cell_enddate = row == null ? null : row.GetCell(2); string string_enddate = cell_enddate == null ? string.Empty : cell_enddate.DateCellValue.ToShortDateString(); DateTime enddate; DateTime.TryParse(string_enddate, out enddate); getudorecord.EndDate = enddate; GetudonumList.Add(getudorecord); } else { return(new ErrorInfo()); } } } catch (Exception ex) { var errorinfo = new ErrorInfo(); errorinfo.HasError = true; errorinfo.ErrorReason = ex.Message; } return(new ErrorInfo()); }
private ErrorInfo GetGetudoNum(string ExcelPath, DateTime date, out MasterGetudo Getudonumrecoed) { FileStream file; ErrorInfo errorinfo = new ErrorInfo(); Getudonumrecoed = new MasterGetudo(); errorinfo = ExcelOperation.OpenExcelFile(ExcelPath, out file); if (errorinfo.HasError) { return(errorinfo); } errorinfo = GetGetudoNumList(file, out GetudoNumList); if (errorinfo.HasError) { return(errorinfo); } errorinfo = ExcelOperation.ReleaseExcelFile(file); if (!GetudoNumList.Any()) { errorinfo.HasError = true; errorinfo.ErrorReason = "月度マスタの取得に失敗しました"; return(errorinfo); } var getudonumrecord = GetudoNumList.Find(x => x.StartDate <= date && x.EndDate >= date); if (getudonumrecord == null) { errorinfo.HasError = true; errorinfo.ErrorReason = "月度マスタに当月のデータがありません"; } else { Getudonumrecoed = getudonumrecord; } return(errorinfo); }
public ErrorInfo GetInitAttendanceData(MasterGetudo getudorecord, out List <List <DailyAttendanceData> > attendanceDataBox, out List <SummaryAttendanceData> summaryAttendanceList) { attendanceDataBox = new List <List <DailyAttendanceData> >(); summaryAttendanceList = new List <SummaryAttendanceData>(); var errorinfo = new ErrorInfo(); if (getudorecord.GetudoYYYYMM == 0) { errorinfo.HasError = true; errorinfo.ErrorReason = "月度の値が不正です。"; return(errorinfo); } FileStream file; errorinfo = ExcelOperation.OpenExcelFile(ExcelPath, out file); if (errorinfo.HasError) { return(errorinfo); } errorinfo = GetAttendanceDataList(file, out attendanceDataBox, out summaryAttendanceList); if (errorinfo.HasError) { return(errorinfo); } errorinfo = ExcelOperation.ReleaseExcelFile(file); if (!attendanceDataBox.Any() || attendanceDataBox.Count(x => x.Count(r => r.GetudoYYYYMM == getudorecord.GetudoYYYYMM) != 0) == 0) { var list = new List <DailyAttendanceData>(); errorinfo = GetInitMonthlyData(getudorecord, out list); attendanceDataBox.Add(list); } return(errorinfo); }
private void DisplayGetudoData(MasterGetudo masterGetudo) { this.txtGetudoNumber.Value = masterGetudo.GetudoYYYYMM; this.lblGetudoFromTo.Content = masterGetudo.StartDate.ToShortDateString() + " ~ " + masterGetudo.EndDate.ToShortDateString(); }
private List <DailyAttendanceData> GetAttendancdDataByGetudoYYYMM(List <List <DailyAttendanceData> > AttendanceDataBox, MasterGetudo getudorecord) { foreach (var item in AttendanceDataBox) { if (item.Count(r => r.GetudoYYYYMM == getudorecord.GetudoYYYYMM) >= 1) { AttendanceDataBox.Remove(item); return(item); } } var newList = new List <DailyAttendanceData>(); this.MonthlyAttemdance.GetInitMonthlyData(getudorecord, out newList); return(newList); }
public ErrorInfo GetConsistentValue(int getudoyyyymm, out int newgetudoyyyymm, out MasterGetudo Getudonumrecord) { newgetudoyyyymm = GetNewGetudoNumber(getudoyyyymm); return(GetGetudoNumByInt(newgetudoyyyymm, out Getudonumrecord)); }
public ErrorInfo GetInitValue(out MasterGetudo Getudonumrecord) { return(GetGetudoNum(ExcelPath, DateTime.Now, out Getudonumrecord)); }