Beispiel #1
0
 /**
  * Updates the value of an existing embedded link
  * The link and values to update are the parameters
  */
 private void UpdateSysUrl(SysUrl sysUrl, JsonSysUrlUpdate update)
 {
     sysUrl.Description = update.name;
     sysUrl.Url         = update.url;
     sysUrl.Embedded    = update.embedded;
     db.SaveChanges();
 }
        public ActionResult DeleteConfirmed(int id)
        {
            SysUrl sysUrl = db.SysUrls.Find(id);

            db.SysUrls.Remove(sysUrl);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #3
0
        /**
         * Creates a new embedded link and associates a type to it.
         * This allows embedded links to be easily managed as they are handled similarly and only
         * only depend on their types.
         * A type is used as a parameter
         */
        private SysUrl CreateNewSysUrl(SysUrlType type, int taskID)
        {
            SysUrl newSysUrl = new SysUrl();

            newSysUrl.SysUrlType = type;
            newSysUrl.TaskID     = taskID;
            db.SysUrls.Add(newSysUrl);
            db.SaveChanges();
            return(newSysUrl);
        }
 public ActionResult Edit([Bind(Include = "SysUrlID,Url,Description,SysUrlType,TaskID")] SysUrl sysUrl)
 {
     if (ModelState.IsValid)
     {
         db.Entry(sysUrl).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(sysUrl));
 }
        public ActionResult Create([Bind(Include = "SysUrlID,Url,Description,SysUrlType,TaskID")] SysUrl sysUrl)
        {
            if (ModelState.IsValid)
            {
                db.SysUrls.Add(sysUrl);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(sysUrl));
        }
        // GET: SysUrls/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SysUrl sysUrl = db.SysUrls.Find(id);

            if (sysUrl == null)
            {
                return(HttpNotFound());
            }
            return(View(sysUrl));
        }
Beispiel #7
0
        public ActionResult ManageSysUrl(JsonSysUrl sysUrlMessage)
        {
            SysUrl     aSysUrl = null;
            JsonResult res;

            switch (sysUrlMessage.OperationType)
            {
            case TaskType.Add:
            {
                Tasks task = db.Tasks.Find(sysUrlMessage.TaskID);
                if (task == null)
                {
                    res = Json(new { code = 0, message = "Unknown task" }, "application/json");
                }
                else
                {
                    aSysUrl = CreateNewSysUrl(sysUrlMessage.SysUrlType, task.TaskID);
                    res     = Json(new { code = 1, message = Json(new { sysurl_id = aSysUrl.SysUrlID }).Data }, "application/json");
                }
                break;
            }

            case TaskType.Delete:
            {
                aSysUrl = db.SysUrls.Find(sysUrlMessage.SysUrlID);
                if (aSysUrl == null)
                {
                    res = Json(new { code = 0, message = "Unknown link" }, "application/json");
                }
                else
                {
                    db.SysUrls.Remove(aSysUrl);
                    db.SaveChanges();
                    res = Json(new { code = 1, message = "" }, "application/json");
                }
                break;
            }

            default:
            {
                res = Json(new { code = 0, message = "Unknown operation" }, "application/json");
                break;
            }
            }
            return(res);
        }
Beispiel #8
0
        /**
         * Creates a new task and adds it to the database. The process ID is used as
         * a parameter and the task is added to that process ID
         */
        private Tasks CreateNewTask(int processID)
        {
            Tasks newTask = new Tasks();

            newTask.ProcessID = processID;
            db.Tasks.Add(newTask);
            SysUrl sysUrl = CreateNewSysUrl(SysUrlType.Name, newTask.TaskID);

            sysUrl.TaskID  = newTask.TaskID;
            newTask.NameID = sysUrl.SysUrlID;
            db.SaveChanges();
            sysUrl            = CreateNewSysUrl(SysUrlType.Archive, newTask.TaskID);
            sysUrl.TaskID     = newTask.TaskID;
            newTask.ArchiveID = sysUrl.SysUrlID;
            db.SaveChanges();
            sysUrl        = CreateNewSysUrl(SysUrlType.KPI, newTask.TaskID);
            sysUrl.TaskID = newTask.TaskID;
            newTask.KPIID = sysUrl.SysUrlID;
            int max = db.Tasks.Where(x => x.ProcessID == processID).Max(x => x.Order);

            newTask.Order = max + 1;
            db.SaveChanges();
            return(newTask);
        }
Beispiel #9
0
        public ActionResult ManageTasks(JsonTask taskMessage)
        {
            Tasks        task = null;
            ActionResult res;

            switch (taskMessage.TaskType)
            {
            case TaskType.Add:
            {
                task = CreateNewTask(taskMessage.ProcessID);
                res  = Json(new { code = 1, message = Json(new { task_id = task.TaskID, name_id = task.NameID, archive_id = task.ArchiveID, kpi_id = task.KPIID }).Data }, "application/json");
                break;
            }

            case TaskType.Delete:
            {
                task = db.Tasks.Find(taskMessage.TaskID);
                if (task == null)
                {
                    res = Json(new { code = 0, message = "Unknown task" }, "application/json");
                }
                else
                {
                    db.SysUrls.RemoveRange(db.SysUrls.Where(x => x.TaskID == task.TaskID).ToList());
                    db.TaskEntities.RemoveRange(db.TaskEntities.Where(x => x.TaskID == task.TaskID).ToList());
                    db.Tasks.Remove(task);
                    db.SaveChanges();
                    res = Json(new { code = 1, message = "" }, "application/json");
                }
                break;
            }

            case TaskType.Clear:
            {
                //Update this code
                task = db.Tasks.Find(taskMessage.TaskID);
                if (task == null)
                {
                    res = Json(new { code = 0, message = "Unknown task" }, "application/json");
                }
                else
                {
                    SysUrl aSysUrl = null;
                    task.OrganisationUnitID = (int?)null;
                    task.SupportingISID     = (int?)null;
                    task.HRFunctionID       = (int?)null;
                    task.HRSkillsID         = (int?)null;
                    aSysUrl             = db.SysUrls.Where(x => x.TaskID == task.TaskID && x.SysUrlType == SysUrlType.Name).SingleOrDefault();
                    aSysUrl.Embedded    = null;
                    aSysUrl.Url         = null;
                    aSysUrl.Description = null;
                    aSysUrl             = db.SysUrls.Where(x => x.TaskID == task.TaskID && x.SysUrlType == SysUrlType.Archive).SingleOrDefault();
                    aSysUrl.Embedded    = null;
                    aSysUrl.Url         = null;
                    aSysUrl.Description = null;
                    aSysUrl             = db.SysUrls.Where(x => x.TaskID == task.TaskID && x.SysUrlType == SysUrlType.KPI).SingleOrDefault();
                    aSysUrl.Embedded    = null;
                    aSysUrl.Url         = null;
                    aSysUrl.Description = null;
                    db.SysUrls.RemoveRange(db.SysUrls.Where(x => (x.TaskID == task.TaskID) && (x.SysUrlType != SysUrlType.Name && x.SysUrlType != SysUrlType.Archive && x.SysUrlType != SysUrlType.KPI)).ToList());
                    db.TaskEntities.RemoveRange(db.TaskEntities.Where(x => x.TaskID == task.TaskID).ToList());
                    db.SaveChanges();
                    res = Json(new { code = 2, message = "" }, "application/json");
                }
                break;
            }

            default:
            {
                res = Json(new { code = 0, message = "Unknown operation" }, "application/json");
                break;
            }
            }
            return(res);
        }