예제 #1
0
 public TaskPage()
 {
     _vm = new TaskPageViewModel();
     InitializeComponent();
     this.BindingContext           = _vm;
     this.taskListView.ItemTapped += async(s, e) =>
     {
         var item = (Tasks)e.Item;
         var page = (NavigationPage)App.Current.MainPage;
         await page.Navigation.PushAsync(new TaskDetailPage(new TaskDetailPageViewModel(item, false)));
     };
 }
        /// <summary>
        /// This is the constructor for Task Page
        /// </summary>
        /// <param name="selectedTask">The Task currenty showing in this page</param>
        public TaskPage(TaskViewModel selectedTask)
        {
            InitializeComponent();
            SubscribingInformation();

            ViewModel      = new TaskPageViewModel();
            BindingContext = ViewModel;

            Title = selectedTask.TaskInfo.TaskTypeDescription;

            TaskDetails.Children.Add(new TaskDetailsView(selectedTask));
            TaskTest.Children.Add(new TaskTestView(selectedTask));
            TaskTimeline.Children.Add(new TaskTimelineView(selectedTask));
        }
예제 #3
0
        internal TaskPage(TaskVM selectedTask)
        {
            _viewModel = new TaskPageViewModel(selectedTask);

            _viewModel.ShowUserListPopup = SetUserListPopup;
            _viewModel.DeleteTaskPopup   = SetConfirmDeleteTaskPopup;

            _viewModel.ClosePage = () => Navigation.PopAsync();
            _viewModel.DisplayExceptionMessage = (exMessage) => DisplayAlert(AppResources.Error, exMessage, AppResources.Ok);
            _viewModel.CloseUserListPopup      = () => TaskPopup.IsOpen = false;

            BindingContext = _viewModel;
            InitializeComponent();
        }
예제 #4
0
파일: TaskPage.xaml.cs 프로젝트: vuchl/DoIt
        protected override async void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            if (this.DataContext == null)
            {
                string taskIdString = "";
                if (NavigationContext.QueryString.TryGetValue("id", out taskIdString))
                {
                    this.IsEnabled = false;
                    //Lade bekannten Task.
                    SystemTrayHelper.ShowProgress(this, Localization.Strings.MainPageProgressIndicatorLoggingIn, 1);
                    await App.DataManager.LogInTask;
                    SystemTrayHelper.ShowProgress(this, Localization.Strings.TaskPageProgressIndicatorLoadingTask, 1);
                    var task = await App.DataManager.GetTask(taskIdString);

                    SystemTrayHelper.HideProgress(this);
                    if (task != null)
                    {
                        this.DataContext = new TaskPageViewModel(App.DataManager, task);
                        this.IsEnabled   = true;
                    }
                    else
                    {
                        if (System.Diagnostics.Debugger.IsAttached) //Fehler, selbst online existiert der Task nicht
                        {
                            System.Diagnostics.Debugger.Break();
                        }
                        Controls.SafeMessageBox.Show(Localization.Strings.TaskPageNotFoundMessage, "");
                        isRemoved = true;
                        this.NavigationService.GoBack();
                        return;
                    }
                }
                else //Neuer Task wurde erstellt.
                {
                    if (NavigationContext.QueryString.TryGetValue("copy", out taskIdString))
                    {
                        this.DataContext = TaskPageViewModel.CreateTask(App.DataManager, taskIdString);
                    }
                    else
                    {
                        this.DataContext = TaskPageViewModel.CreateTask(App.DataManager);
                    }
                }
            }

            SetupAppBar();
        }
예제 #5
0
        public TaskPageCode()
        {
            BindingContext = new TaskPageViewModel();


            var taskView = new TaskLoaderView();
            var stack    = new StackLayout();
            var label    = new Label();

            label.Text = "CODE UI";
            label.HorizontalOptions = LayoutOptions.CenterAndExpand;
            label.VerticalOptions   = LayoutOptions.CenterAndExpand;
            stack.Children.Add(label);
            taskView.Content = stack;


            taskView.SetBinding(TaskLoaderView.ViewModelLoaderProperty, "DummyViewModel");

            Content = taskView;
        }
예제 #6
0
        public IActionResult Index(string selector)
        {
            if (!_signInManager.IsSignedIn(User))
            {
                return(RedirectToAction("Login", "Account"));
            }
            var         userId = _userManager.GetUserId(HttpContext.User);
            var         user   = _db.Users.FirstOrDefault(x => x.Id == userId);
            Participant participant;

            if (user.LastSelectedProjectId == null)
            {
                var participants = _db.Participants.Include(x => x.Team).Include(x => x.User).Include(x => x.Project).ThenInclude(x => x.Tasks).Where(x => x.User.Id == userId).ToList();
                if (participants.Count > 1)
                {
                    return(RedirectToAction("Index", "Project"));
                }

                if (participants.Count == 0)
                {
                    return(View("AvailableProjectNotFound"));
                }
                participant = participants.FirstOrDefault();
                user.LastSelectedProjectId = participant.Project.Id;
                _db.Users.Update(user);
            }
            else
            {
                participant = _db.Participants.Include(x => x.Team).Include(x => x.User).Include(x => x.Project).FirstOrDefault(x => (x.User.Id == userId) & (x.Project.Id == user.LastSelectedProjectId));
            }
            var vm        = new TaskPageViewModel();
            var AllMyTask = _db.Tasks.Include(x => x.Assignee).ThenInclude(x => x.User)
                            .Where(x => x.Assignee.Id == participant.Id).ToList();

            vm.MyOpenTask = AllMyTask
                            .Where(x => x.Status != TaskStatusEnum.Done).ToList();
            vm.AllMyClosedTasks = AllMyTask
                                  .Where(x => x.Status == TaskStatusEnum.Done).ToList();
            vm.CanCreateTask = participant.Role == RoleEnum.Manager;

            var data = _db.Departments.Include(x => x.Teams).ThenInclude(x => x.Participants).ThenInclude(x => x.User).Where(x => x.Project.Id == participant.Project.Id).ToList();

            vm.SelectorData = new List <object>();
            foreach (var department in data)
            {
                vm.SelectorData.Add(new SelectorItem()
                {
                    ID       = department.Id.ToString(),
                    Text     = department.Name,
                    Expanded = true,
                });
                foreach (var team in department.Teams)
                {
                    vm.SelectorData.Add(new SelectorItem()
                    {
                        ID         = department.Id + "_" + team.Id,
                        CategoryId = department.Id.ToString(),
                        Text       = team.Name,
                        Expanded   = true,
                    });
                    foreach (var teamParticipant in team.Participants)
                    {
                        vm.SelectorData.Add(new SelectorItem()
                        {
                            ID         = department.Id + "_" + team.Id + "_" + teamParticipant.Id,
                            CategoryId = department.Id + "_" + team.Id,
                            Text       = teamParticipant.User.FullName,
                        });
                    }
                }
            }

            vm.iCusomer = participant.Role == RoleEnum.Customer;
            if (vm.iCusomer | participant.Role == RoleEnum.Manager)
            {
                vm.CustomerWishes = _db.CustomerWishes.Include(x => x.Project).Include(x => x.Autor).ThenInclude(x => x.User)
                                    .Where(x => x.Project.Id == participant.Project.Id).ToList();
            }
            if (selector == null)
            {
                return(View(vm));
            }

            vm.SelectorValue = selector;
            var parseSelector           = selector.Split('_');
            List <ProjectTask> allTasks = null;

            switch (parseSelector.Length)
            {
            case 3:
            {
                allTasks = _db.Tasks.Include(x => x.Assignee).ThenInclude(x => x.User).Include(x => x.Project)
                           .Where(x => (x.Assignee.Id == Int32.Parse(parseSelector[2]))).ToList();
            }
            break;

            case 2:
            {
                allTasks = _db.Tasks.Include(x => x.Assignee).ThenInclude(x => x.User).Include(x => x.Project)
                           .Where(x => (x.Team.Id == Int32.Parse(parseSelector[1]))).ToList();
            }
            break;

            case 1:
            {
                allTasks = _db.Tasks.Include(x => x.Assignee).ThenInclude(x => x.User).Include(x => x.Project)
                           .Where(x => (x.Department.Id == Int32.Parse(parseSelector[0]))).ToList();
            }
            break;
            }
            vm.CustomList = allTasks;

            //if (vm.CustomList == null)
            //{

            //    vm.CustomList = _db.Tasks.Include(x => x.Project).Include(x => x.Assignee).ThenInclude(x => x.User)
            //        .Where(x => x.Project.Id == user.LastSelectedProjectId).ToList();
            //}
            return(View(vm));
        }
예제 #7
0
        public TaskPageXaml()
        {
            InitializeComponent();

            BindingContext = new TaskPageViewModel();
        }