public TaskDetail(Models.TodoItem item = null)
        {
            InitializeComponent();
            var context = new TaskDetailViewModel(item);

            BindingContext = context;
        }
Beispiel #2
0
        private async void LoadDataAsync(int taskId)
        {
            task = await taskManager.Get(taskId);

            this.Title          = task.Title;
            this.BindingContext = task;

            if (task.Status == true)
            {
                StatusCheckBox.IsChecked = true;
            }

            if (task.IsPomodoro == true)
            {
                PomodoroCheckBox.IsChecked = true;
            }

            if (task.IsReminder == true)
            {
                ReminderCheckBox.IsChecked = true;
            }

            if (task.IsComplex == true)
            {
                ComplexCheckBox.IsChecked = true;
            }

            if (task.IsRepeater == true)
            {
                RepeaterCheckBox.IsChecked = true;
            }
        }
 public MainWindow(
     TaskListViewModel taskListViewModel,
     TaskDetailViewModel taskDetailViewModel,
     IEventAggregator eventAggregator)
 {
     DataContext = new MainWindowViewModel(taskListViewModel, taskDetailViewModel, eventAggregator);
     InitializeComponent();
 }
        public TaskDetailView()
        {
            InitializeComponent();
            var current = Shell.Current;

            viewModel      = new TaskDetailViewModel();
            BindingContext = viewModel;
        }
Beispiel #5
0
        public async Task <ActionResult> Detail(long id)
        {
            TaskDetailViewModel model = new TaskDetailViewModel();

            model.Task = await taskService.GetModelAsync(id, userId);

            model.ForwardStateName = await forwardService.GetStateNameAsync(userId, id);

            return(View(model));
        }
Beispiel #6
0
        public async Task <MobileResult> PutAsync(TaskDetailViewModel model)
        {
            var client = await GetClient();

            var json = await client.PutAsync(Url + "edittask", new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"));

            var result = JsonConvert.DeserializeObject <MobileResult>(await json.Content.ReadAsStringAsync());

            return(result);
        }
        public MainWindowViewModel(
            TaskListViewModel taskListViewModel,
            TaskDetailViewModel taskDetailViewModel,
            IEventAggregator eventAggregator)
        {
            TaskListViewModel   = taskListViewModel;
            TaskDetailViewModel = taskDetailViewModel;

            eventAggregator.GetEvent <ShowNotificationEvent>().Subscribe(ShowNotificationMessage);
            _eventAggregator = eventAggregator;
        }
        protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();

            TaskDetailViewModel vm = BindingContext as TaskDetailViewModel;

            if (vm != null)
            {
                vm.TagPicker = tagPicker;
                vm.RefreshCommand.Execute(null);
            }
        }
Beispiel #9
0
        public ActionResult Detail(int id)
        {
            //CheckLoggingIn();
            NGUOIDUNG  userLogin = Session["USER"] as NGUOIDUNG;
            CONGVIEC   cv        = dao_task.GetCONGVIEC(id);
            List <int> listNguoiDungTrongCongViec = dao_task.GetNGuoiDungTrongCongViec(id);

            if (!listNguoiDungTrongCongViec.Contains(userLogin.ID) && userLogin.ID != cv.IDNGUOITAO)
            {
                return(RedirectToAction("Login", "Account"));
            }
            List <NGUOIDUNG> nds1 = dao_user.GetNGUOIDUNGs();

            ViewBag.NDs = nds1;
            //CONGVIEC cv = dao_task.GetCONGVIEC(id);
            TaskDetailViewModel model = new TaskDetailViewModel();

            model.id      = cv.ID;
            model.tieude  = cv.TIEUDE;
            model.noidung = cv.NOIDUNG;
            model.ngaytao = cv.NGAYTAO.GetValueOrDefault();
            if (cv.NGAYCAPNHAT != null)
            {
                model.ngaycapnhat = cv.NGAYCAPNHAT.GetValueOrDefault();
            }
            //model.ngaycapnhat = cv.NGAYCAPNHAT.GetValueOrDefault();
            model.hoanthanh  = cv.HOANTHANH.GetValueOrDefault();
            model.idNguoiTao = cv.IDNGUOITAO.GetValueOrDefault();
            //model.pcs = cv.PHANCONGs.ToList();
            List <PHANCONG> pcs      = new List <PHANCONG>();
            List <string>   listId   = new List <string>();
            List <int>      listIdPC = new List <int>();

            foreach (PHANCONG pc in cv.PHANCONGs)
            {
                List <int> nds = dao_task.GetIDNGUOIDUNGinPHANCONG(cv.ID, pc.IDPHANCONG);
                listId.Add(string.Join(",", nds));
                listIdPC.Add(pc.IDPHANCONG);
            }
            List <int> listIdPCDistinct = listIdPC.Distinct().ToList();

            for (int i = 0; i < listIdPC.Distinct().Count(); i++)
            {
                PHANCONG pc = dao_task.GetPHANCONG(cv.ID, listIdPCDistinct[i]);
                pcs.Add(pc);
            }
            model.pcs    = pcs;
            model.listId = listId.ToList();
            model.numPC  = listIdPC.Distinct().Count();
            model.taptin = cv.TAPTIN;
            model.thumuc = cv.THUMUC;
            return(View(model));
        }
Beispiel #10
0
        public ActionResult AddTask(TaskDetailViewModel taskModel)
        {
            try
            {
                if (taskModel.TaskId > 0) //edit
                {
                    _unitOfWork.TaskRepository.Update(new Task
                    {
                        ID          = taskModel.TaskId,
                        Title       = taskModel.TaskTitle,
                        Description = taskModel.TaskDescription
                    });
                    var taskDetail = _unitOfWork.TaskDetailRepository.Get()
                                     .Where(t => t.Task_ID == taskModel.TaskId)
                                     .FirstOrDefault();
                    taskDetail.DeadLine = ConvertUnixTimeStamp(taskModel.DeadLine).AddHours(3);
                    _unitOfWork.Save();
                }
                else //add
                {
                    Task task = new Task
                    {
                        Title       = taskModel.TaskTitle,
                        Description = taskModel.TaskDescription
                    };
                    _unitOfWork.TaskRepository.Insert(task);
                    _unitOfWork.Save();

                    TaskDetail taskDetail = new TaskDetail
                    {
                        Task_ID    = task.ID,
                        Group_ID   = taskModel.GroupId,
                        Subject_ID = taskModel.SubjectId,
                        DeadLine   = ConvertUnixTimeStamp(taskModel.DeadLine).AddHours(3)
                    };

                    _unitOfWork.TaskDetailRepository.Insert(taskDetail);
                    _unitOfWork.Save();
                }



                return(new HttpStatusCodeResult(HttpStatusCode.OK));
            }
            catch (SqlException)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
        }
Beispiel #11
0
        public IActionResult Detail(int id)
        {
            Task theTask = context.Tasks
                           .Include(e => e.Category)
                           .Single(e => e.Id == id);

            List <TaskTag> taskTags = context.TaskTags
                                      .Where(et => et.TaskId == id)
                                      .Include(et => et.Tag)
                                      .ToList();

            TaskDetailViewModel viewModel = new TaskDetailViewModel(theTask, taskTags);

            return(View(viewModel));
        }
Beispiel #12
0
        private async void AddButton_Clicked(object sender, EventArgs e)
        {
            TaskDetailViewModel task = new TaskDetailViewModel {
                UserId = Constants.userId, ProjectId = selectedProjectId, BoardId = selectedBoardId, Description = DescriptionEditor.Text, DueTime = DueTimeDatePicker.Date, IsComplex = ComplexCheckBox.IsChecked, IsPomodoro = PomodoroCheckBox.IsChecked, IsReminder = ReminderCheckBox.IsChecked, IsRepeater = RepeaterCheckBox.IsChecked, RegisterTime = DateTime.Now, SessionTime = SessionTimePicker.Time, Status = StatusCheckBox.IsChecked, Title = TitleEntry.Text
            };

            MobileResult result = await taskManager.PostAsync(task);

            if (result.Result)
            {
                DependencyService.Get <IMessage>().ShortAlert("Task added.");
            }
            else
            {
                DependencyService.Get <IMessage>().ShortAlert("Task can not added.");
            }
        }
Beispiel #13
0
        public IActionResult Details(int id)
        {
            var task = tasksService.GetTaskById(id);

            var tasksDetailsViewModel = new TaskDetailViewModel
            {
                Title           = task.Title,
                DueDate         = task.DueDate.ToShortDateString(),
                Description     = task.Description,
                AffectedSectors = string.Join(", ", task.AffectedSectors.Select(asf => asf.Sector)),
                Participants    = task.Participants,
                Level           = task.AffectedSectors.Count
            };

            this.Model.Data["TaskDetails"] = tasksDetailsViewModel;

            return(this.View());
        }
Beispiel #14
0
        private async void SaveButton_Clicked(object sender, EventArgs e)
        {
            // TO DO : get update model
            TaskDetailViewModel updatedTask = new TaskDetailViewModel {
                TaskId = task.TaskId, BoardId = task.BoardId, ProjectId = task.ProjectId, UserId = task.UserId, Description = DescriptionEditor.Text, DueTime = DueTimeDatePicker.Date, IsComplex = ComplexCheckBox.IsChecked, IsDelayed = task.IsDelayed, IsPomodoro = PomodoroCheckBox.IsChecked, IsReminder = ReminderCheckBox.IsChecked, IsRepeater = RepeaterCheckBox.IsChecked, PriorityNumber = task.PriorityNumber, RegisterTime = Convert.ToDateTime(RegisterTimeLabel.Text), ScheduleTime = task.ScheduleTime, /*SessionTime = (TimeSpan)SessionTimePicker.Time,*/ Status = StatusCheckBox.IsChecked, SubTaskNumber = task.SubTaskNumber, Title = TitleEntry.Text
            };
            var result = await taskManager.PutAsync(updatedTask);

            await Navigation.PopAsync();

            if (result.Result)
            {
                DependencyService.Get <IMessage>().ShortAlert("Task updated.");
            }
            else
            {
                DependencyService.Get <IMessage>().ShortAlert("Task can not updated.");
            }
        }
Beispiel #15
0
        //- get(інфа про такс + коментарі) -> передаю тобі task_id, ти мені інфу про таск + коментарі цього таску.
        public JsonResult GetTaskDetail(int id)
        {
            var task = _unitOfWork.TaskDetailRepository.GetByID(id);
            IEnumerable <CommentViewModel> comments = GetCommentsByTaskId(id);

            TaskDetailViewModel taskDetail = new TaskDetailViewModel
            {
                TaskDetailId    = id,
                TaskTitle       = task.Task.Title,
                TaskDescription = task.Task.Description,
                Group           = Helper.GetGroupAbbr(task.Group.Specialization, task.Group.DepartmentNumber, task.Group.EnterYear),
                Subject         = task.Subject.Name,
                TeacherFullName = string.Format("{0} {1}", task.Subject.AspNetUsers.FirstName, task.Subject.AspNetUsers.LastName),
                DeadLine        = DateTimeToUnixTimestamp(task.DeadLine),
                Comments        = comments
            };

            return(Json(taskDetail, JsonRequestBehavior.AllowGet));
        }
Beispiel #16
0
        public IEnumerable <TaskDetailViewModel> Get()
        {
            var tasksViewModel = new List <TaskDetailViewModel>();
            var tasks          = this.repository.GetAllTasks();

            foreach (var task in tasks)
            {
                var taskViewModel = new TaskDetailViewModel
                {
                    Id         = task.TaskId,
                    TaskName   = task.Name,
                    TaskStatus = task.Status,
                    FileName   = task.FileName
                };

                tasksViewModel.Add(taskViewModel);
            }

            return(tasksViewModel);
        }
Beispiel #17
0
        public ActionResult Edit(TaskDetailViewModel model)
        {
            CONGVIEC cv = dao_task.GetCONGVIEC(model.id);

            cv.TIEUDE  = model.tieude;
            cv.NOIDUNG = model.noidung;
            if (model.taptinUpload != null)
            {
                cv.TAPTIN = model.taptinUpload.FileName;
                string extension = Path.GetExtension(model.taptinUpload.FileName);
                string fileName  = model.id.ToString() + "_" + cv.NGAYTAO.GetValueOrDefault().Day + cv.NGAYTAO.GetValueOrDefault().Month + cv.NGAYTAO.GetValueOrDefault().Year + cv.NGAYTAO.GetValueOrDefault().Hour + cv.NGAYTAO.GetValueOrDefault().Minute + cv.NGAYTAO.GetValueOrDefault().Second;
                cv.THUMUC = fileName + extension;
                Upload(model.taptinUpload, fileName);
            }
            List <PHANCONG> pcs = new List <PHANCONG>();

            for (int i = 0; i < model.numPC; i++)
            {
                string[] idNguoiNhans = model.listIDNguoiNhans[i].ToString().Split(',');
                foreach (string id in idNguoiNhans)
                {
                    PHANCONG pc = new PHANCONG();
                    pc.IDPHANCONG  = i;
                    pc.TENPHANCONG = model.pcs[i].TENPHANCONG;
                    pc.NOIDUNG     = model.pcs[i].NOIDUNG;
                    pc.IDNGUOINHAN = int.Parse(id);
                    pc.NGAYBATDAU  = model.pcs[i].NGAYBATDAU;
                    pc.NGAYKETTHUC = model.pcs[i].NGAYKETTHUC;
                    pc.IDTRANGTHAI = model.pcs[i].IDTRANGTHAI;
                    //pc.NGAYCAPNHAT = DateTime.Now;
                    pcs.Add(pc);
                }
            }
            cv.NGAYCAPNHAT = DateTime.Now;
            cv.PHANCONGs   = pcs;
            dao_task.UpdateTask(cv);
            return(RedirectToAction("Detail", new { id = model.id }));
        }
Beispiel #18
0
        public async Task <IActionResult> TaskListAsync(int boardId)
        {
            try
            {
                var board       = _boardRepository.GetById(boardId);
                var currentuser = await _userManager.GetUserAsync(HttpContext.User);

                var Exists = _boardRepository.FindBoardUser(boardId, currentuser.Id);
                if (board == null || board.IsDeleted == true)
                {
                    Response.StatusCode = 404;
                    return(View("../Boards/BoardNotFound", boardId));
                }
                else if (
                    User.IsInRole("SuperAdmin") ||
                    board.CompanyId == currentuser.CompanyId && Exists != null ||
                    User.IsInRole("Admin") && board.CompanyId == currentuser.CompanyId
                    )
                {
                    var detailViewModel = new TaskDetailViewModel
                    {
                        BoardId    = board.Id,
                        BoardName  = board.Name,
                        TodoTasks  = _taskRepository.GetAllToDoTask(boardId),
                        DoingTasks = _taskRepository.GetAllDoingTask(boardId),
                        DoneTasks  = _taskRepository.GetAllDoneTask(boardId)
                    };

                    return(View(detailViewModel));
                }
                return(View("NotAuthorized"));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"When getting taskslist.");
                throw;
            }
        }
        public async Task <IActionResult> CreateOrEdit(TaskDetailViewModel model)
        {
            var statusList = _taskBoardHelper.GetTaskStatusListFromEnum();
            var userList   = _userManager.Users.Select(u => u).ToList();

            if (userList == null || userList.Count == 0)
            {
                return(View(new TaskDetailViewModel {
                    StatusMessage = "Kullanıcı bulunamadı"
                }));
            }
            var users = userList.Select(user => new SelectListItem {
                Value = user.Id.ToString(), Text = user.Email
            }).ToList();

            var taskDetailViewModel = new TaskDetailViewModel
            {
                TaskId          = model.TaskId,
                ProjectId       = model.ProjectId,
                ProjectName     = model.ProjectName,
                AvailableUsers  = users,
                AvailableStatus = statusList
            };

            if (model.ProjectId < 1)
            {
                taskDetailViewModel.StatusMessage = "Proje alanı zorunlu olmalıdır";
                return(View(taskDetailViewModel));
            }

            var project = await _projectService.GetByIdAsync(model.ProjectId);

            if (project == null)
            {
                taskDetailViewModel.StatusMessage = $"'{model.ProjectId}' ID sine sahip proje bulunamadı";
                return(View(taskDetailViewModel));
            }

            if (string.IsNullOrEmpty(model.UserId))
            {
                taskDetailViewModel.StatusMessage = "Kullanıcı alanı zorunlu olmalıdır";
                return(View(taskDetailViewModel));
            }

            var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == model.UserId);

            if (user == null)
            {
                taskDetailViewModel.StatusMessage = $"'{model.UserId}' ID sine sahip kullanıcı bulunamadı";
                return(View(taskDetailViewModel));
            }

            if (model.TaskId > 0)
            {
                var taskStates = _taskStateService.GetTaskStatesByTaskId(model.TaskId);
                var task       = await _taskService.GetByIdAsync(model.TaskId);

                task.Description = model.Description;
                task.Note        = model.Note;
                task.TaskDate    = model.TaskDate;
                task.PreDate     = model.PreDate;
                task.RealDate    = model.RealDate;
                task.StoryPoint  = model.StoryPoint;
                task.TaskStatus  = model.TaskStatus;
                task.Project     = project;
                task.User        = user;

                await _taskService.Update(task);
            }
            else
            {
                var projectTask = new Data.Models.Task
                {
                    Id          = 0,
                    Description = model.Description,
                    Note        = model.Note,
                    TaskDate    = model.TaskDate == null ? DateTime.Now : model.TaskDate,
                    PreDate     = model.PreDate,
                    RealDate    = model.RealDate,
                    StoryPoint  = model.StoryPoint,
                    TaskStatus  = model.TaskStatus
                };


                projectTask.Project = project;
                projectTask.User    = user;
                await _taskService.Add(projectTask);
            }

            return(RedirectToAction(nameof(Index), new{ project.Id }));
        }
        public TaskScreen(int id)
        {
            InitializeComponent();

            BindingContext = new TaskDetailViewModel(Navigation, id);
        }
        public async Task <IActionResult> Detail(int id)
        {
            Challenge challenge = new Domain.Model.Challenge();

            try
            {
                challenge = await _challengeService.GetChallengeDetailsAsync(id);
            }
            catch (GraException gex)
            {
                ShowAlertWarning("Unable to view challenge: ", gex);
                return(RedirectToAction("Index"));
            }
            var siteStage = GetSiteStage();

            if (!string.IsNullOrEmpty(challenge.BadgeFilename))
            {
                challenge.BadgeFilename = _pathResolver.ResolveContentPath(challenge.BadgeFilename);
            }

            bool isActive      = AuthUser.Identity.IsAuthenticated && siteStage == SiteStage.ProgramOpen;
            bool showCompleted = siteStage == SiteStage.ProgramOpen ||
                                 siteStage == SiteStage.ProgramEnded;

            ChallengeDetailViewModel viewModel = new ChallengeDetailViewModel()
            {
                Challenge     = challenge,
                BadgePath     = challenge.BadgeFilename,
                IsActive      = isActive,
                ShowCompleted = showCompleted,
                Tasks         = new List <TaskDetailViewModel>()
            };

            viewModel.Details = $"Completing <strong>{challenge.TasksToComplete} "
                                + $"{(challenge.TasksToComplete > 1 ? "Tasks" : "Task")}</strong> will earn: "
                                + $"<strong>{challenge.PointsAwarded} "
                                + $"{(challenge.PointsAwarded > 1 ? "Points" : "Point")}</strong> and "
                                + "<strong>a badge</strong>.";

            foreach (var task in challenge.Tasks)
            {
                TaskDetailViewModel taskModel = new TaskDetailViewModel()
                {
                    Id          = task.Id,
                    IsCompleted = task.IsCompleted ?? false,
                    TaskType    = task.ChallengeTaskType.ToString(),
                    Url         = task.Url
                };
                if (task.ChallengeTaskType.ToString() == "Book")
                {
                    string description = $"Read <strong><em>{task.Title}</em></strong>";
                    if (!string.IsNullOrWhiteSpace(task.Author))
                    {
                        description += $" by <strong>{task.Author}</strong>";
                    }
                    taskModel.Description = description;
                }
                else
                {
                    taskModel.Description = task.Title;
                }
                viewModel.Tasks.Add(taskModel);
            }
            return(View(viewModel));
        }
Beispiel #22
0
        public async Task <IActionResult> Detail(int id)
        {
            Challenge challenge;

            try
            {
                challenge = await _challengeService.GetChallengeDetailsAsync(id);
            }
            catch (GraException gex)
            {
                ShowAlertWarning(gex.Message);
                return(await Index(httpStatus : System.Net.HttpStatusCode.NotFound));
            }
            var siteStage = GetSiteStage();

            if (!string.IsNullOrEmpty(challenge.BadgeFilename))
            {
                challenge.BadgeFilename = _pathResolver.ResolveContentPath(challenge.BadgeFilename);
            }

            bool isActive      = AuthUser.Identity.IsAuthenticated && siteStage == SiteStage.ProgramOpen;
            bool showCompleted = siteStage == SiteStage.ProgramOpen ||
                                 siteStage == SiteStage.ProgramEnded;

            var viewModel = new ChallengeDetailViewModel
            {
                Challenge                = challenge,
                BadgePath                = challenge.BadgeFilename,
                BadgeAltText             = challenge.BadgeAltText,
                IsActive                 = isActive,
                IsLoggedIn               = AuthUser.Identity.IsAuthenticated,
                ShowCompleted            = showCompleted,
                Tasks                    = new List <TaskDetailViewModel>(),
                IsBadgeEarning           = challenge.BadgeId.HasValue,
                PointCountAndDescription = challenge.PointsAwarded == 1
                    ? _sharedLocalizer[Annotations.Info.PointSingular, challenge.PointsAwarded]
                    : _sharedLocalizer[Annotations.Info.PointsPlural, challenge.PointsAwarded],
                TaskCountAndDescription = challenge.TasksToComplete == 1
                    ? _sharedLocalizer[Annotations.Info.TaskSingular, challenge.TasksToComplete]
                    : _sharedLocalizer[Annotations.Info.TasksPlural, challenge.TasksToComplete]
            };

            var siteUrl = await _siteLookupService.GetSiteLinkAsync(GetCurrentSiteId());

            foreach (var task in challenge.Tasks)
            {
                var taskModel = new TaskDetailViewModel
                {
                    Id          = task.Id,
                    IsCompleted = task.IsCompleted ?? false,
                    TaskType    = task.ChallengeTaskType.ToString(),
                    Url         = task.Url,
                    Title       = task.Title,
                    Author      = task.Author
                };
                if (taskModel.TaskType != "Book")
                {
                    taskModel.Description = CommonMark.CommonMarkConverter.Convert(task.Title);
                }
                if (!string.IsNullOrWhiteSpace(task.Filename))
                {
                    var contentPath = _pathResolver.ResolveContentPath(task.Filename);
                    taskModel.FilePath = $"{siteUrl}{contentPath}";
                }
                viewModel.Tasks.Add(taskModel);
            }
            PageTitle = _sharedLocalizer[Annotations.Title.ChallengeDetails, challenge.Name];
            return(View(viewModel));
        }
Beispiel #23
0
 public TaskPresenter(BindingSource bs, TaskDetailViewModel viewModel)
 {
     viewModelCore          = viewModel;
     this.bs                = bs;
     ViewModel.TaskChanged += ViewModel_TaskChanged;
 }
        public TaskDetailPage(TaskDetailViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = viewModel;
        }
 public PageTaskDetail(ToDoItem item = null)
 {
     InitializeComponent();
     BindingContext = new TaskDetailViewModel(item);
 }