public string deleteProcess(int P_ProcessId, bool deleteDBEntries) { InFlowDb _db = new InFlowDb(cfgSQLConnectionString); var p_Process = _db.P_Processes.Find(P_ProcessId); WorkflowManagementClient client = new WorkflowManagementClient(new Uri(cfgWFMBaseAddress + p_Process.WFM_RootScope + p_Process.WFM_ProcessScope + "/"), credentials); client.CleanUp(); if (deleteDBEntries) { var p_ProcessInstances = _db.P_ProcessInstance.Where(result => result.P_Process_Id == p_Process.Id).ToList(); foreach (var i in p_ProcessInstances) { _db.T_Tasks.RemoveRange(_db.T_Tasks.Where(result => result.P_ProcessInstance_Id == i.Id)); _db.M_Messages.RemoveRange(_db.M_Messages.Where(result => result.ProcessInstance_Id == i.Id)); } _db.P_ProcessInstance.RemoveRange(p_ProcessInstances); var p_ProcessSubjects = _db.P_ProcessSubjects.Where(result => result.Process_Id == p_Process.Id).ToList(); foreach (var ps in p_ProcessSubjects) { _db.P_WorkflowInstances.RemoveRange(_db.P_WorkflowInstances.Where(result => result.ProcessSubject_Id == ps.Id)); } _db.P_ProcessSubjects.RemoveRange(p_ProcessSubjects); _db.P_Processes.Remove(p_Process); _db.SaveChanges(); } return(p_Process.WFM_RootScope + p_Process.WFM_ProcessScope); }
public void setBool(string key, bool value) { C_Property property = db.C_Properties.Find(key); if (property == null) { property = new C_Property { Key = key, Type = PropertyTypes.BOOL, Value = value.ToString() }; db.C_Properties.Add(property); } else { if (isBool(property)) { property.Value = value.ToString(); } } db.SaveChanges(); }
public void write(string data) { Request.InputStream.Seek(0, SeekOrigin.Begin); string jsonData = new StreamReader(Request.InputStream).ReadToEnd(); String subject = jsonData.Split('<')[0]; int subjectId = Int32.Parse(subject); String xaml = jsonData.Substring(subject.Length); _db.WS_Subjects.Find(subjectId).Xaml_Data = xaml; _db.SaveChanges(); }
public void setTaskAsSeen(int taskId) { var query = from t in db.T_Tasks where t.Id == taskId select t; foreach (var item in query) { if (item.Done == true) { item.Seen = true; } } db.SaveChanges(); }
public int translateToXaml(int projectid, int modelid) { var process = _pdesignerDB.PD_Processes.Find(modelid); var project = _inflowDB.WS_Projects.Find(projectid); _inflowDB.WS_Subjects.RemoveRange(project.Subjects); int subjects = 0; foreach (var subject in process.Subjects) { WS_Subject s = new WS_Subject() { Name = subject.Name, CanBeStarted = subject.CanBeStarted, MultiSubject = subject.MultiSubject }; s.Xaml_Data = buildXaml(process, subject); project.Subjects.Add(s); subjects++; } _inflowDB.SaveChanges(); return(subjects); }
public void addNewProcess(P_Process p) { db.P_Processes.Add(p); db.SaveChanges(); }
public ActionResult DeleteFolder(int folderId) { _db.WS_Folders.Remove(_db.WS_Folders.Find(folderId)); _db.SaveChanges(); return(View("Index")); }
public int addMessage(M_Message message) { db.M_Messages.Add(message); db.SaveChanges(); return(message.Id); }
public ActionResult Group_Edit(EditGroupViewModel model) { U_FunctionGroup _group; if (model.GroupId == -1) { _group = new U_FunctionGroup() { Name = model.GroupName }; _inFlowDb.U_FunctionGroups.Add(_group); _inFlowDb.SaveChanges(); } else { _group = _inFlowDb.U_FunctionGroups.Find(model.GroupId); } if (!_group.Name.Equals(model.GroupName)) { _group.Name = model.GroupName; } //users List <string> oldAssignedUsers = new List <string>(); List <string> newAssignedUsers = new List <string>(); if (model.SelectedUsers != null) { newAssignedUsers = new List <string>(model.SelectedUsers); } _group.Users.ToList().ForEach(u => oldAssignedUsers.Add(u.Username)); List <string> usersToAssign = new List <string>(newAssignedUsers.Except(oldAssignedUsers)); List <string> usersToRemove = new List <string>(oldAssignedUsers.Except(newAssignedUsers)); usersToAssign.ForEach(username => _inFlowDb.U_User_FunctionGroups.Add(new strICT.InFlow.Db.Contracts.InFlow.U_User_FunctionGroup { FunctionGroup = _group, Username = username })); foreach (string username in usersToRemove) { var item = _inFlowDb.U_User_FunctionGroups.First(fg => fg.Username == username && fg.FunctionGroup_Id == _group.Id); _inFlowDb.U_User_FunctionGroups.Remove(item); } //roles List <int> oldAssignedRoles = new List <int>(); List <int> newAssignedRoles = new List <int>(); if (model.SelectedRoles != null) { (new List <string>(model.SelectedRoles)).ForEach(id => newAssignedRoles.Add(Int16.Parse(id))); } _group.Roles.ToList().ForEach(r => oldAssignedRoles.Add(r.Id)); List <int> rolesToAssign = new List <int>(newAssignedRoles.Except(oldAssignedRoles)); List <int> rolesToRemove = new List <int>(oldAssignedRoles.Except(newAssignedRoles)); rolesToAssign.ForEach(role => _group.Roles.Add(_inFlowDb.U_Roles.Find(role))); rolesToRemove.ForEach(role => _group.Roles.Remove(_inFlowDb.U_Roles.Find(role))); //save and return _inFlowDb.SaveChanges(); return(RedirectToAction("GroupsRoles")); }
public ActionResult Deactivate(int ProcessId, int ProjectFilter) { _db.P_Processes.Find(ProcessId).Active = false; _db.SaveChanges(); return(RedirectToAction("Index", new { projectId = ProjectFilter })); }