Example #1
0
        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
         }
     });
 }
Example #5
0
        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);
        }