Exemplo n.º 1
0
 public void UpdateControl(MasterTaskViewModel master)
 {
     Dispatcher.BeginInvoke(new Action(() =>
     {
         container.Children.Clear();
         var i         = 0;
         var totalRows = 0;
         foreach (var child in master.Children)
         {
             var isLast = i == master.Children.Count - 1;
             var height = child.Rows * Config.RowHeight;
             if (isLast)
             {
                 if (totalRows + child.Rows < master.Rows)
                 {
                     height = (master.Rows - totalRows) * Config.RowHeight;
                 }
             }
             totalRows += child.Rows;
             container.Children.Add(new SubTaskRow(child)
             {
                 VerticalAlignment = VerticalAlignment.Top,
                 Height            = height,
                 Margin            = new Thickness(0, Config.RowHeight * i, 0, 0)
             });
             i++;
         }
     }));
 }
        public MasterTaskViewModel ViewGet(int id)
        {
            var dbMasterTask = _context.MasterTasks.Find(id);
            var dbTcList     = (from map in _context.TaskCategoryMaps
                                where map.MasterTaskId == id
                                from tc in _context.TaskCategories
                                where tc.Id == map.TaskCategoryId
                                orderby tc.Name
                                select tc).ToList();
            MasterTaskViewModel mtViewModel = _mapper.Map <MasterTaskViewModel>(dbMasterTask);

            mtViewModel.TaskCategoryViewModels.AddRange(_mapper.Map <List <TaskCategoryViewModel> >(dbTcList));
            return(mtViewModel);
        }
Exemplo n.º 3
0
 public TaskTableRow(MasterTaskViewModel row) : this()
 {
     Model = row;
     Dispatcher.Invoke(UpdateControl);
 }
Exemplo n.º 4
0
        private void BuildPageData(List <TaskViewModel> list, Models.Task task, IEnumerable <SubTask> masters)
        {
            var taskViewModel = new TaskViewModel {
                TaskName = task.Name
            };

            list.Add(taskViewModel);

            var totalRows = 0;

            foreach (var master in masters.OrderBy(e => e.ID))
            {
                var masterViewModel = new MasterTaskViewModel
                {
                    ID           = master.ID,
                    ScheduleDate = master.ScheduleDate,
                    TaskName     = master.Content,
                    Department   = master.ToDepartmentName,
                };

                foreach (var child in master.Children)
                {
                    var childViewModel = new SubTaskViewModel
                    {
                        Name       = child.Content,
                        Status     = child.Status,
                        Department = child.ToDepartmentName,
                    };
                    if (totalRows + childViewModel.Rows > Config.MaxRows)
                    {
                        taskViewModel.Children.Add(masterViewModel);

                        masterViewModel = new MasterTaskViewModel
                        {
                            ID           = master.ID,
                            ScheduleDate = master.ScheduleDate,
                            TaskName     = master.Content,
                            Department   = master.ToDepartmentName,
                        };
                        masterViewModel.Children.Add(childViewModel);

                        totalRows     = masterViewModel.Rows;
                        taskViewModel = new TaskViewModel {
                            TaskName = task.Name
                        };
                        list.Add(taskViewModel);
                    }
                    else
                    {
                        masterViewModel.Children.Add(childViewModel);
                        totalRows += childViewModel.Rows;
                    }
                }

                if (masterViewModel.Children.Count > 0)
                {
                    taskViewModel.Children.Add(masterViewModel);
                }
                if (totalRows >= Config.MaxRows)
                {
                    totalRows     = 0;
                    taskViewModel = new TaskViewModel {
                        TaskName = task.Name
                    };
                    list.Add(taskViewModel);
                }
            }
        }