예제 #1
0
        public static void Create(ProjTask p)
        {
            ProjectTrackingContest Db = new ProjectTrackingContest();

            Db.projtask.Add(p);
            Db.SaveChanges();
        }
예제 #2
0
        // DELETE: api/ProjTask/5
        public void Delete(int id)
        {
            ProjTask e = new ProjTask();

            e.tid = id;
            TaskRepository.Delete(id);
        }
예제 #3
0
        public async Task <Tuple <bool, string> > EditTask(string projectId, ProjTask projTask)
        {
            var dbProj = await asyncDocumentSession.LoadAsync <Project>(projectId);

            if (dbProj == null)
            {
                throw new ApplicationException("Project not found");
            }
            var task = dbProj.ProjectTasks.Find(pt => pt.Id == projTask.Id);

            if (task == default)
            {
                throw new ApplicationException("Task not found");
            }
            try
            {
                task.EndDate      = projTask.EndDate;
                task.Start        = projTask.Start;
                task.Name         = projTask.Name;
                task.ParentTaskId = projTask.ParentTaskId;
                task.Priority     = projTask.Priority;
                task.TaskOwnerId  = projTask.TaskOwnerId;
                await asyncDocumentSession.SaveChangesAsync();

                return(new Tuple <bool, string>(true, task.Id));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ProjTask projTask = db.Tasks.Find(id);

            db.Tasks.Remove(projTask);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public EditTab(ProjTask taskData)
 {
     InitializeComponent();
     pageTitle.Text = "Edit task";
     projTask       = taskData;
     taskDatabase   = ViewModels.ProjTaskDatabaseViewModel.Instance();
     taskEditUI();
     ChangeUIToOS();
 }
 public ActionResult Edit([Bind(Include = "Id,TaskName,ProjectId,CompletionStatus,Notes,CompletionPercentage")] ProjTask projTask)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projTask).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProjectId = new SelectList(db.Projects, "Id", "ProjectName", projTask.ProjectId);
     return(View(projTask));
 }
예제 #7
0
        public static void Edit(ProjTask t)
        {
            ProjectTrackingContest Db = new ProjectTrackingContest();
            ProjTask ta = SearchById(t, Db);

            ta.assignedto  = t.assignedto;
            ta.startdate   = t.startdate;
            ta.enddate     = t.enddate;
            ta.completion  = t.completion;
            ta.userstoryid = t.userstoryid;
            Db.SaveChanges();
        }
        // GET: ProjTasks/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjTask projTask = db.Tasks.Find(id);

            if (projTask == null)
            {
                return(HttpNotFound());
            }
            return(View(projTask));
        }
예제 #9
0
        public async Task <Tuple <bool, string> > AddTask(string projectId, ProjTask projTask)
        {
            try
            {
                var project = await asyncDocumentSession.LoadAsync <Project>(projectId);

                project.MaxTaskCount++;
                projTask.Id = $@"{project.Id}-{project.MaxTaskCount}";
                project.ProjectTasks.Add(projTask);
                await asyncDocumentSession.SaveChangesAsync();

                return(new Tuple <bool, string>(true, projTask.Id));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #10
0
        public JsonResult ApiCreateTask(int projectID, string name, string description)
        {
            ProjTask projTask = new ProjTask();

            projTask.Name        = name;
            projTask.Description = description;
            projTask.Status      = _context.taskStatuses.First(s => s.Name == "Incomplete");

            //Add the newly created projTask to the database
            _context.projTasks.Add(projTask);

            //Add the projTask to the project within the database
            _context.projects.First(p => p.ID == projectID).Tasks.Add(projTask);

            _context.SaveChanges();

            return(Json("Suceeded"));
        }
        // GET: ProjTasks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjTask projTask = db.Tasks.Find(id);

            if (projTask == null)
            {
                return(HttpNotFound());
            }

            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            ViewBag.ProjectId = new SelectList(db.Projects, "Id", "ProjectName", projTask.ProjectId);
            return(View(projTask));
        }
예제 #12
0
 private async void submitTaskButton_Clicked(object sender, EventArgs e)
 {
     if (taskFormValidation())
     {
         projTask             = new ProjTask();
         projTask.Name        = taskName.Text;
         projTask.StartDate   = $"{taskStartDate.Date.Day}.{taskStartDate.Date.Month}.{taskStartDate.Date.Year}";
         projTask.EndDate     = $"{taskEndDate.Date.Day}.{taskEndDate.Date.Month}.{taskEndDate.Date.Year}";
         projTask.ProjectID   = proj.ID;
         projTask.IDinProject = ViewModels.ProjTaskDatabaseViewModel.Instance().GetProjTasks(proj.ID).Count + 1;
         projTask.IsCompleted = 0;
         unfinishedTasks.Add(projTask);
         ClearForm();
         await taskDatabase.SaveItem(projTask);
         await DisplayAlert("Add a task", "Task was successfully added.", "Ok");
     }
     else
     {
         await DisplayAlert("Error", "Fill form correctly...", "Ok");
     }
 }
        public async Task EditTaskTest()
        {
            var projTasks = new ProjTask
            {
                ParentTaskId = "",
                EndDate      = DateTime.Today.AddDays(2),
                Priority     = 1,
                Start        = DateTime.Today,
                Name         = "ParentTask",
                TaskOwnerId  = "Usr/2",
                Status       = 0
            };
            var taskMod = new TaskMod
            {
                ParentTaskId    = "",
                EndDate         = DateTime.Today.AddDays(2),
                Priority        = 1,
                StartDate       = DateTime.Today,
                TaskDescription = "ParentTask",
                TaskOwnerId     = "Usr/2",
                ProjectId       = "P/1",
                TaskId          = "P/1-1"
            };
            var mockProjTaskRepo = new Mock <IProjectTaskRepo>();

            mockProjTaskRepo.Setup(repo => repo.EditTask(It.IsAny <string>(), It.IsAny <ProjTask>()))
            .Returns(Task.FromResult(new Tuple <bool, string>(true, "P/1-1")));
            var mockLogger = createProjServiceLogger();
            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(map => map.Map <ProjTask>(It.IsAny <TaskMod>())).Returns(projTasks);
            var projectTaskService = new ProjTaskService(mockProjTaskRepo.Object, mockLogger, mockMapper.Object);
            var result             = await projectTaskService.EditTask(taskMod);

            Assert.True(result.Item1);
            Assert.Equal("P/1-1", result.Item2);
        }
예제 #14
0
 public void Add(ProjTask item)
 {
     pTasks.Enqueue(item);
 }
예제 #15
0
 // PUT: api/ProjTask/5
 public void Put(int id, ProjTask value)
 {
     value.tid = id;
     TaskRepository.Edit(value);
 }
예제 #16
0
 // POST: api/ProjTask
 public void Post(ProjTask p)
 {
     TaskRepository.Create(p);
 }
예제 #17
0
        public async Task CUProjectTaskTest()
        {
            var project = new Project {
                End      = DateTime.Today.AddDays(1),
                PMId     = "EP001",
                Priority = 1,
                Start    = DateTime.Today,
                Status   = 0,
                Title    = "Project A"
            };
            var logger = createProjectTaskLogger();

            using (var session = DocStore.OpenAsyncSession())
            {
                var usrlogger    = createUserLogger();
                var userRepo     = new UserRepo(session, usrlogger);
                var projTaskRepo = new ProjectTaskRepo(session, logger);

                var projAddResult = await projTaskRepo.AddProject(project);

                Assert.True(projAddResult.Item1);
                Assert.NotEmpty(projAddResult.Item2);

                var projectMod = new Project
                {
                    End      = DateTime.Today.AddDays(1),
                    PMId     = ((await userRepo.GetUserByEmployeeId("EP001"))?.Id),
                    Priority = 1,
                    Start    = DateTime.Today,
                    Status   = 0,
                    Title    = "Project A1",
                    Id       = projAddResult.Item2
                };
                var projEditResult = await projTaskRepo.EditProject(projectMod);

                Assert.True(projEditResult.Item1);
                Assert.NotEmpty(projEditResult.Item2);

                var task1 = new ProjTask {
                    EndDate     = DateTime.Today.AddDays(2),
                    Name        = "Task 1",
                    Priority    = 1,
                    Start       = DateTime.Today,
                    Status      = 0,
                    TaskOwnerId = ((await userRepo.GetUserByEmployeeId("EP002"))?.Id)
                };
                var projTskAddResult = await projTaskRepo.AddTask(projEditResult.Item2, task1);

                Assert.True(projTskAddResult.Item1);
                Assert.NotEmpty(projTskAddResult.Item2);

                var taskChild1 = new ProjTask
                {
                    EndDate      = DateTime.Today.AddDays(2),
                    Name         = "Task 1-1",
                    Priority     = 1,
                    Start        = DateTime.Today,
                    Status       = 0,
                    TaskOwnerId  = ((await userRepo.GetUserByEmployeeId("EP003"))?.Id),
                    ParentTaskId = projTskAddResult.Item2
                };
                var projTskChldAddResult = await projTaskRepo.AddTask(projEditResult.Item2, taskChild1);

                Assert.NotEmpty(projTskChldAddResult.Item2);

                var taskMod = new ProjTask
                {
                    EndDate     = DateTime.Today.AddDays(2),
                    Name        = "Task A1",
                    Priority    = 1,
                    Start       = DateTime.Today,
                    Status      = 0,
                    TaskOwnerId = ((await userRepo.GetUserByEmployeeId("EP002"))?.Id),
                    Id          = "P/1-1"
                };
                var projTskEditResult = await projTaskRepo.EditTask("P/1", taskMod);

                Assert.True(projTskAddResult.Item1);
                Assert.NotEmpty(projTskAddResult.Item2);

                var projTaskGetAllTask = await projTaskRepo.GetAllActiveTask("P/1");

                Assert.NotEmpty(projTaskGetAllTask);

                var projGetProjByName = await projTaskRepo.GetProjectByName("A1");

                Assert.NotEmpty(projGetProjByName);

                var projTaskGetAllActiveProjects = await projTaskRepo.GetAllActiveProject();

                Assert.NotEmpty(projTaskGetAllActiveProjects);

                var getProjectCount = await projTaskRepo.GetProjectCountByPM(((await userRepo.GetUserByEmployeeId("EP001"))?.Id));

                Assert.True(getProjectCount > 0);

                var getTaskCount = await projTaskRepo.GetTaskCountByUser((await userRepo.GetUserByEmployeeId("EP002"))?.Id);

                Assert.True(getTaskCount > 0);

                var endTaskResult = await projTaskRepo.EndTask("P/1", "P/1-2");

                Assert.True(endTaskResult.Item1);
                var suspenResult = await projTaskRepo.SuspendProject("P/1");

                Assert.True(endTaskResult.Item1);
            }
        }
예제 #18
0
 public static ProjTask SearchById(ProjTask ta, ProjectTrackingContest Db)
 {
     return((Db.projtask.Select(t => t).Where(t => t.tid == ta.tid)).First());
 }