Beispiel #1
0
        /**
         * Public method to remove all tasks
         */
        public static void RemoveAllTasks(int processID)
        {
            TasksController tc = new TasksController();

            tc.RemoveTasks(processID);
        }
        public ActionResult Update(JsonComboUpdate psvm)
        {
            int    success = 0;
            string message = "Unable to save in database";

            switch (psvm.Operation)
            {
            case OperationType.Name:
            {
                ProcessModels processModels = db.ProcessModels.Find(psvm.Identifier);
                processModels.Name = psvm.Value;
                db.SaveChanges();
                success = 1;
                message = "";

                break;
            }

            case OperationType.Parent:
            {
                ProcessModels processModels = db.ProcessModels.Find(psvm.Identifier);
                ProcessModels tmp           = null;
                processModels.ParentID = psvm.Value == null ? null : (int?)int.Parse(psvm.Value);
                if (processModels.ParentID == null)
                {
                    processModels.Level = 0;
                    TasksController.RemoveAllTasks(processModels.ProcessID);
                }
                else
                {
                    tmp = db.ProcessModels.Find(processModels.ParentID);
                    processModels.Level = tmp.Level + 1;
                    if (db.Tasks.Where(x => x.ProcessID == processModels.ProcessID).Count() == 0)
                    {
                        TasksController.AddNewTask(processModels.ProcessID);
                    }
                }
                db.SaveChanges();
                success = 2;
                message = "";
                break;
            }

            case OperationType.Procedure:
            {
                ProcessModels processModels = db.ProcessModels.Find(psvm.Identifier);
                processModels.ProcedureID = psvm.Value == null ? null : (int?)int.Parse(psvm.Value);
                db.SaveChanges();
                success = 1;
                message = "";
                break;
            }

            case OperationType.Manager:
            {
                ProcessModels processModels = db.ProcessModels.Find(psvm.Identifier);
                processModels.ManagerID = psvm.Value == null ? null : (int?)int.Parse(psvm.Value);
                db.SaveChanges();
                success = 1;
                message = "";
                break;
            }
            }
            return(Json(new { code = success, message = message }, "application/json"));
        }