public IActionResult GetDefualtConfigData() { try { var conf = this.DBContext.TimeSheetConfig.FirstOrDefault(); if (conf == null) { conf = new TimeSheetConfig() { DefualtOpenTimeSheetWeeks = 1, TimeSheetLockDate = DateTime.Today }; this.DBContext.TimeSheetConfig.Add(conf); } return(Ok(new vmTimeSheetConfig() { defualtOpenTimeSheetWeeks = conf.DefualtOpenTimeSheetWeeks, timeSheetLockDate = DateUtility.GetPersianDate(conf.TimeSheetLockDate) })); } catch (Exception ex) { return(this.ReturnError(ex, "خطا در دریافت اطلاعات پیش فرض سیستم")); } }
public static HoliDayJson ToJson(Holiday holiday) { var json = new HoliDayJson(); json.CalendarID = holiday.CalendarID; json.ID = holiday.ID; json.Date = DateUtility.GetPersianDate(holiday.Date); return(json); }
public WorkHourHistoryJson ToJson(WorkHourHistory entity) { WorkHourHistoryJson json = new WorkHourHistoryJson(); json.Action = entity.Action; json.Description = entity.Description; json.ID = entity.ID; json.ManagerName = entity.Manager.UserTitle; json.PersianDate = DateUtility.GetPersianDate(entity.Date); json.Time = DateUtility.ConvertDateTimeToTime(entity.Date); json.StageTitle = entity.Stage.Title; return json; }
public WorkHourJson ToJson(WorkHour entity) { var result = new WorkHourJson(); result.ID = entity.ID; result.Action = entity.Action; result.PersianDate = DateUtility.GetPersianDate(entity.Date); result.Description = entity.Description; result.UserName = entity.Employee.UserName; result.Hours = entity.Hours; result.ProjectTitle = entity.Project.Title; result.TaskTitle = entity.Task.Title; result.WorkFlowStageTitle = entity.WorkflowStage.Title; return(result); }
public HourlyMissionJson ToJson(HourlyMission hourlyMission) { HourlyMissionJson result = new HourlyMissionJson(); result.ID = hourlyMission.ID; result.RegisterDate = DateUtility.GetPersianDate(hourlyMission.RegisterDate); result.MissionDate = DateUtility.GetPersianDate(hourlyMission.Date); result.From = DateUtility.ConvertDateTimeToTime(hourlyMission.From); result.TO = DateUtility.ConvertDateTimeToTime(hourlyMission.To); result.Organisation = hourlyMission.OrganisationId != null ? hourlyMission.Organisation.Title : "فاقد واحد سازمانی"; result.PersonnelNumber = hourlyMission.User.Code != null ? hourlyMission.User.Code : "فاقد کد پرسنلی"; result.ProjectTitle = hourlyMission.Project != null ? hourlyMission.Project.Title : "فاقد پروژه"; result.UserTitle = hourlyMission.User.UserTitle; return(result); }
public IActionResult GetDefaultPoliciesList(string ver) { try { if (!this.MainChecks(ver, out string error)) { throw new Exception(error); } var now = DateTime.Now.Date; var answer = this.DBContext.TimesheetPolicies .Where(p => p.IsDefault && p.Validity.Date >= now && p.UserId.HasValue) .OrderBy(p => p.User.UserTitle) .Select(p => new { p.Id, p.isDeactivated, p.IsOpen, p.Start, p.Finish, p.User.UserTitle, p.UserId, p.Validity, p.UserMustHasHozoor, p.CreateDate }).ToList().Select(p => new vmTimesheetPolicy { id = p.Id, finish = DateUtility.GetPersianDate(p.Finish), isDeactivated = p.isDeactivated, createDate = DateUtility.GetPersianDate(p.CreateDate), isOpen = p.IsOpen, start = DateUtility.GetPersianDate(p.Start), userId = p.UserId, userTitle = p.UserTitle, userMustHasHozoor = p.UserMustHasHozoor, validity = DateUtility.GetPersianDate(p.Validity) }); return(Ok(answer)); } catch (Exception ex) { return(this.ReturnError(ex, "خطا در دریافت اطلاعات قانون های اصلی سیستم")); } }
public DailyLeaveJson ToJson(DailyLeave dailyLeave) { DailyLeaveJson result = new DailyLeaveJson(); result.ID = dailyLeave.ID; result.RejisterDate = DateUtility.GetPersianDate(dailyLeave.RegisterDate); result.From = DateUtility.GetPersianDate(dailyLeave.From); result.TO = DateUtility.GetPersianDate(dailyLeave.To); result.Organisation = dailyLeave.OrganisationId != null? dailyLeave.Organisation.Title : "فاقد واحد سازمانی"; result.PersonnelNumber = dailyLeave.User.Code != null ? dailyLeave.User.Code : "فاقد کد پرسنلی"; result.ProjectTitle = dailyLeave.Project != null? dailyLeave.Project.Title:"فاقد پروژه"; result.Type = Enum.IsDefined(dailyLeave.Type) ? dailyLeave.Type.GetDisplayName() :"فاقد نوع"; result.Successor = dailyLeave.Successor != null?dailyLeave.Successor.UserTitle.ToString() : "فاقد جانشین"; result.UserTitle = dailyLeave.User.UserTitle; return(result); }
public FinalReport AssembleDailyOnProjects(ReportParametersFromToJson parametres) { var result = new FinalReport(); UnitOfWork uow = new UnitOfWork(); var currentUser = new UserHelper().GetCurrent(); TimeSheetManager TimeSheetManager = new TimeSheetManager(uow); var from = DateUtility.GetMiladiDate(parametres.FromDate); var to = DateUtility.GetMiladiDate(parametres.ToDate); var currentDate = from; var workHours = TimeSheetManager.GetWorkHoursByUser(currentUser, from, to); //سطر ها while (currentDate.Date <= to) { var row = new ReportRow(); row.ID = Guid.NewGuid(); row.Title = DateUtility.GetPersianDate(currentDate); result.Rowes.Add(row); currentDate = currentDate.AddDays(1).Date; } var SumTotal = new ReportRow(); SumTotal.ID = Guid.NewGuid(); SumTotal.Title = "جمع کل"; result.Rowes.Add(SumTotal); //ستون ها foreach (var wh in workHours.GroupBy(x => x.ProjectId).Select(y => y.FirstOrDefault()).ToList()) { var field = new Field(); field.ID = wh.ProjectId; field.Title = wh.Project.Title; result.Fields.Add(field); foreach (var row in result.Rowes) { if (row.Title == "جمع کل") { var sumWorkHour = workHours.Where(x => x.ProjectId == wh.ProjectId).Sum(x => x.Hours); var fieldValuesumWorkHour = new FieldValue(); fieldValuesumWorkHour.CalculativeValue = sumWorkHour; fieldValuesumWorkHour.FieldId = field.ID; fieldValuesumWorkHour.RowId = row.ID; fieldValuesumWorkHour.Value = DateUtility.ConvertToTimeSpan(sumWorkHour); row.Values.Add(fieldValuesumWorkHour); } else { var sumWorkHour = workHours.Where(x => x.Date == DateUtility.GetMiladiDate(row.Title) && x.ProjectId == wh.ProjectId).Sum(x => x.Hours); var fieldValuesumWorkHour = new FieldValue(); fieldValuesumWorkHour.CalculativeValue = sumWorkHour; fieldValuesumWorkHour.FieldId = field.ID; fieldValuesumWorkHour.RowId = row.ID; fieldValuesumWorkHour.Value = DateUtility.ConvertToTimeSpan(sumWorkHour); row.Values.Add(fieldValuesumWorkHour); } } } var Aggregation = new Field(); Aggregation.Title = "جمع کارکرد"; Aggregation.ID = Guid.NewGuid(); result.Fields.Add(Aggregation); var PresenceTotal = new Field(); PresenceTotal.Title = "جمع حضور"; PresenceTotal.ID = Guid.NewGuid(); result.Fields.Add(PresenceTotal); var DifferenceTotal = new Field(); DifferenceTotal.Title = "جمع اختلاف"; DifferenceTotal.ID = Guid.NewGuid(); result.Fields.Add(DifferenceTotal); foreach (var row in result.Rowes) { if (row.Title == "جمع کل") { var sumworkHourTotal = workHours.Sum(X => X.Hours); var fildvalueWork = new FieldValue(); fildvalueWork.FieldId = Guid.NewGuid(); fildvalueWork.RowId = row.ID; fildvalueWork.Value = DateUtility.ConvertToTimeSpan(sumworkHourTotal); row.Values.Add(fildvalueWork); double sumPresenceHourTotal = 0; sumPresenceHourTotal = TimeSheetManager.GetPresHoursByUser(currentUser, from, to).Sum(x => x.Hours); var fildvaluePresenceTotal = new FieldValue(); fildvaluePresenceTotal.FieldId = Guid.NewGuid(); fildvaluePresenceTotal.RowId = row.ID; fildvaluePresenceTotal.Value = DateUtility.ConvertToTimeSpan(sumPresenceHourTotal); row.Values.Add(fildvaluePresenceTotal); var fildvalueDifferencTotal = new FieldValue(); fildvalueDifferencTotal.FieldId = Guid.NewGuid(); fildvalueDifferencTotal.RowId = row.ID; fildvalueDifferencTotal.Value = DateUtility.ConvertToTimeSpan(sumPresenceHourTotal - sumworkHourTotal); row.Values.Add(fildvalueDifferencTotal); } else { var sumworkHour = row.Values.Sum(y => y.CalculativeValue); var fildvalueWork = new FieldValue(); fildvalueWork.FieldId = Guid.NewGuid(); fildvalueWork.RowId = row.ID; fildvalueWork.Value = DateUtility.ConvertToTimeSpan(sumworkHour); row.Values.Add(fildvalueWork); double sumPresenceHour = 0; sumPresenceHour = TimeSheetManager.GetPresenceHourByUserIdAndDate(currentUser.ID, DateUtility.GetMiladiDate(row.Title)) != null ? TimeSheetManager.GetPresenceHourByUserIdAndDate(currentUser.ID, DateUtility.GetMiladiDate(row.Title)).Hours : 0; var fildvaluePresence = new FieldValue(); fildvaluePresence.FieldId = Guid.NewGuid(); fildvaluePresence.RowId = row.ID; fildvaluePresence.Value = DateUtility.ConvertToTimeSpan(sumPresenceHour); row.Values.Add(fildvaluePresence); var fildvalueDifferenc = new FieldValue(); fildvalueDifferenc.FieldId = Guid.NewGuid(); fildvalueDifferenc.RowId = row.ID; fildvalueDifferenc.Value = DateUtility.ConvertToTimeSpan(sumPresenceHour - sumworkHour); row.Values.Add(fildvalueDifferenc); } } result.HeaderTitle = "گزارش روزانه پروژه ها"; result.FirstColumnTitle = "تاریخ"; return(result); }