Beispiel #1
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TaskAssignment taskAssignment = db.TaskAssignments.Find(id);

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

            TaskAssignmentViewModel model = new TaskAssignmentViewModel
            {
                TaskAssignmentId = taskAssignment.TaskAssignmentId,
                TaskName         = taskAssignment.TaskName,
                Description      = taskAssignment.Description,
                Deadline         = taskAssignment.Deadline,
                Status           = taskAssignment.Status,
                Priority         = taskAssignment.Priority,
                AssignmentDate   = taskAssignment.AssignmentDate,
                IsCompleted      = taskAssignment.IsCompleted,
                EventProject     = taskAssignment.EventProject.Name,
                AnyEmployee      = taskAssignment.AnyEmployee.FullName,
                Employee         = taskAssignment.Employee.FullName,
            };

            ViewBag.EventProjectId          = new SelectList(db.EventProjects, "EventProjectId", "Name");
            ViewBag.EmployeeId              = new SelectList(db.Employees, "Id", "FullName");
            ViewBag.ClientServiceEmployeeId = new SelectList(db.Employees, "Id", "FullName");

            return(View(model));
        }
Beispiel #2
0
        public ActionResult Create([Bind(Include =
                                             "AssignmentDate"
                                             + "," + "TaskID"
                                             + "," + "EmployeeID"
                                             + "," + "TaskStateID"
                                         )] TaskAssignment TaskAssignment)
        {
            if (ModelState.IsValid)
            {
                bool bSucess = false;
                bSucess = TaskAssignmentData.Add(TaskAssignment);
                if (bSucess == true)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Can Not Insert");
                }
            }
            // ComboBox
            ViewData["TaskID"]      = new SelectList(TaskAssignment_TaskData.List(), "TaskID", "TaskName", TaskAssignment.TaskID);
            ViewData["EmployeeID"]  = new SelectList(TaskAssignment_EmployeeData.List(), "EmployeeID", "FirstName", TaskAssignment.EmployeeID);
            ViewData["TaskStateID"] = new SelectList(TaskAssignment_TaskStateData.List(), "TaskStateID", "TaskStateName", TaskAssignment.TaskStateID);

            return(View(TaskAssignment));
        }
        private TaskAssignment CreateTaskAssignment(User user)
        {
            Task task;

            if (rbtlTipoCargaTarea.SelectedValue == "TareaPredeterminada")
            {
                task = new Task(int.Parse(ddlTareasPredeterminadas.SelectedValue));
            }
            else
            {
                task = new Task()
                {
                    DependentTask = null,
                    Description   = txtDescripcion.Text,
                    IsActive      = false,
                    Name          = txtNombreTarea.Text,
                    SuperiorTask  = null,
                    IsPredefined  = false
                };
            }

            TaskAssignment taskAssignment = new TaskAssignment()
            {
                AssignerUser = user,
                ReceiverUser = new User(int.Parse(ddlResponsable.SelectedValue)),
                Task         = task
            };

            return(taskAssignment);
        }
Beispiel #4
0
        /// <summary>
        /// This action gets the a task assignment's details
        /// </summary>
        /// <param name="id">task assignment id</param>
        /// <returns>details view</returns>
        // GET: TaskAssignment/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TaskAssignment taskAssignment = db.TaskAssignments.Find(id);

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

            var model = new TaskAssignmentViewModel
            {
                TaskAssignmentId = taskAssignment.TaskAssignmentId,
                TaskName         = taskAssignment.TaskName,
                Description      = taskAssignment.Description,
                Deadline         = taskAssignment.Deadline,
                Status           = taskAssignment.Status,
                Priority         = taskAssignment.Priority,
                AssignmentDate   = taskAssignment.AssignmentDate,
                IsCompleted      = taskAssignment.IsCompleted,
                //EmployeeTask = taskAssignment.EmployeeTask.TaskName,
                EventProject = taskAssignment.EventProject.Name,
                AnyEmployee  = taskAssignment.AnyEmployee.FullName,
                Employee     = taskAssignment.Employee.FullName,
            };

            return(View(model));
        }
        //Made public while working on it
        public TaskAssignment getTaskAssignment(int GroupId, int TaskId)
        {
            //"Select A.TaskId, A.AccessType, A.GroupId 
            //from TaskAssignment A 
            //Join Task T 
            //on T.TaskId = A.TaskId 
            //and Status <> 'Closed' 
            //where GroupId in (2) and TaskId = TaskId "
            //--1
            ApprovalProcessType TypeDefinition;
            BranchNode NodeDef;
            GroupRoleRelation GroupRels;
            TaskAssignment TA;
            TaskNode TN;
            ReviewTask reviewTask;

            TA = new TaskAssignment();
            db.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

            IEnumerable<TaskAssignment> TaskAssignments = db.TaskAssignments.Where(
                    r => 
                    r.Task.Status != "Closed" && r.GroupId == GroupId 
                    && r.TaskId == TaskId);

            System.Diagnostics.Debug.WriteLine(TaskAssignments.ToString());
            //QUick for demo - no iteration or collection used
            TA = TaskAssignments.First();

  
            return TA;

        }
Beispiel #6
0
        public ActionResult Edit(TaskAssignment TaskAssignment)
        {
            TaskAssignment oTaskAssignment = new TaskAssignment();

            oTaskAssignment.TaskAssignmentID = System.Convert.ToInt32(TaskAssignment.TaskAssignmentID);
            oTaskAssignment = TaskAssignmentData.Select_Record(TaskAssignment);

            if (ModelState.IsValid)
            {
                bool bSucess = false;
                bSucess = TaskAssignmentData.Update(oTaskAssignment, TaskAssignment);
                if (bSucess == true)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Can Not Update");
                }
            }
            // ComboBox
            ViewData["TaskID"]      = new SelectList(TaskAssignment_TaskData.List(), "TaskID", "TaskName", TaskAssignment.TaskID);
            ViewData["EmployeeID"]  = new SelectList(TaskAssignment_EmployeeData.List(), "EmployeeID", "FirstName", TaskAssignment.EmployeeID);
            ViewData["TaskStateID"] = new SelectList(TaskAssignment_TaskStateData.List(), "TaskStateID", "TaskStateName", TaskAssignment.TaskStateID);

            return(View(TaskAssignment));
        }
        public IHttpActionResult PutTaskAssignment(int id, TaskAssignment taskAssignment)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != taskAssignment.TaskId)
            {
                return(BadRequest());
            }

            db.Entry(taskAssignment).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TaskAssignmentExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult PostTaskAssignment(TaskAssignment taskAssignment)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TaskAssignments.Add(taskAssignment);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (TaskAssignmentExists(taskAssignment.TaskId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = taskAssignment.TaskId }, taskAssignment));
        }
Beispiel #9
0
        public List <ZTask> TaskUtilityToZTask(List <TaskUtilityModel> ZtaskList)
        {
            List <ZTask> tasks    = new List <ZTask>();
            List <ZTask> subTasks = new List <ZTask>();

            foreach (TaskUtilityModel task in ZtaskList)
            {
                ZTask          zTask          = new ZTask();
                TaskDetail     taskDetail     = zTask.TaskDetails;
                TaskAssignment taskAssignment = zTask.Assignment;
                taskDetail.TaskId     = task.TaskId; taskDetail.TaskTitle = task.TaskTitle; taskDetail.CreatedTime = task.CreatedTime; taskDetail.DueDate = task.DueDate; taskDetail.ModifiedDate = task.ModifiedDate; taskDetail.Priority = task.Priority; taskDetail.TaskStatus = task.TaskStatus; taskDetail.RemindOn = task.RemindOn; taskDetail.Description = task.Description; taskDetail.ParentTaskId = task.ParentTaskId;
                taskAssignment.TaskId = taskDetail.TaskId; taskAssignment.AssigneeId = task.AssigneeId; taskAssignment.AssignedById = task.AssignedById; taskAssignment.AssignedByName = task.AssignedByName; taskAssignment.AssigneeName = task.AssigneeName;
                if (zTask.TaskDetails.ParentTaskId == null)
                {
                    tasks.Add(zTask);
                }
                else
                {
                    subTasks.Add(zTask);
                }
            }
            foreach (ZTask task in tasks)
            {
                foreach (ZTask subTask in subTasks)
                {
                    if (subTask.TaskDetails.ParentTaskId == task.TaskDetails.TaskId)
                    {
                        task.SubTasks.Add(subTask);
                    }
                }
            }
            return(tasks);
        }
Beispiel #10
0
        // GET: /TaskAssignment/Edit/<id>
        public ActionResult Edit(
            Int32?TaskAssignmentID
            )
        {
            if (
                TaskAssignmentID == null
                )
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TaskAssignment TaskAssignment = new TaskAssignment();

            TaskAssignment.TaskAssignmentID = System.Convert.ToInt32(TaskAssignmentID);
            TaskAssignment = TaskAssignmentData.Select_Record(TaskAssignment);

            if (TaskAssignment == null)
            {
                return(HttpNotFound());
            }
            // ComboBox
            ViewData["TaskID"]      = new SelectList(TaskAssignment_TaskData.List(), "TaskID", "TaskName", TaskAssignment.TaskID);
            ViewData["EmployeeID"]  = new SelectList(TaskAssignment_EmployeeData.List(), "EmployeeID", "FirstName", TaskAssignment.EmployeeID);
            ViewData["TaskStateID"] = new SelectList(TaskAssignment_TaskStateData.List(), "TaskStateID", "TaskStateName", TaskAssignment.TaskStateID);

            return(View(TaskAssignment));
        }
Beispiel #11
0
        public ActionResult DeleteConfirmed(int id)
        {
            TaskAssignment taskAssignment = db.TaskAssignments.Find(id);

            db.TaskAssignments.Remove(taskAssignment);
            db.SaveChanges();
            return(RedirectToAction("AllTasksIndex"));
        }
        public void CreateTaskAssignment_ReturnsANewTaskAssignment()
        {
            _todelete = Api.CreateTaskAssignment(GetTestId(TestId.ProjectId), GetTestId(TestId.TaskId2));

            Assert.NotNull(_todelete);
            Assert.Equal(GetTestId(TestId.ProjectId), _todelete.ProjectId);
            Assert.Equal(GetTestId(TestId.TaskId2), _todelete.TaskId);
        }
 public void Assignment(TaskAssignment taskAssignment, string AssignedById, string AssigneeId, string AssigneeName, string AssignedByName, string TaskId)
 {
     taskAssignment.AssignedById   = AssignedById;
     taskAssignment.AssigneeId     = AssigneeId;
     taskAssignment.AssigneeName   = AssigneeName;
     taskAssignment.AssignedByName = AssignedByName;
     taskAssignment.TaskId         = TaskId;
 }
Beispiel #14
0
        public async Task CreateTaskAssignmentAsync_ReturnsANewTaskAssignment()
        {
            _todelete = await Api.CreateTaskAssignmentAsync(GetTestId(TestId.ProjectId), GetTestId(TestId.TaskId2));

            Assert.NotNull(_todelete);
            Assert.Equal(GetTestId(TestId.ProjectId), _todelete.ProjectId);
            Assert.Equal(GetTestId(TestId.TaskId2), _todelete.TaskId);
        }
        public void CreateNewTaskAndAssign_ReturnsANewTaskAssignment()
        {
            _todelete     = Api.CreateNewTaskAndAssign(GetTestId(TestId.ProjectId), "Create New Task And Assign Test");
            _todeletetask = Api.Task(_todelete.TaskId);

            Assert.NotNull(_todelete);
            Assert.Equal(GetTestId(TestId.ProjectId), _todelete.ProjectId);
            Assert.Equal("Create New Task And Assign Test", _todeletetask.Name);
        }
Beispiel #16
0
        public IActionResult UnassignTask(int id)
        {
            TaskAssignment taskAssignment = context.TaskAssignments.Find(id);

            context.TaskAssignments.Remove(taskAssignment);
            context.SaveChanges();
            TempData["successMessage"] = "Task unassigned successfully.";
            return(RedirectToAction("View", "Job", new { id = HttpContext.Session.GetInt32("currentJob") }));
        }
Beispiel #17
0
        public async Task CreateNewTaskAndAssignAsync_ReturnsANewTaskAssignment()
        {
            _todelete = await Api.CreateNewTaskAndAssignAsync(GetTestId(TestId.ProjectId), "Create New Task And Assign Test");

            _todeletetask = await Api.TaskAsync(_todelete.TaskId);

            Assert.NotNull(_todelete);
            Assert.Equal(GetTestId(TestId.ProjectId), _todelete.ProjectId);
            Assert.Equal("Create New Task And Assign Test", _todeletetask.Name);
        }
        public async Task CreateAssignment_ReturnsANewAssignment()
        {
            var taskId = 9201520;

            _todelete = await Api.TaskAssignments.Add(_projectId, taskId);

            var id = _todelete.Id;

            Assert.NotNull(_todelete);
        }
        public IHttpActionResult GetTaskAssignment(int id)
        {
            TaskAssignment taskAssignment = db.TaskAssignments.Find(id);

            if (taskAssignment == null)
            {
                return(NotFound());
            }

            return(Ok(taskAssignment));
        }
Beispiel #20
0
        public TaskAssignment Add(TaskAssignment entity, long projectId)
        {
            RestRequest r = new RestRequest("/projects/{projectId}/{module}", Method.Post);

            r.AddUrlSegment("projectId", projectId);
            r.AddUrlSegment("module", module);

            r.AddJsonBody(entity);

            return(client.Execute <TaskAssignment>(r));
        }
Beispiel #21
0
        public IActionResult AssignTask(int id)
        {
            TaskAssignment ta = new TaskAssignment {
                TaskId = id
            };

            ViewBag.Task        = context.Tasks.Find(id).Name;
            ViewBag.Employees   = context.Employees.Skip(1).ToList();
            ViewBag.Contractors = context.Contractors.Skip(1).ToList();
            return(View(ta));
        }
        public async Task UpdateTask_UpdatesOnlyChangedValues()
        {
            var taskId = 9201520;

            _todelete = await Api.TaskAssignments.Add(_projectId, taskId, hourlyRate : 1);

            var updated = await Api.TaskAssignments.Update(_projectId, _todelete.Id, hourlyRate : 2);

            // stuff changed
            Assert.NotEqual(_todelete.HourlyRate, updated.HourlyRate);
            Assert.Equal(2, updated.HourlyRate);
        }
Beispiel #23
0
        public TaskAssignment Update(TaskAssignment entity, long projectId)
        {
            RestRequest r = new RestRequest("/projects/{projectId}/{module}/{id}", Method.PATCH);

            r.AddUrlSegment("id", entity.Id);
            r.AddUrlSegment("projectId", projectId);
            r.AddUrlSegment("module", module);
            r.JsonSerializer = client.serializer;
            r.AddJsonBody(entity);

            return(client.Execute <TaskAssignment>(r));
        }
Beispiel #24
0
        private void AssignTemplate(TaskList task, int templateID, string assignmentList)
        {
            var    staffList = request.Staffs;
            string assign    = assignmentList;

            assign = assign.Replace("  ", "");
            string[] assignments = assign.Split(',');
            Dictionary <string, bool> staffAssignments = new Dictionary <string, bool>();

            foreach (var staff in staffList)
            {
                if (assignments.Contains(staff.staffID.ToString()))
                {
                    staffAssignments.Add(staff.staffID.ToString(), true);
                }
                else
                {
                    staffAssignments.Add(staff.staffID.ToString(), false);
                }
            }

            using (ProjectRequestEntities project = new ProjectRequestEntities())
            {
                foreach (var assignment in staffAssignments)
                {
                    var editTaskAssignment = project.TaskAssignments.FirstOrDefault(a => a.taskID == task.taskID && a.staffID == assignment.Key);

                    if (assignment.Value == true)
                    {
                        if (editTaskAssignment == null)
                        {
                            TaskAssignment myTask = new TaskAssignment();

                            myTask.templateID = templateID;
                            myTask.taskID     = task.taskID;
                            myTask.staffID    = assignment.Key;
                            project.AddToTaskAssignments(myTask);

                            project.SaveChanges();
                        }
                    }
                    else if (assignment.Value == false)
                    {
                        if (editTaskAssignment != null)
                        {
                            project.TaskAssignments.DeleteObject(editTaskAssignment);
                            project.SaveChanges();
                        }
                    }
                } //end assignment foreach
            }     //end using statement
        }
Beispiel #25
0
            public async Task <Unit> Handle(Command request, CancellationToken cancellationToken)
            {
                //  var sorlist = new SORList { };
                var sorlist = await _context.SORLists.FindAsync(request.ItemName, "BDOD");

                if (sorlist == null)
                {
                    throw new Exception("Could not find SOR");
                }

                var projecttask = new ProjectTask
                {
                    //        Id = request.Id,
                    CreatedAt       = DateTime.Now,
                    UpdatedAt       = DateTime.Now,
                    ProjectId       = request.ProjectId,
                    ItemName        = request.ItemName,
                    ItemDescription = sorlist.Description,
                    ItemCategory    = sorlist.Category,
                    UnitRate        = sorlist.UnitRate,
                    OrderQty        = request.OrderQty,
                    ClaimedQty      = request.ClaimedQty,
                    CurrentValue    = sorlist.UnitRate * request.ClaimedQty,
                    Remark          = request.Remark
                };

                var taskassignment = new TaskAssignment
                {
                    //        Id = request.Id,
                    CreatedAt       = DateTime.Now,
                    UpdatedAt       = DateTime.Now,
                    ProjectId       = request.ProjectId,
                    ItemName        = request.ItemName,
                    ItemDescription = sorlist.Description,
                    ItemCategory    = sorlist.Category,
                    TechnicianEmail = "",
                    TeamMember      = "",
                    Remark          = ""
                };

                _context.ProjectTasks.Add(projecttask);
                _context.TaskAssignments.Add(taskassignment);
                var success = await _context.SaveChangesAsync() > 0;

                if (success)
                {
                    return(Unit.Value);
                }

                throw new Exception("Problem saving changes");
            }
Beispiel #26
0
        public Collection <Task> GetByUser(int devID)
        {
            Query query = TaskAssignment.CreateQuery().AddWhere(TaskAssignment.Columns.UserID, Comparison.Equals, devID);
            TaskAssignmentCollection assignmentCollection = _taskAssignmentController.FetchByQuery(query);

#warning //TODO: optimize
            Collection <Task> tasks = new Collection <Task>();
            foreach (TaskAssignment assignment in assignmentCollection)
            {
                tasks.Add(CreateRecord(assignment.Task));
            }

            return(tasks);
        }
        public IHttpActionResult DeleteTaskAssignment(int id)
        {
            TaskAssignment taskAssignment = db.TaskAssignments.Find(id);

            if (taskAssignment == null)
            {
                return(NotFound());
            }

            db.TaskAssignments.Remove(taskAssignment);
            db.SaveChanges();

            return(Ok(taskAssignment));
        }
Beispiel #28
0
        public TaskAssignmentModel TaskAssignmentEntityToTaskAssignmentModel(TaskAssignment entity)
        {
            if (entity == null)
            {
                return(null);
            }

            return(new TaskAssignmentModel
            {
                Id = entity.Id,
                User = UserEntityToUserModel(entity.User),
                Task = TaskEntityToTaskModel(entity.Task)
            });
        }
Beispiel #29
0
        // GET: /TaskAssignment/Delete/<id>
        public ActionResult Delete(
            Int32?TaskAssignmentID
            )
        {
            if (
                TaskAssignmentID == null
                )
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            dtTask      = TaskAssignment_TaskData.SelectAll();
            dtEmployee  = TaskAssignment_EmployeeData.SelectAll();
            dtTaskState = TaskAssignment_TaskStateData.SelectAll();

            TaskAssignment TaskAssignment = new TaskAssignment();

            TaskAssignment.TaskAssignmentID = System.Convert.ToInt32(TaskAssignmentID);
            TaskAssignment      = TaskAssignmentData.Select_Record(TaskAssignment);
            TaskAssignment.Task = new Task()
            {
                TaskID     = (Int32)TaskAssignment.TaskID
                , TaskName = (from DataRow rowTask in dtTask.Rows
                              where TaskAssignment.TaskID == (int)rowTask["TaskID"]
                              select(String) rowTask["TaskName"]).FirstOrDefault()
            };
            TaskAssignment.Employee = new Employee()
            {
                EmployeeID  = (Int32)TaskAssignment.EmployeeID
                , FirstName = (from DataRow rowEmployee in dtEmployee.Rows
                               where TaskAssignment.EmployeeID == (int)rowEmployee["EmployeeID"]
                               select(String) rowEmployee["FirstName"]).FirstOrDefault()
            };
            TaskAssignment.TaskState = new TaskState()
            {
                TaskStateID     = (Int32)TaskAssignment.TaskStateID
                , TaskStateName = (from DataRow rowTaskState in dtTaskState.Rows
                                   where TaskAssignment.TaskStateID == (int)rowTaskState["TaskStateID"]
                                   select(String) rowTaskState["TaskStateName"]).FirstOrDefault()
            };

            if (TaskAssignment == null)
            {
                return(HttpNotFound());
            }
            return(View(TaskAssignment));
        }
        private LoopTask createLoopTask(User user)
        {
            TaskAssignment taskAssignment = CreateTaskAssignment(user);
            string         defaultDate    = "1900-01-01";
            DateTime       startTime      = DateTime.Parse(defaultDate + " " + txtHoraInicio.Text);
            DateTime       endTime        = DateTime.Parse(defaultDate + " " + txtHoraFin.Text);

            LoopTask loopTask = new LoopTask()
            {
                TaskAssignment = taskAssignment,
                StartTime      = startTime,
                EndTime        = endTime,
                Isactive       = true
            };

            return(loopTask);
        }
        private async Task AddNewTaskActivity()
        {
            try
            {
                Pride.DataContract.Version1.Task task = await QueueAssignmentFunctions.CreateNewTaskActivity();
                EntityRelation user = await QueueAssignmentFunctions.GetUserEnityRelation(CurrentClientNodeID);
                task.Internal = NoteTaskContext.CheckedInternal;
                task.Subject = NoteTaskContext.Subject;
                if (NoteTaskContext.SelectedCategory != null)
                {
                    task.CategoryID = NoteTaskContext.SelectedCategory.Id;
                }
                task.PriorityID = NoteTaskContext.SelectedPriority.Id;
                task.StatusID = NoteTaskContext.SelectedStatus.Id;
                task.FollowUpDate = NoteTaskContext.FollowUpDate;

                TaskAssignment tassign = new TaskAssignment();
                tassign.UserID = NoteTaskContext.SelectedAssignee.Id;
                tassign.UserSystemID = 100;
                tassign.UserObjectTypeID = 1000;

                task.TaskAssignments = new List<TaskAssignment>();
                task.TaskAssignments.Add(tassign);

                if (NoteTaskContext.CheckedPersonal)
                {
                    task.TaskUserViews = new List<TaskUserView>();
                    task.TaskUserViews.Add(new TaskUserView { UserID = CurrentEntityId, UserSystemID = 100, UserObjectTypeID = 1000 });
                }
                task.LinkTaskReferences = new List<LinkTaskReference>();
                task.LinkTaskReferences.Add(new LinkTaskReference
                {
                    ReferenceSystemID = 100,
                    ReferenceObjectTypeID = NoteTaskContext.SelectedLevel.Text == EnumPrideLevel.Entity.ToString() ? 1004 : 1003,
                    ReferenceObjectID = NoteTaskContext.SelectedLevel.Text == EnumPrideLevel.Entity.ToString() ? user.EntityId : SelectedQueue.ContractId
                });
                if (!string.IsNullOrEmpty(NoteTaskContext.Comment))
                {
                    task.TaskContents = new List<TaskContent>();
                    task.TaskContents.Add(new TaskContent { Content = NoteTaskContext.Comment });
                }

                ObjectReference objRef = new ObjectReference { ID = CurrentEntityId, ObjectTypeID = 1000, SystemID = 100 };

                bool isAdd = await QueueAssignmentFunctions.AddTaskActivity(task, objRef);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Has error when add Task on Activity Screen.");
            }
        }
Beispiel #32
0
        // решение задачи коммивояжера методом ветвей и границ
        public List<int> SolveByBranching()
        {
            for (int i = 0; i < N; i++)
                C [i, i] = 99999;

            // начальная оценка
            int R0 = int.MaxValue;
            // лучшее решение
            List<int> bestSolution = null;
            // очередь задач
            var tasks = new Queue<CommivoyageurTask> ();
            // ставим первую задачу в очередь
            tasks.Enqueue (this.Copy ());

            while (true) {
                Console.WriteLine("task...");

                // если задач больше нет, заканчиваем
                if (tasks.Count == 0)
                    break;

                // берем задачу из очереди
                var task = tasks.Dequeue ();

                // создаем задачу о назначениях с такой же матрицей стоимости
                var assignments = new TaskAssignment () { C = task.C, N = N };
                // решаем ее
                var solution = assignments.Solve ();

                var totalCost = 0;
                // находим общую стоимость маршрута
                for (int i = 0; i < N; i++)
                    totalCost += C [i, solution [i]];

                if (totalCost >= R0)
                    // если стоимость не меньше чем текущая оценка, переходим к следующей задаче
                    continue;

                // устанавливаем матрицу решения X исходя из решения задачи о назначениях
                for (int i = 0; i < N; i++)
                    for (int j = 0; j < N; j++)
                        task.X [i, j] = (solution [i] == j) ? 1 : 0;

                // если длина цикла в маршруте = N, то это решение, запоминаем его и продолжаем
                if (task.FindLoop (0).Count == N) {
                    R0 = totalCost;
                    bestSolution = task.FindLoop (0);
                    continue;
                }

                var minLoop = task.FindLoop (0);
                // ищем цикл минимальной длины в решении
                for (int i = 0; i < N; i++) {
                    var loop = task.FindLoop (i);
                    if (loop.Count < minLoop.Count)
                        minLoop = loop;
                }

                // для каждого ребра в минимальном цикле
                for (int i = 0; i < minLoop.Count; i++) {
                    // копируем задачу
                    var newTask = task.Copy ();
                    // и устанавливаем высокую стоимость прохода по этому ребру
                    newTask.C [minLoop [i], minLoop [(i + 1) % minLoop.Count]] = 99999;
                    // ставим задачу в очередь
                    tasks.Enqueue (newTask);
                }
            }
            return bestSolution;
        }
Beispiel #33
0
        public static void Main(string[] args)
        {
            int t = 2;
            TaskAssignment task = null;
            if (t == 0) {
                task = new TaskAssignment {
                    N = 4,
                    C = new int[,] {
                        { 2, 10, 9, 7 },
                        { 15, 4, 14, 8 },
                        { 13, 14, 16, 11 },
                        { 4, 15, 13, 19 },
                    }
                };
            }
            if (t == 2) {
                task = new TaskAssignment {
                    N = 7,
                    C = new int[,] {
                        { 9, 6, 4, 9, 3, 8, 0 },
                        { 5, 8, 6, 8, 8, 3, 5 },
                        { 5, 2, 1, 1, 8, 6, 8 },
                        { 1, 0, 9, 2, 5, 9, 2 },
                        { 9, 2, 3, 3, 0, 3, 0 },
                        { 7, 3, 0, 9, 4, 5, 6 },
                        { 0, 9, 6, 0, 8, 8, 9 },
                    }
                };
            }

            task = new TaskAssignment {
                N = 5,
                C = new int[,] {
                    { 2, 999, 3,4,5 },
                    {-5,8,-1,0,0},
                    {2,8,2,1,3},
                    {2,8,4,3,1},
                    {1,999,1,2,1}
                        //{ 999, 2, 3, 1, 4 },
                        //{ 1, 999, 2, 1, 3 },
                        //{ 999, 1, 999, 1, 1 },
                        //{ 1, 2, 10, 999, 3 },
                        //{ 1, 2, 999, 4, 999 },
                }
            };
            var r = task.Solve ();
            for (int i = 0; i < task.N; i++) {
                for (int j = 0; j < task.N; j++)
                    Console.Write ("{0} ", task.C [i, j]);
                Console.WriteLine ();
            }
            int c = 0;
            var Co = new int[,] {
                { 2, 999, 3,4,5 },
                {-5,8,-1,0,0},
                {2,8,2,1,3},
                {2,8,4,3,1},
                {1,999,1,2,1}
                //{ 999, 2, 3, 1, 4 },
                //{ 1, 999, 2, 1, 3 },
                //{ 999, 1, 999, 1, 1 },
                //{ 1, 2, 10, 999, 3 },
                //{ 1, 2, 999, 4, 999 },
            };
            for (int i = 0; i < task.N; i++) {
                Console.WriteLine ("{0} -> {1}", i + 1, r [i] + 1);
                c += Co[i,r[i]];
            }
            Console.WriteLine(c);
        }
        public void Insert(int TaskID,int UserID)
        {
            TaskAssignment item = new TaskAssignment();

            item.TaskID = TaskID;

            item.UserID = UserID;

            item.Save(UserName);
        }
        public void Update(int TaskID,int UserID)
        {
            TaskAssignment item = new TaskAssignment();
            item.MarkOld();
            item.IsLoaded = true;

            item.TaskID = TaskID;

            item.UserID = UserID;

            item.Save(UserName);
        }