Esempio n. 1
0
        public ProjectTask AddProjectTask(ProjectTask projecttask)
        {
            List <ProjectTask> projecttasks   = ProjectTasks.Where(c => c.TaskId.Equals(projecttask.TaskId)).ToList();
            Project            prj            = Projects.Where(x => x.ProjectID == projecttask.ProjectID).Select(x => x).FirstOrDefault();
            People             ppl            = Peoples.Where(x => x.Deleted == false).Where(x => x.PeopleID == projecttask.PeopleID).Select(x => x).FirstOrDefault();
            Customer           cust           = Customers.Where(x => x.CustomerId == projecttask.CustomerId).Select(x => x).FirstOrDefault();
            ProjectTask        objProjectTask = new ProjectTask();

            if (projecttasks.Count == 0)
            {
                projecttask.CreatedBy   = projecttask.CreatedBy;
                projecttask.CreatedDate = DateTime.Now;
                projecttask.UpdatedDate = DateTime.Now;
                //projecttask.ProjectName = projecttask.ProjectName;
                projecttask.ProjectName  = prj.ProjectName;
                projecttask.CustomerName = cust.Name;
                projecttask.PeopleID     = ppl.PeopleID;

                ProjectTasks.Add(projecttask);
                int id = this.SaveChanges();
                return(projecttask);
            }
            else
            {
                //objProject.Exception = "Already";
                return(objProjectTask);
            }
            //this.ProjectTasks.Add(projecttask);
            //this.SaveChanges();
            //return projecttask;
        }
Esempio n. 2
0
        public void SaveTask(string taskContent)
        {
            if (_updateableTask == null)
            {
                Console.WriteLine("insert task");
                var task = new Task
                {
                    Content  = TaskContent,
                    DueDate  = TaskDueDate,
                    Priority = TaskPriority
                };
                DataBase.InsertTask(task, _project.ID);
                ProjectTasks.Add(task);
            }
            else
            {
                if (_updateableTask is Task task)
                {
                    if (!_isSubTask)
                    {
                        Console.WriteLine("update task");
                        var index = ProjectTasks.IndexOf(task);
                        task.Content  = TaskContent;
                        task.DueDate  = TaskDueDate;
                        task.Priority = TaskPriority;
                        //ProjectTasks.Insert(index, task);
                        //ProjectTasks.RemoveAt(index + 1);
                        DataBase.UpdateTask(task);
                        _updateableTask = null;
                    }
                    else
                    {
                        Console.WriteLine("insert subtask");
                        var newSubTask = new SubTask
                        {
                            Content  = TaskContent,
                            DueDate  = TaskDueDate,
                            Priority = TaskPriority
                        };
                        DataBase.InsertSubTask(newSubTask, task.ID);
                        task.SubTasks.Add(newSubTask);
                    }
                }

                if (_updateableTask is SubTask subTask)
                {
                    Console.WriteLine("Update subtask");
                    var subtaskIndex = -1;
                    var taskIndex    = -1;
                    for (int i = 0; i < ProjectTasks.Count; i++)
                    {
                        for (int j = 0; j < ProjectTasks[i].SubTasks.Count; j++)
                        {
                            if (Equals(_updateableTask, ProjectTasks[i].SubTasks[j]))
                            {
                                taskIndex    = i;
                                subtaskIndex = j;
                            }
                        }
                    }

                    subTask.Content  = TaskContent;
                    subTask.DueDate  = TaskDueDate;
                    subTask.Priority = TaskPriority;
                    //ProjectTasks[taskIndex].SubTasks.Insert(subtaskIndex, subTask);
                    //ProjectTasks[taskIndex].SubTasks.RemoveAt(subtaskIndex + 1);
                    DataBase.UpdateTask(subTask);
                    _updateableTask = null;
                    _isSubTask      = false;
                }
                _isSubTask         = false;
                _editableComponent = null;
            }
            ShowAddTaskPanel();
            ResetNewTaskProperties();
        }