Exemple #1
0
        public GroupHolder InitializeGroupDetails(List <TaskHolder> availableTasksToAdd, GroupHolder chooosenGroup, List <TaskHolder> tasks)
        {
            GroupHolder shownGroup = new GroupHolder()
            {
                Id          = chooosenGroup.Id,
                Name        = chooosenGroup.Name,
                Description = chooosenGroup.Description,
                Archivized  = chooosenGroup.Archivized,
                Tasks       = new ObservableCollection <TaskHolder>(),
            };

            foreach (var task in tasks)
            {
                var newTask = new TaskHolder
                {
                    Id          = task.Id,
                    Name        = task.Name,
                    Description = task.Description,
                    Archivized  = task.Archivized,
                    Groups      = new ObservableCollection <GroupHolder>(),
                };

                if (task.Groups.Contains(chooosenGroup))
                {
                    newTask.Groups.Add(shownGroup);
                    shownGroup.Tasks.Add(newTask);
                }
                else
                {
                    availableTasksToAdd.Add(newTask);
                }
            }
            return(shownGroup);
        }
Exemple #2
0
        public void UpdateConfigHolders(ICollection <GroupHolder> groups, ICollection <TaskHolder> tasks, ConfigDto config)
        {
            foreach (var group in config.Groups)
            {
                var groupHolderToUpdate = groups.Where(x => x.Id == group.Id).SingleOrDefault();
                if (groupHolderToUpdate == null)
                {
                    groupHolderToUpdate = new GroupHolder();
                    groups.Add(groupHolderToUpdate);
                }
                groupHolderToUpdate.Tasks = new ObservableCollection <TaskHolder>();
                _holdersConversionService.ConvertFromDto(groupHolderToUpdate, group);
            }

            foreach (var task in config.Tasks)
            {
                var taskHolderToUpdate = tasks.Where(x => x.Id == task.Id).SingleOrDefault();
                if (taskHolderToUpdate == null)
                {
                    taskHolderToUpdate = new TaskHolder();
                    tasks.Add(taskHolderToUpdate);
                }
                taskHolderToUpdate.Groups = new ObservableCollection <GroupHolder>();
                _holdersConversionService.ConvertFromDto(taskHolderToUpdate, task, groups, true);
            }
        }
Exemple #3
0
        public void ApplyChanges(ICollection <GroupHolder> currentGroups, IEnumerable <TaskHolder> currnetTasks, GroupHolder updatedGroup)
        {
            var groupToUpdate = currentGroups.SingleOrDefault(x => x.Id == updatedGroup.Id);

            if (groupToUpdate == null)
            {
                groupToUpdate = new GroupHolder();
                currentGroups.Add(groupToUpdate);
            }
            groupToUpdate.Name        = updatedGroup.Name;
            groupToUpdate.Description = updatedGroup.Description;
            if (groupToUpdate.Tasks == null)
            {
                groupToUpdate.Tasks = new ObservableCollection <TaskHolder>();
            }


            foreach (var task in currnetTasks)
            {
                var groupInDetails = updatedGroup.Tasks.Where(x => x.Id == task.Id).SingleOrDefault();

                if (!groupToUpdate.Tasks.Contains(task) && groupInDetails != null)
                {
                    task.Groups.Add(groupToUpdate);
                    groupToUpdate.Tasks.Add(task);
                }

                if (groupToUpdate.Tasks.Contains(task) && groupInDetails == null)
                {
                    task.Groups.Remove(groupToUpdate);
                    groupToUpdate.Tasks.Remove(task);
                }
            }
        }
Exemple #4
0
        public void ConvertFromDto(GroupDto dto, GroupHolder group, IEnumerable <TaskDto> groups, bool updateGroups)
        {
            ConvertFromDto(group, dto);
            if (dto.Tasks == null)
            {
                return;
            }

            foreach (var task in group.Tasks)
            {
                var taskDto = groups.Where(x => x.Id == task.Id).SingleOrDefault();
                if (taskDto == null)
                {
                    continue;
                }
                if (!dto.Tasks.Contains(taskDto))
                {
                    dto.Tasks.Add(taskDto);
                }

                if (updateGroups)
                {
                    if (taskDto.Groups == null)
                    {
                        taskDto.Groups = new List <GroupDto>();
                    }

                    if (!taskDto.Groups.Contains(dto))
                    {
                        taskDto.Groups.Add(dto);
                    }
                }
            }
        }
Exemple #5
0
        public void ConvertFromDto(GroupHolder group, GroupDto dto, IEnumerable <TaskHolder> groups, bool updateGroups)
        {
            ConvertFromDto(group, dto);
            if (dto.Tasks == null)
            {
                return;
            }

            foreach (var task in dto.Tasks)
            {
                var taskHolder = groups.Where(x => x.Id == task.Id).SingleOrDefault();
                if (taskHolder == null)
                {
                    continue;
                }
                if (!group.Tasks.Contains(taskHolder))
                {
                    group.Tasks.Add(taskHolder);
                }

                if (updateGroups)
                {
                    if (taskHolder.Groups == null)
                    {
                        taskHolder.Groups = new ObservableCollection <GroupHolder>();
                    }

                    if (!taskHolder.Groups.Contains(group))
                    {
                        taskHolder.Groups.Add(group);
                    }
                }
            }
        }
Exemple #6
0
 public void ConvertFromDto(GroupHolder group, GroupDto dto)
 {
     ConvertFromNamedModelDto(group, dto);
     if (group.Tasks == null)
     {
         group.Tasks = new ObservableCollection <TaskHolder>();
     }
 }
Exemple #7
0
 public void ConvertToDto(GroupDto dto, GroupHolder group)
 {
     ConvertToNamedModelDto(dto, group);
     if (dto.Tasks == null)
     {
         dto.Tasks = new List <TaskDto>();
     }
 }
Exemple #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="groupHolder"></param>
        public void UpdateGroup([NotNull] GroupHolder groupHolder)
        {
            Assert.ArgumentNotNull(groupHolder, "groupHolder");

            if (_groupWidget.ViewModelUid == groupHolder.Uid)
            {
                _groupWidget.UpdateModel(groupHolder.Characters);
            }
        }
Exemple #9
0
        public GroupHolder CreateNewGroup(IEnumerable <GroupHolder> groups)
        {
            var newGroup = new GroupHolder()
            {
                Id    = GenerateTemporaryId(groups),
                Name  = GetNameWithIndexIfNeeded("New group", groups),
                Tasks = new ObservableCollection <TaskHolder>(),
            };

            return(newGroup);
        }
        public void Initialize(GroupHolder chooosenGroup, List <TaskHolder> tasks)
        {
            if (chooosenGroup == null)
            {
                GroupDetailsPanel.Visibility = Visibility.Hidden;
                return;
            }

            GroupDetailsPanel.Visibility = Visibility.Visible;
            _availableTasksToAdd         = new List <TaskHolder>();

            ShownGroup = _holdersService.InitializeGroupDetails(_availableTasksToAdd, chooosenGroup, tasks);
        }
Exemple #11
0
        public TaskHolder InitializeTaskDetails(List <GroupHolder> availableGroupsToAdd, TaskHolder choosenTask, List <GroupHolder> groups)
        {
            TaskHolder shownTask = new TaskHolder()
            {
                Id          = choosenTask.Id,
                Name        = choosenTask.Name,
                Description = choosenTask.Description,
                StartDate   = choosenTask.StartDate,
                Frequency   = choosenTask.Frequency,
                Archivized  = choosenTask.Archivized,
                Groups      = new ObservableCollection <GroupHolder>(),
            };

            foreach (var group in groups)
            {
                var newGroup = new GroupHolder
                {
                    Id          = group.Id,
                    Name        = group.Name,
                    Description = group.Description,
                    Archivized  = group.Archivized,
                    Tasks       = new ObservableCollection <TaskHolder>(),
                };

                if (group.Tasks.Contains(choosenTask))
                {
                    newGroup.Tasks.Add(shownTask);
                    shownTask.Groups.Add(newGroup);
                }
                else
                {
                    availableGroupsToAdd.Add(newGroup);
                }
            }
            return(shownTask);
        }
Exemple #12
0
        internal Group(IntPtr pConstGroup)
        {
            GroupHolder holder = new GroupHolder(pConstGroup);

            ConstructConstObject(holder, -1);
        }
            //@Override
            public override View GetGroupView(int groupPosition, bool isExpanded,
                    View convertView, ViewGroup parent)
            {
                GroupHolder groupHolder = null;
                if (convertView == null)
                {
                    groupHolder = new GroupHolder();
                    convertView = inflater.Inflate(R.Layout.group, null);
                    groupHolder.textView = (TextView)convertView
                            .FindViewById(R.Id.group);
                    groupHolder.imageView = (ImageView)convertView
                            .FindViewById(R.Id.image);
                    convertView.Tag=groupHolder;
                }
                else
                {
                    groupHolder = (GroupHolder)convertView.Tag;
                }

                groupHolder.textView.Text=((Group)GetGroup(groupPosition))
                        .getTitle();
                if (isExpanded)// ture is Expanded or false is not isExpanded
                    groupHolder.imageView.SetImageResource(R.Drawable.expanded);
                else
                    groupHolder.imageView.SetImageResource(R.Drawable.collapse);
                return convertView;
            }