public SubordinatesResultDTO GetTrainingNeedEmployeeInFieldInPeriod(long periodIdParam, long jobindexId) { var periodId = new PeriodId(periodIdParam); var period = periodRep.GetById(periodId); var res = new SubordinatesResultDTO { PeriodName = period.Name, PeriodTimeLine = "از تاریخ " + PDateHelper.GregorianToHijri(period.StartDate, false) + " تا تاریخ " + PDateHelper.GregorianToHijri(period.EndDate.Date, false), //TotalUnitPoint = finalUnitPoint == null ? (0).ToString() : finalUnitPoint.Value.ToString(CultureInfo.InvariantCulture), Subordinates = new List <EmployeeResultDTO>() }; var calculation = calculationRepository.GetDeterministicCalculation(period); var employeeIds = jobIndexPointRepository.GetJobIndexPointByLimitPoint(calculation.Id, 50).Where(j => j.JobIndexId.Id == jobindexId).Select(j => j.EmployeeId); foreach (var employeeId in employeeIds) { var employee = employeeRepository.GetBy(employeeId); var employeeIndexPoints = jobIndexPointRepository.GetBy(calculation.Id, employee.Id); var employeeResult = new EmployeeResultDTO { EmployeeFullName = employee.FullName, EmployeeNo = employeeId.EmployeeNo, //EmployeeJobPositionName = jobPositionNames, TotalPoint = employee.FinalPoint.ToString(CultureInfo.InvariantCulture), }; res.Subordinates.Add(employeeResult); } return(res); }
private void synchronize(int year, int month, int day) { int outYear, outMonth, outDay; PDateHelper.HijriToGregorian(year, month, day, out outYear, out outMonth, out outDay); SelectedDate = string.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}", outYear, outMonth, outDay); }
private void highlightToday(int monthIndex, int year) { int tOutYear, tOutMonth, tOutDay; PDateHelper.GregorianToHijri( DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, out tOutYear, out tOutMonth, out tOutDay); if ((year != tOutYear) || (monthIndex != tOutMonth)) { return; } //highlight today! for (var i = 0; i <= 41; i++) { if (DaysInfo[i + 7].Number != tOutDay.ToString(CultureInfo.InvariantCulture)) { continue; } DaysInfo[i + 7].FontWeight = FontWeights.Bold; DaysInfo[i + 7].BackgroundBrush = CustomBrushes.TodayBackground(); DaysInfo[i + 7].BorderBrush = CustomBrushes.TodayBorderBrush(); } }
//void setSelectedGDate(DependencyPropertyChangedEventArgs e) //{ // if (e.NewValue == null) // { // resetDates(); // return; // } // var eDate = e.NewValue.ToString(); // if (string.IsNullOrWhiteSpace(eDate)) // { // resetDates(); // return; // } // DateTime? result = e.NewValue.DateTimeTryParse(); // if (!result.HasValue) return; // var gDate = result.Value; // //تبديل به تاريخ فارسي // int year, month, day; // if (PDateHelper.GregorianToHijri( // gDate.Year, // gDate.Month, // gDate.Day, // out year, out month, out day)) // { // SelectedPersianDate = string.Format("{0}/{1}/{2}", year, month, day); // } //} void setSelectedPDate(DependencyPropertyChangedEventArgs e) { if (e.NewValue == null) { resetDates(); return; } var pDate = e.NewValue.ToString(); // pDate = pDate.ToResilientPersianDate(); if (string.IsNullOrWhiteSpace(pDate)) { resetDates(); return; } //تکست باکس از ریدوانلی درومد و اینجا هم ترای کچ گزاشته شد تا اگر تاریخ بصورت دستی وارد شد خطا ندهد try { var parts = PDateHelper.ExtractPersianDateParts(pDate); var year = parts.Item1; var month = parts.Item2; var day = parts.Item3; _calendarViewModel.SelectThisDay(year, month, day); } catch { } //synchronize(year, month, day); }
void setSelectedGDate(DependencyPropertyChangedEventArgs e) { if (e.NewValue == null) { return; } var eDate = e.NewValue.ToString(); if (string.IsNullOrWhiteSpace(eDate)) { _calendarViewModel.ResetCalendar(); return; } DateTime?result = e.NewValue.DateTimeTryParse(); if (!result.HasValue) { return; } var gDate = result.Value; //تبديل به تاريخ فارسي int year, month, day; if (PDateHelper.GregorianToHijri( gDate.Year, gDate.Month, gDate.Day, out year, out month, out day)) { SelectedPersianDate = string.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}", year, month, day); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(value); } DateTime?date = value.DateTimeTryParse(); if (!date.HasValue) { return(null); } int year, month, day; if (PDateHelper.GregorianToHijri( date.Value.Year, date.Value.Month, date.Value.Day, out year, out month, out day)) { return(string.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}", year, month.ToString("00", CultureInfo.InvariantCulture), day.ToString("00", CultureInfo.InvariantCulture))); } return(null); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { if (value != null) { return(PDateHelper.HijriToGregorian(((string)value))); } return(null); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { try { return(value != null?PDateHelper.GregorianToHijri((DateTime)value, false).ToPersianNumbers() : null); } catch { return(null); } }
private void setTodayData(int year, int month, int day) { resetGui(); var pDate = string.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}", year, month, day); CalendarGUIData.SelectedPersianDate = pDate; int outYear, outMonth, outDay; PDateHelper.HijriToGregorian(year, month, day, out outYear, out outMonth, out outDay); var gDate = new DateTime(outYear, outMonth, outDay); CalendarGUIData.SelectedDate = gDate; raisePropertyChanged("CalendarGUIData"); }
private void setToday() { int outYear, outMonth, outDay; PDateHelper.GregorianToHijri( DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, out outYear, out outMonth, out outDay); CalendarGUIData.Today = string.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}", outYear, outMonth.ToString("00", CultureInfo.InvariantCulture), outDay.ToString("00", CultureInfo.InvariantCulture)); setTodayData(outYear, outMonth, outDay); if (_currentYear == 0) { getInfoSetCalendar(outMonth, outYear); } }
private void showTodayClick(string obj) { resetTheCache(); int outYear, outMonth, outDay; PDateHelper.GregorianToHijri( DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, out outYear, out outMonth, out outDay); DaysInfo.Clear(); initHeader(); getInfoSetCalendar(outMonth, outYear); if (StartAnimation != null) { StartAnimation(); } }
private void getInfoSetCalendar(int monthIndex, int year) { //saves some cpu cycles... if (monthIndex == _lastMonthIndex && year == _lastYear) { return; } //cache _lastMonthIndex = monthIndex; _lastYear = year; calendarMode = CalendarMode.Month; _currentYear = year; _currentMonth = monthIndex - 1; CalendarGUIData.HeaderText = string.Format(CultureInfo.InvariantCulture, "{0} {1}", Names.MonthNames[monthIndex - 1], year); for (var i = 0; i <= 41; i++) { DaysInfo[i + 7].FontWeight = FontWeights.Normal; } var dayWeek = PDateHelper.Find1StDayOfMonth(year, monthIndex); var noOfDays = monthIndex <= 6 ? 31 : 30; if (_currentMonth == 11) { noOfDays = PDateHelper.IsLeapYear(year) ? 30 : 29; } persianCalendar(dayWeek, noOfDays); highlightToday(monthIndex, year); if (StartAnimation != null) { StartAnimation(); } }
void setSelectedPDate(DependencyPropertyChangedEventArgs e) { if (e.NewValue == null) { return; } var pDate = e.NewValue.ToString(); pDate = pDate.ToResilientPersianDate(); if (string.IsNullOrWhiteSpace(pDate)) { _calendarViewModel.ResetCalendar(); return; } var parts = PDateHelper.ExtractPersianDateParts(pDate); var year = parts.Item1; var month = parts.Item2; var day = parts.Item3; _calendarViewModel.SelectThisDay(year, month, day); synchronize(year, month, day); }
public EmployeeResultDTO GetEmployeeResultInPeriod(long periodIdParam, string employeeNo) { var periodId = new PeriodId(periodIdParam); var period = periodRep.GetById(periodId); var employee = employeeRepository.GetBy(new EmployeeId(employeeNo, periodId)); if (employee == null) { throw new Exception("شماره پرسنلی شما در سیستم موجود نمی باشد"); } var employeeJobPositionIds = employee.JobPositions.Select(j => j.JobPositionId).ToList(); var employeeUnitIds = new List <UnitId>(); var jobPositionNames = string.Empty; var unitNames = string.Empty; var unitRootNames = string.Empty; var calculation = calculationRepository.GetDeterministicCalculation(period); foreach (var jobPositionId in employeeJobPositionIds) { var jobPosition = jobPositionRepository.GetBy(jobPositionId); jobPositionNames += jobPosition.Name; if (employeeJobPositionIds.Count() > 1) { jobPositionNames += " - "; } employeeUnitIds.Add(jobPosition.UnitId); } foreach (var unitId in employeeUnitIds) { var unit = unitRepository.GetBy(unitId); unitNames += unit.Name; if (employeeUnitIds.Count > 1) { unitNames += " - "; } unitRootNames += unit.Parent.Name; if (employeeUnitIds.Count > 1) { unitRootNames += " - "; } } //var finalUnitPoint =jobIndexPointRepository.GetFinalUnitPoint(calculation.Id, employee.Id); var res = new EmployeeResultDTO { PeriodName = period.Name, PeriodTimeLine = "از تاریخ " + PDateHelper.GregorianToHijri(period.StartDate, false) + " تا تاریخ " + PDateHelper.GregorianToHijri(period.EndDate.Date, false), EmployeeFullName = employee.FullName, EmployeeNo = employeeNo, EmployeeJobPositionName = jobPositionNames, TotalPoint = employee.FinalPoint.ToString(CultureInfo.InvariantCulture), EmployeeUnitName = unitNames, EmployeeUnitRootName = unitRootNames, //TotalUnitPoint =finalUnitPoint==null?(0).ToString(): finalUnitPoint.Value.ToString(CultureInfo.InvariantCulture), JobIndexValues = new List <JobIndexValueDTO>() }; var employeeIndexPoints = jobIndexPointRepository.GetBy(calculation.Id, employee.Id); foreach (var indexPoint in employeeIndexPoints) { var jobIndex = (JobIndex)jobIndexRepository.GetById(indexPoint.JobIndexId); res.JobIndexValues.Add(new JobIndexValueDTO { JobIndexName = jobIndex.Name, IndexValue = indexPoint.Value.ToString() }); } return(res); //Find<EmployeePoint>( // jp => // jp.Name == "finalunitPoint" && jp.CalculationId == calculation.Id && // jp.EmployeeId == employee.Id,fs); //var jobpositions=jobPositionRepository. }
public SubordinatesResultDTO GetSubordinatesResultInPeriod(long periodIdParam, string managerEmployeeNo) { var periodId = new PeriodId(periodIdParam); var period = periodRep.GetById(periodId); var manager = employeeRepository.GetBy(new EmployeeId(managerEmployeeNo, periodId)); if (manager == null) { throw new Exception("شماره پرسنلی شما در سیستم موجود نمی باشد"); } var managerJobPositionIds = manager.JobPositions.Select(j => j.JobPositionId).ToList(); var managerUnitIds = new List <UnitId>(); var unitNames = string.Empty; var unitRootNames = string.Empty; var calculation = calculationRepository.GetDeterministicCalculation(period); foreach (var jobPositionId in managerJobPositionIds) { var jobPosition = jobPositionRepository.GetBy(jobPositionId); managerUnitIds.Add(jobPosition.UnitId); } foreach (var unitId in managerUnitIds) { var unit = unitRepository.GetBy(unitId); unitNames += unit.Name; if (managerUnitIds.Count > 1) { unitNames += " - "; } unitRootNames += unit.Parent.Name; if (managerUnitIds.Count > 1) { unitRootNames += " - "; } } //var finalUnitPoint = jobIndexPointRepository.GetFinalUnitPoint(calculation.Id, manager.Id); var res = new SubordinatesResultDTO { PeriodName = period.Name, PeriodTimeLine = "از تاریخ " + PDateHelper.GregorianToHijri(period.StartDate, false) + " تا تاریخ " + PDateHelper.GregorianToHijri(period.EndDate.Date, false), EmployeeUnitName = unitNames, EmployeeUnitRootName = unitRootNames, //TotalUnitPoint = finalUnitPoint == null ? (0).ToString() : finalUnitPoint.Value.ToString(CultureInfo.InvariantCulture), Subordinates = new List <EmployeeResultDTO>() }; var subordinateEmployeeJobposition = new List <JobPosition>(); foreach (var managerJobPositionId in managerJobPositionIds) { subordinateEmployeeJobposition.AddRange(jobPositionRepository.GetAllJobPositionByParentId(managerJobPositionId)); } var employeeIds = subordinateEmployeeJobposition.SelectMany(sj => sj.Employees.Select(e => e.EmployeeId)).ToList(); var oneOfSubordinate = employeeIds.FirstOrDefault(); if (oneOfSubordinate != null) { var finalUnitPoint = jobIndexPointRepository.GetFinalUnitPoint(calculation.Id, oneOfSubordinate); res.TotalUnitPoint = finalUnitPoint.Value.ToString(CultureInfo.InvariantCulture); } foreach (var employeeId in employeeIds) { var employee = employeeRepository.GetBy(employeeId); var employeeIndexPoints = jobIndexPointRepository.GetBy(calculation.Id, employee.Id); var employeeResult = new EmployeeResultDTO { EmployeeFullName = employee.FullName, EmployeeNo = employeeId.EmployeeNo, JobIndexValues = new List <JobIndexValueDTO>(), //EmployeeJobPositionName = jobPositionNames, TotalPoint = employee.FinalPoint.ToString(CultureInfo.InvariantCulture), }; foreach (var indexPoint in employeeIndexPoints) { var jobIndex = (JobIndex)jobIndexRepository.GetById(indexPoint.JobIndexId); employeeResult.JobIndexValues.Add(new JobIndexValueDTO { JobIndexName = jobIndex.Name, IndexValue = indexPoint.Value.ToString(), JobIndexId = jobIndex.SharedJobIndexId.Id, Id = indexPoint.Id.Id }); } res.Subordinates.Add(employeeResult); } return(res); }