public IEnumerable <TimeSheetJson> GetTimeSheetsByUserIdForFirstTime(Guid userID) { List <TimeSheetJson> result = new List <TimeSheetJson>(); UnitOfWork uow = new UnitOfWork(); UserManager userManager = new UserManager(uow); ProjectManager projectManager = new Domain.ProjectManager(uow); TimeSheetManager timeSheetManager = new TimeSheetManager(uow); DisplayPeriodManager displayPeriodMnager = new DisplayPeriodManager(uow); User currentUser = new UserHelper().GetCurrent(); User user = userManager.GetByID(userID); DisplayPeriod displayPeriod = displayPeriodMnager.GetDisplayPeriod(currentUser); DateTime fromDate = DateTime.Now.AddDays(-7); DateTime toDate = DateTime.Now; if (displayPeriod.IsWeekly) { fromDate = DateTime.Today.StartOfWeek(DayOfWeek.Saturday); toDate = DateTime.Today.EndOfWeek(DayOfWeek.Friday); } else { toDate = fromDate.AddDays(displayPeriod.NumOfDays); } IEnumerable <WorkHour> workHours = timeSheetManager.GetWorkHoursByUser(user, fromDate, toDate); IEnumerable <PresenceHour> presHours = timeSheetManager.GetPresHoursByUser(user, fromDate, toDate); result = TimeSheetAssembler.ToJsonsForConfirm(presHours, workHours, user); return(result); }
private void SyncWithPWA(UnitOfWork unitOfWork) { try { ProjectManager projectManager = new Domain.ProjectManager(unitOfWork); projectManager.Sync(); } catch (Exception ex) { string str = ex.Message; } }
public IEnumerable <TimeSheetJson> GetPreviousPeriod(WorkHourJson workHourJson) { List <TimeSheetJson> result = new List <TimeSheetJson>(); if (workHourJson == null) { workHourJson = new WorkHourJson(); workHourJson.Date = DateTime.Now; } var startDate = workHourJson.Date; UnitOfWork uow = new UnitOfWork(); UserManager userManager = new UserManager(uow); ProjectManager projectManager = new Domain.ProjectManager(uow); TimeSheetManager timeSheetManager = new TimeSheetManager(uow); DisplayPeriodManager displayPeriodMnager = new DisplayPeriodManager(uow); //SyncWithPWA(uow); User currUser = new UserHelper().GetCurrent(); DisplayPeriod displayPeriod = displayPeriodMnager.GetDisplayPeriod(currUser); var dt = startDate.AddDays(-1); DateTime fromDate = dt.AddDays(-displayPeriod.NumOfDays); DateTime toDate = dt; if (displayPeriod.IsWeekly) { fromDate = dt.StartOfWeek(DayOfWeek.Saturday); toDate = dt.EndOfWeek(DayOfWeek.Friday); IEnumerable <PresenceHour> presHours = timeSheetManager.GetPresHoursByUser(currUser, fromDate, toDate); IEnumerable <WorkHour> workHours = timeSheetManager.GetWorkHoursByUser(currUser, fromDate, toDate); result = TimeSheetAssembler.ToJsonsForRegister(presHours, workHours); } else { IEnumerable <PresenceHour> presHours = timeSheetManager.GetPresHoursByUser(currUser, fromDate, toDate); IEnumerable <WorkHour> workHours = timeSheetManager.GetWorkHoursByUser(currUser, fromDate, toDate); if (presHours.Count() < displayPeriod.NumOfDays) { fromDate = timeSheetManager.GetFirstPresenceHour().Date; toDate = fromDate.AddDays(displayPeriod.NumOfDays); presHours = timeSheetManager.GetPresHoursByUser(currUser, fromDate, toDate); } result = TimeSheetAssembler.ToJsonsForRegister(presHours, workHours); } return(result); }
public IEnumerable <TimeSheetJson> GetTimeSheetsByUserId(GetThisMonthDataByUserJson json) { List <TimeSheetJson> result = new List <TimeSheetJson>(); UnitOfWork uow = new UnitOfWork(); UserManager userManager = new UserManager(uow); ProjectManager projectManager = new Domain.ProjectManager(uow); TimeSheetManager timeSheetManager = new TimeSheetManager(uow); DisplayPeriodManager displayPeriodMnager = new DisplayPeriodManager(uow); User currentUser = new UserHelper().GetCurrent(); User user = userManager.GetByID(Guid.Parse(json.userid.ToString())); DisplayPeriod displayPeriod = displayPeriodMnager.GetDisplayPeriod(currentUser); DateTime fromDate = DateTime.Now.AddDays(-7); DateTime toDate; if (json.values != null) { if (json.values.Count > 0) { fromDate = json.values[0].Date; toDate = json.values[json.values.Count() - 1].Date; } } if (displayPeriod.IsWeekly) { fromDate = DateTime.Today.StartOfWeek(DayOfWeek.Saturday); toDate = DateTime.Today.EndOfWeek(DayOfWeek.Friday); } else { toDate = fromDate.AddDays(displayPeriod.NumOfDays); } IEnumerable <WorkHour> workHours = timeSheetManager.GetWorkHoursByUser(user, fromDate, toDate); IEnumerable <PresenceHour> presHours = timeSheetManager.GetPresHoursByUser(user, fromDate, toDate); result = TimeSheetAssembler.ToJsonsForConfirm(presHours, workHours, user); return(result); }
public IEnumerable <TimeSheetJson> GetTimeSheetsByDateAndNumberOfDay(PeriodNumberDateJson period) { List <TimeSheetJson> result = new List <TimeSheetJson>(); UnitOfWork uow = new UnitOfWork(); UserManager userManager = new UserManager(uow); ProjectManager projectManager = new Domain.ProjectManager(uow); TimeSheetManager timeSheetManager = new TimeSheetManager(uow); DisplayPeriodManager displayPeriodMnager = new DisplayPeriodManager(uow); var displayPeriod = DisplayPeriodUtilities.ConvertPeriodNumberDateJsonToDisplayPeriod(period); //SyncWithPWA(uow); User currUser = new UserHelper().GetCurrent(); displayPeriodMnager.Save(displayPeriod); DateTime fromDate = displayPeriod.StartDate; DateTime toDate = fromDate.AddDays(displayPeriod.NumOfDays); IEnumerable <PresenceHour> presHours = timeSheetManager.GetPresHoursByUser(currUser, fromDate, toDate); IEnumerable <WorkHour> workHours = timeSheetManager.GetWorkHoursByUser(currUser, fromDate, toDate); result = TimeSheetAssembler.ToJsonsForRegister(presHours, workHours); return(result); }
public IEnumerable <TimeSheetJson> GetTimeSheets() { List <TimeSheetJson> result = new List <TimeSheetJson>(); UnitOfWork uow = new UnitOfWork(); UserManager userManager = new UserManager(uow); ProjectManager projectManager = new Domain.ProjectManager(uow); TimeSheetManager timeSheetManager = new TimeSheetManager(uow); DisplayPeriodManager displayPeriodMnager = new DisplayPeriodManager(uow); User currUser = new UserHelper().GetCurrent(); DateTime fromDate; DateTime toDate = DateTime.MaxValue; DisplayPeriod displayPeriod = displayPeriodMnager.GetDisplayPeriod(currUser); if (displayPeriod != null) { fromDate = displayPeriod.StartDate; if (displayPeriod.IsWeekly) { fromDate = DateTime.Today.StartOfWeek(DayOfWeek.Saturday); toDate = DateTime.Today.EndOfWeek(DayOfWeek.Friday); } else { toDate = fromDate.AddDays(displayPeriod.NumOfDays); } } else { fromDate = DateTime.Today.StartOfWeek(DayOfWeek.Saturday); toDate = DateTime.Today.EndOfWeek(DayOfWeek.Friday); } IEnumerable <WorkHour> workHours = timeSheetManager.GetWorkHoursByUser(currUser, fromDate, toDate); IEnumerable <PresenceHour> presHours = timeSheetManager.GetPresHoursByUser(currUser, fromDate, toDate); result = TimeSheetAssembler.ToJsonsForRegister(presHours, workHours); return(result); }