public virtual ObservableCollection <ProjectHourRegistration> CreateProjectHoursFromHeaders(IEnumerable <ForecastRegistrationDateColumn> dateHeaders , IForecastRegistrationViewModel viewModel , ProjectRegistration parent) { var result = new ObservableCollection <ProjectHourRegistration>(); foreach (var dateHeader in dateHeaders) { var projectHours = new ProjectHourRegistration(parent); dateHeader.AddProjectHours(projectHours); // Hookup for updating totals var dateItem = projectHours.DateColumn; projectHours .HoursUpdated .Subscribe(x => { viewModel.CalculateTotals(dateItem); viewModel.RaiseCanExecuteActions(); }); InitializeIsEditEnabled(viewModel, projectHours); result.Add(projectHours); } return(result); }
private void AddClientHourRegistration(ProjectRegistration projectRegistration, ForecastRegistrationDateColumn dateColumn, decimal hours) { var clientHourReg = new ProjectHourRegistration(projectRegistration) { Hours = hours }; dateColumn.AddProjectHours(clientHourReg); }
private void AddDateColumnWithClientRegistration(ProjectRegistration projectRegistration, decimal hours, bool isEditEnabled) { var dateColumn = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)); var clientHourRegistration = new ProjectHourRegistration(projectRegistration) { Hours = hours, IsEditEnabled = isEditEnabled }; dateColumn.AddProjectHours(clientHourRegistration); projectRegistration.Registrations.Add(clientHourRegistration); }
private static ForecastProjectHoursDto BuildForecastProjectHoursDto(ProjectHourRegistration projHours) { return(new ForecastProjectHoursDto { Hours = projHours.Hours, Project = new ProjectDto { Id = projHours.Parent.ProjectId, Name = projHours.Parent.ProjectName } }); }
private ObservableCollection <ProjectHourRegistration> CreateClientDateRegistrations(ProjectRegistration parent) { var dateColumns = CreateDateHeaders(); var result = new ObservableCollection <ProjectHourRegistration>(); foreach (var forecastDateColumn in dateColumns) { var clientHourReg = new ProjectHourRegistration(parent) { Hours = 6.5m }; forecastDateColumn.AddProjectHours(clientHourReg); result.Add(clientHourReg); } result.Last().Hours = 0; return(result); }
private IEnumerable <ProjectHourRegistration> CreateHoursForMonth(int month, int year, decimal defaultHours, ProjectRegistration parent) { var result = new List <ProjectHourRegistration>(); var day = new DateTime(year, month, 1); while (day.Month == month) { if (!day.IsWeekend()) { var dateColumn = new ForecastRegistrationDateColumn(day); var hourReg = new ProjectHourRegistration(parent) { Hours = defaultHours }; dateColumn.AddProjectHours(hourReg); result.Add(hourReg); } day = day.AddDays(1); } return(result); }