public void setParentDepartment_validObjToValidParent_willCreateDepartmentParentChildRelation() { DepartmentHelper o = new DepartmentHelper(db); Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } o.saveCreatedObject(bizEntitySchema, department, null); o.setParentDepartment(department.departmentId, departmentParent, bizEntitySchema.bizEntitySchemaId); var dpcrs = db.departmentParentChildRelations.Where(dpcr => dpcr.assistBizEntitySchemaId == bizEntitySchema.bizEntitySchemaId && dpcr.departmentIdChild == department.departmentId); Assert.AreEqual(1, dpcrs.Count()); Assert.IsNotNull(dpcrs.FirstOrDefault().departmentParent); }
public IHttpActionResult Post([FromUri] int bizEntitySchemaId, [FromUri] int departmentParentId, Department value) { var departmentParent = db.departments.Find(departmentParentId); if (value == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } BizEntitySchemaHelper bizEntitySchemaHelper = new BizEntitySchemaHelper(db); if (!bizEntitySchemaHelper.isObjectExists(bizEntitySchemaId) || (departmentParentId > 0 && departmentParent == null)) { return(BadRequest("数据错误!")); } DepartmentHelper departmentHelper = new DepartmentHelper(db); try { departmentHelper.saveCreatedObject( db.bizEntitySchemas.Find(bizEntitySchemaId), value, departmentParent); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok(departmentHelper.convert2DTO(value))); }
public IHttpActionResult Put(int id, Department value) { if (value == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != value.departmentId) { return(BadRequest()); } DepartmentHelper departmentHelper = new DepartmentHelper(db); try { if (!departmentHelper.isObjectExists(id)) { return(NotFound()); } if (!departmentHelper.isObjectChangeAllowed(id, value)) { return(BadRequest("不允许修改对象!")); } db.Entry(value).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(StatusCode(HttpStatusCode.NoContent)); }
public void setUserDepartment_existingRelation_willUpdate() { DepartmentHelper o = new DepartmentHelper(db); BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department department = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (department == null) { Assert.Ignore("Not found department object"); } UserHelper userHelper = new UserHelper(db); User user = userHelper.createObject(); user.name = "Integration_Test_XXXYYYZZZ_1"; userHelper.saveCreatedObject(user); userHelper.setUserDepartment(user.userId, department, UserPositionToDepartment.other); userHelper.setUserDepartment(user.userId, department, UserPositionToDepartment.manager); Assert.AreEqual(1, db.departmentUserRelations.Where( r => r.assistDepartmentId == department.departmentId && r.assistUserId == user.userId).Count()); Assert.AreEqual(UserPositionToDepartment.manager, db.departmentUserRelations.Where( r => r.assistDepartmentId == department.departmentId && r.assistUserId == user.userId).First().userPosition); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, RoleManager <IdentityRole> roleManager) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseAuthentication(); app.UseSession(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); var scopeFactory = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>(); using (var scope = scopeFactory.CreateScope()) { RoleHelper.EnsureRolesCreated(roleManager).Wait(); DepartmentHelper.EnsureDepartmentsCreated(scope.ServiceProvider.GetService <ApplicationDbContext>()).Wait(); } }
public void saveCreatedObject_validObjWithParent_willExist() { DepartmentHelper o = new DepartmentHelper(db); Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } o.saveCreatedObject(bizEntitySchema, department, departmentParent); Assert.AreEqual(1, db.departments.AsNoTracking().Where( d => d.departmentId == department.departmentId).Count()); Assert.AreEqual(1, db.departmentParentChildRelations.Where( dpcr => dpcr.departmentIdParent == departmentParent.departmentId && dpcr.departmentIdChild == department.departmentId && dpcr.assistBizEntitySchemaId == bizEntitySchema.bizEntitySchemaId).Count()); }
public void saveCreatedObject_validObjWithMultipleParent_willThrow() { DepartmentHelper o = new DepartmentHelper(db); Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } Department departmentParent2 = o.createObject(); departmentParent2.name = "Integration_Test_Another_Department"; o.saveCreatedObject(bizEntitySchema, departmentParent2, departmentParent); o.saveCreatedObject(bizEntitySchema, department, departmentParent); Assert.Throws <DataLogicException>(() => o.saveCreatedObject(bizEntitySchema, department, departmentParent2), string.Format("部门'{0}'已被创建并属于其他部门, 请调用setParentDepartment方法", department.name)); }
public void getUserDTOsOfPositionInDepartment_validCriteria_returnCorrectList() { DepartmentHelper o = new DepartmentHelper(db); BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department department = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (department == null) { Assert.Ignore("Not found department object"); } UserHelper userHelper = new UserHelper(db); User user = userHelper.createObject(); user.name = "Integration_Test_XXXYYYZZZ_1"; userHelper.saveCreatedObject(user); userHelper.createDepartmentUserRelation( department, user, UserPositionToDepartment.manager); User user2 = userHelper.createObject(); user2.name = "Integration_Test_XXXYYYZZZ_2"; userHelper.saveCreatedObject(user2); userHelper.createDepartmentUserRelation( department, user2, UserPositionToDepartment.normal); var userDTOs = o.getUserDTOsOfPositionInDepartment( department.departmentId, UserPositionToDepartment.manager); Assert.AreEqual(1, userDTOs.Where(u => u.userId == user.userId).Count()); Assert.Zero(userDTOs.Where(u => u.userId == user2.userId).Count()); }
public void convert2DTO_departmentHasNoChildren_returnCorrectObject() { DepartmentHelper o = new DepartmentHelper(db); BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; o.saveCreatedObject(bizEntitySchema, department, departmentParent); var departmentDTO = o.convert2DTO(department); Assert.Zero(departmentDTO.users.Count()); Assert.Zero(departmentDTO.departments.Count()); }
public async Task <ActionResult> Create(FormCollection fc) { Department o = DepartmentHelper.GetObject(null, fc); Dictionary <string, object> err = null; ISession se = NHibernateHelper.CurrentSession; err = o.IsValid(se); if (err == null) { await Task.Run(() => { using (ITransaction tx = se.BeginTransaction()) { se.SaveOrUpdate(o); tx.Commit(); } }); return(Json(new Dictionary <string, object> { { "success", 1 }, { "message", "Department was successfully added." } }, JsonRequestBehavior.AllowGet)); } else { return(Json(err, JsonRequestBehavior.AllowGet)); } }
public void removeDepartment_validObjWithNoChildren_willRemove() { DepartmentHelper o = new DepartmentHelper(db); Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } o.saveCreatedObject(bizEntitySchema, department, departmentParent); o.removeDepartment(department.departmentId); var dpcrs = db.departmentParentChildRelations.Where(dpcr => dpcr.assistBizEntitySchemaId == bizEntitySchema.bizEntitySchemaId && dpcr.departmentIdChild == department.departmentId); Assert.IsFalse(dpcrs.FirstOrDefault().departmentChild.isVisible); }
public void setParentDepartment_validObjToSelfDescedent_willThrow() { DepartmentHelper o = new DepartmentHelper(db); Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } o.saveCreatedObject(bizEntitySchema, department, departmentParent); Department departmentLastLevel = o.createObject(); departmentLastLevel.name = "Integration_Test_XXXYYYZZZ_LastLevel"; o.saveCreatedObject(bizEntitySchema, departmentLastLevel, department); Assert.Throws <DataLogicException>(() => o.setParentDepartment(departmentParent.departmentId, departmentLastLevel, bizEntitySchema.bizEntitySchemaId), "设置的祖先不能为自己的子孙节点!"); }
public void createDepartmentUserRelation_existingOtherRelationOfSimpleMode_willThrow() { DepartmentHelper o = new DepartmentHelper(db); BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; o.saveCreatedObject(bizEntitySchema, department, departmentParent); UserHelper userHelper = new UserHelper(db); User user = userHelper.createObject(); user.name = "Integration_Test_XXXYYYZZZ_1"; userHelper.saveCreatedObject(user); userHelper.setUserDepartment(user.userId, department, UserPositionToDepartment.other); Assert.Throws <DataLogicException>(() => userHelper.createDepartmentUserRelation(department, user, UserPositionToDepartment.manager)); }
// // GET: /Admin/Department/ public async Task <ActionResult> Index() { ListModel <Department> l = null; l = await DepartmentHelper.GetAll(); return(View(l)); }
public IHttpActionResult Get(int id) { var obj = db.departments.Find(id); if (obj == null) { return(NotFound()); } DepartmentHelper departmentHelper = new DepartmentHelper(db); return(Ok(departmentHelper.convert2DTO(obj))); }
public IHttpActionResult SetParent(int id, int departmentIdParent, int bizEntitySchemaId) { var bizDepartmentParent = db.departments.Find(departmentIdParent); DepartmentHelper departmentHelper = new DepartmentHelper(db); try { departmentHelper.setParentDepartment( id, bizDepartmentParent, bizEntitySchemaId); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult Delete(int id) { var obj = db.departments.Find(id); if (obj == null) { return(NotFound()); } try { DepartmentHelper departmentHelper = new DepartmentHelper(db); departmentHelper.removeDepartment(id); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok(obj)); }
public void removeDepartment_validObjWithChildren_willThrow() { DepartmentHelper o = new DepartmentHelper(db); Department department = o.createObject(); department.name = "Integration_Test_XXXYYYZZZ"; BizEntitySchema bizEntitySchema = db.bizEntitySchemas.FirstOrDefault(); if (bizEntitySchema == null) { Assert.Ignore("Not found BizEntitySchema object"); } Department departmentParent = bizEntitySchema.getRootDepartments(db).FirstOrDefault(); if (departmentParent == null) { Assert.Ignore("Not found departmentParent object"); } o.saveCreatedObject(bizEntitySchema, department, departmentParent); Assert.Throws <DataLogicException>(() => o.removeDepartment(departmentParent.departmentId), "不能直接删除带有子节点的Department"); }
public async Task <ActionResult> List() { string keyword = CommonHelper.GetValue(Request["keyword"]); int pgnum = CommonHelper.GetValue <int>(Request["pgnum"], 1); int pgsize = CommonHelper.GetValue <int>(Request["pgsize"], 0); string sortcolumn = CommonHelper.GetValue(Request["sortcolumn"], DepartmentHelper.DEFAULT_SORT_COLUMN); string sortdir = CommonHelper.GetValue(Request["sortdir"], DepartmentHelper.DEFAULT_SORT_DIR); Sort sort = new Sort(sortcolumn, sortdir); ListModel <Department> l = null; if (string.IsNullOrEmpty(keyword)) { l = await DepartmentHelper.GetAll(pgnum, pgsize, sort); } else { l = await DepartmentHelper.GetFilterBy(keyword, pgnum, pgsize, sort); } return(View("_list", l)); }
public async Task <JsonResult> Delete(FormCollection fc) { string keyword = CommonHelper.GetValue(Request["keyword"]); int pgnum = CommonHelper.GetValue <int>(Request["pgnum"], 1); int pgsize = CommonHelper.GetValue <int>(Request["pgsize"], 0); string ids = fc.Get("id[]"); string[] idlist = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string itemscount = null; ISession se = NHibernateHelper.CurrentSession; await DeleteReferences(se, idlist); await Task.Run(() => { using (ITransaction tx = se.BeginTransaction()) { se.CreateQuery("delete from Department where id in (:idlist)") .SetParameterList("idlist", idlist) .ExecuteUpdate(); tx.Commit(); } }); itemscount = await DepartmentHelper.GetItemMessage(keyword, pgnum, pgsize); return(Json(new Dictionary <string, object> { { "success", 1 }, { "itemscount", itemscount }, { "message", string.Format("{0} Department(s) was successfully deleted.", idlist.Length) } }, JsonRequestBehavior.AllowGet)); }
static void Main(string[] args) { CompanyHelper companyHelper = new CompanyHelper(); BranchHelper branchHelper = new BranchHelper(); DepartmentHelper departmentHelper = new DepartmentHelper(); try { if (companyHelper.GetAll().Count > 0) { companyHelper.GetAll().ToList().ForEach(c => { WriteLine("\n------------- Company ------------------"); WriteLine($"--- {c.Name} has {c.Branches.Count} branch(es)"); WriteLine("----------------------------------------"); if (c.Branches.Count > 0) { c.Branches.ToList().ForEach(b => { WriteLine("\n -------------Branch(es)----------------"); WriteLine($" > {b.Name} has {departmentHelper.GetDepartmentsByBranchId(b.Id).Count} Department(s)"); if (departmentHelper.GetDepartmentsByBranchId(b.Id).Count > 0) { WriteLine("\n ---------Department(s)------------"); departmentHelper.GetDepartmentsByBranchId(b.Id).ForEach(d => { WriteLine($" > {d.Name}"); }); } }); } WriteLine("----------------------------------------"); }); } else { WriteLine("no company added to db yet"); WriteLine("would you like to Add a test Company ?"); var ans = Console.ReadLine(); if (ans.Equals("y", StringComparison.OrdinalIgnoreCase)) { Company c = new Company { Name = "MrLee Ltd", Branches = new List <Branch> { new Branch { Name = "Head Office", Departments = new List <Department> { new Department { Name = "Development Department" }, new Department { Name = "Human Resources Department" }, new Department { Name = "Networking Department" }, } }, new Branch { Name = "China Office", Departments = new List <Department> { new Department { Name = "Development Department" }, new Department { Name = "PMP Department" }, new Department { Name = "Security Analysis Department" }, } } } }; companyHelper.Add(c); Console.WriteLine("Done!! please restart the program to view changes"); } } } catch (Exception ex) { WriteLine($"Error > {ex.Message}"); } ReadKey(); }
protected void Page_Load(object sender, EventArgs e) { try { //判断是不是评审 if (!TeacherHelper.isJudge(Session["TeacherNumber"].ToString())) { liJudge.Visible = false; } if (!IsPostBack) { DataTable dt = DepartmentHelper.getDepartment(); rptSelect.DataSource = dt; rptSelect.DataBind(); DataTable dt_rank = RankHelper.getRank(); rptRank.DataSource = dt_rank; rptRank.DataBind(); int teacher_id = 1; if (Session["TeacherNumber"] != null) { teacher_id = TeacherHelper.getTeacherIDByNumber(Session["TeacherNumber"].ToString()); } else { Response.Redirect("main-index.aspx"); } using (var db = new TeachingCenterEntities()) { var teacher = (from it in db.Teacher where it.id == teacher_id select it).FirstOrDefault(); txtName.Text = teacher.name; txtNumber.Text = teacher.number; txtEmail.Text = teacher.email; txtPhone.Text = teacher.phone_number; if (teacher.department != "") { depart.Text = teacher.department; } else { depart.Text = "请选择院系"; } if (teacher.rank != "") { rank.Text = teacher.rank; } else { rank.Text = "请选择职称"; } lbType.Text = teacher.is_judge == 0 ? "教师" : "评委"; if (teacher.is_judge == 1) { applyJudge.Visible = false; } HtmlInputHidden gender = FindControl("gender") as HtmlInputHidden; gender.Value = teacher.gender.ToString(); HtmlInputHidden department = FindControl("lbSelected") as HtmlInputHidden; department.Value = teacher.department; HtmlInputHidden rank_ = FindControl("lbSelectedRank") as HtmlInputHidden; rank_.Value = teacher.rank; } } } catch { JSHelper.AlertThenRedirect("请先登录!", "main-index.aspx"); } }
public DepartmentController(DepartmentHelper departmentHelper) { this._departmentHelper = departmentHelper; }
public HttpResponseMessage ManageDepartment([FromBody] DepartmentRequest reqObj) { #region variable int result = 0; var st = new StackTrace(); var sf = st.GetFrame(0); currentMethodName = sf.GetMethod().Name; currentControllerName = this.GetType().Name; #endregion #region objects //Helper Classes GeneralHelper GH = new GeneralHelper(); DepartmentHelper helperObj = new DepartmentHelper(); //DataOperation DataSet ds = new DataSet(); //Entity Objects department[] entityObjects = new department[] { }; //Proxy Objects DepartmentResponse response = new DepartmentResponse(); #endregion try { //Log Request LogRequest(currentControllerName, currentMethodName, new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(reqObj), WorkFlowConstants.NDepartment, reqObj.tui); //Validate Request response = helperObj.ValidateRequest(reqObj); if (response != null && response.code == ResponseConstants.OK.ToString()) { //Get Logined User Id UserId = GH.GetUserId(Request.Headers.Authorization.Parameter); //Process Proxy to Entity entityObjects = helperObj.ProcessProxyToEntity(reqObj, UserId); for (int idx = 0; idx < reqObj.departments.Length; idx++) { if (reqObj.departments[idx].action.ToUpper() == "A") { //Check The Existance Of New Request if (!helperObj.CheckTheDataExistance(entityObjects[idx])) { //Insert Entity Details result = helperObj.ProcessInsertEntity(entityObjects[idx]); if (result > 0) { response.departments[idx].Id = getEncryptData(result.ToString(), DBConstants.PrimaryKey); } else { response.departments[idx].message = entityObjects[idx].DepartmentName + " Insertion " + ResponseConstants.Fail; } } else { response.departments[idx].message = ResponseConstants.Exist; } } else if (reqObj.departments[idx].action.ToUpper() == "S") { //Get The Data ds = helperObj.GetTheData(entityObjects[idx]); } else if (reqObj.departments[idx].action.ToUpper() == "E") { //Update The Data result = helperObj.UpdateTheData(entityObjects[idx]); if (result > 0) { } else { response.departments[idx].message = entityObjects[idx].DepartmentName + " Update " + ResponseConstants.Fail; } } else if (reqObj.departments[idx].action.ToUpper() == "D") { //Delete The Data result = helperObj.DeleteTheData(entityObjects[idx]); if (result > 0) { } else { response.departments[idx].message = entityObjects[idx].DepartmentName + " Deletion " + ResponseConstants.Fail; } } } } //Response Processing response = helperObj.processResponseToProxy(response, ds, reqObj.tui, Request.Headers.Authorization.Parameter, response.message, reqObj.departments[0].action); //Log Response LogResponse(currentControllerName, currentMethodName, new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(response), WorkFlowConstants.NDepartment, response.tui); } catch (Exception ex) { try { currentMethodName = ex.Message.ToString().Split('|').Count() > 1 ? ex.Message.ToString().Split('|')[0] : currentMethodName; currentControllerName = ex.Message.ToString().Split('|').Count() > 1 ? ex.Message.ToString().Split('|')[1] : this.GetType().Name; LogError(currentControllerName, currentMethodName, ex.Message, reqObj.tui == null ? "" : reqObj.tui); } catch (Exception) { } response.code = ResponseConstants.Exception.ToString(); response.message = ResponseConstants.SomeErrorOccoured; } msg = Request.CreateResponse(HttpStatusCode.OK, response); return(msg); }
static void Main(string[] args) { try { //请改写你的配置 Vars.AGENT_ID = ""; Env.CORP_ID = ""; Env.SECRET = ""; Env.CREATE_SUITE_KEY = ""; Env.SUITE_KEY = ""; Env.SUITE_SECRET = ""; Env.TOKEN = ""; Env.ENCODING_AES_KEY = ""; // 获取access token string accessToken = AuthHelper.getAccessToken(); log("成功获取access token: ", accessToken); // 获取jsapi ticket String ticket = AuthHelper.getJsapiTicket(accessToken); log("成功获取jsapi ticket: ", ticket); // 获取签名 String nonceStr = "nonceStr"; long timeStamp = Convert.ToInt64(DateTime.Now.Subtract(DateTime.Parse("1970-1-1")).TotalMilliseconds);//System.currentTimeMillis(); String url = "http://www.dingtalk.com"; String signature = AuthHelper.sign(ticket, nonceStr, timeStamp, url); log("成功签名: ", signature); //获取部门列表 List <Department> list = DepartmentHelper.listDepartments(accessToken); log("成功获取部门列表", list); //创建部门 String name = "TestDept.16"; String parentId = "1"; String order = "1"; var depttmp = list.Find(dp => dp.name == name); if (depttmp != null) { DepartmentHelper.deleteDepartment(accessToken, long.Parse(depttmp.id)); } long departmentId = DepartmentHelper.createDepartment(accessToken, name, parentId, order); log("成功创建部门", name, " 部门id=", departmentId); //更新部门 DepartmentHelper.updateDepartment(accessToken, name, parentId, order, departmentId); log("成功更新部门", " 部门id=", departmentId); var usrlist = UserHelper.getDepartmentUser(accessToken, departmentId); var userf = usrlist.Find(usr => usr.userid == "id_yuhuan"); if (userf != null) { UserHelper.deleteUser(accessToken, userf.userid); log("用户删除成功", name, " 用户ID=", userf.userid); } //创建成员 User user = new User("id_yuhuan", "name_yuhuan"); user.email = "*****@*****.**"; user.mobile = "18645512324"; user.department = new List <long>(); user.department.Add(departmentId); UserHelper.createUser(accessToken, user); log("成功创建成员", "成员信息=", user); //上传图片 FileInfo file = new FileInfo("1111.PNG"); MediaHelper.MediaUploadResult uploadResult = MediaHelper.upload(accessToken, MediaHelper.TYPE_IMAGE, file); log("成功上传图片", uploadResult); //下载图片 String fileDir = "1111.PNG"; MediaHelper.download(accessToken, uploadResult.media_id, fileDir); log("成功下载图片"); TextMessage textMessage = new TextMessage("TextMessage"); ImageMessage imageMessage = new ImageMessage(uploadResult.media_id); LinkMessage linkMessage = new LinkMessage("http://www.baidu.com", "@lALOACZwe2Rk", "Link Message", "This is a link message"); //创建oa消息 OAMessage oaMessage = new OAMessage(); oaMessage.message_url = "http://www.dingtalk.com"; OAMessage.Head head = new OAMessage.Head(); head.bgcolor = "FFCC0000"; oaMessage.head = head; OAMessage.Body body = new OAMessage.Body(); body.title = "征婚启事"; OAMessage.Body.Form form1 = new OAMessage.Body.Form(); form1.key = "姓名"; form1.value = "刘增产"; OAMessage.Body.Form form2 = new OAMessage.Body.Form(); form2.key = "年龄"; form2.value = "18"; body.form = new List <OAMessage.Body.Form>(); body.form.Add(form1); body.form.Add(form2); OAMessage.Body.Rich rich = new OAMessage.Body.Rich(); rich.num = "5"; rich.unit = "毛"; body.rich = rich; body.content = "这是一则严肃的征婚启事。不约。"; body.image = ""; body.file_found = "3"; body.author = "识器"; oaMessage.body = body; //发送微应用消息 String toUsers = Vars.TO_USER; String toParties = ""; // Vars.TO_PARTY; String agentId = Vars.AGENT_ID; foreach (var item in list) { toParties += item.id + "|"; } LightAppMessageDelivery lightAppMessageDelivery = new LightAppMessageDelivery(toUsers, toParties, agentId); lightAppMessageDelivery.withMessage(textMessage); MessageHelper.send(accessToken, lightAppMessageDelivery); log("成功发送 微应用文本消息"); lightAppMessageDelivery.withMessage(imageMessage); MessageHelper.send(accessToken, lightAppMessageDelivery); log("成功发送 微应用图片消息"); lightAppMessageDelivery.withMessage(linkMessage); MessageHelper.send(accessToken, lightAppMessageDelivery); log("成功发送 微应用link消息"); lightAppMessageDelivery.withMessage(oaMessage); MessageHelper.send(accessToken, lightAppMessageDelivery); log("成功发送 微应用oa消息"); //发送会话消息 String sender = Vars.SENDER; String cid = Vars.CID; ConversationMessageDelivery conversationMessageDelivery = new ConversationMessageDelivery(sender, cid, agentId); conversationMessageDelivery.withMessage(textMessage); MessageHelper.send(accessToken, conversationMessageDelivery); log("成功发送 会话文本消息"); conversationMessageDelivery.withMessage(imageMessage); MessageHelper.send(accessToken, conversationMessageDelivery); log("成功发送 会话图片消息"); conversationMessageDelivery.withMessage(linkMessage); MessageHelper.send(accessToken, conversationMessageDelivery); log("成功发送 会话link消息"); //更新成员 user.mobile = "18612341234"; UserHelper.updateUser(accessToken, user); log("成功更新成员", "成员信息=", user); //获取成员 UserHelper.getUser(accessToken, user.userid); log("成功获取成员", "成员userid=", user.userid); //获取部门成员 List <User> userList = UserHelper.getDepartmentUser(accessToken, departmentId); log("成功获取部门成员", "部门成员user="******"成功获取部门成员详情", "部门成员详情user="******"id_yuhuan2", "name_yuhuan2"); user2.email = "*****@*****.**"; user2.mobile = "18611111111"; user2.department = new List <long>(); user2.department.Add(departmentId); UserHelper.createUser(accessToken, user2); List <String> useridlist = new List <String>(); useridlist.Add(user.userid); useridlist.Add(user2.userid); UserHelper.batchDeleteUser(accessToken, useridlist); log("成功批量删除成员", "成员列表useridlist=", useridlist); //删除成员 User user3 = new User("id_yuhuan3", "name_yuhuan3"); user3.email = "*****@*****.**"; user3.mobile = "18611111111"; user3.department = new List <long>(); user3.department.Add(departmentId); UserHelper.createUser(accessToken, user3); UserHelper.deleteUser(accessToken, user3.userid); log("成功删除成员", "成员userid=", user3.userid); //删除部门 DepartmentHelper.deleteDepartment(accessToken, departmentId); log("成功删除部门", " 部门id=", departmentId); } catch (OApiException e) { e.printStackTrace(); } }
static void Main(string[] args) { bool testCreateOrgStru = false; bool testQueryOrgStru = false; bool testCreateSystemManager = false; bool testImportFlowDefinitionJSON = false; bool testCreateFlowTemplate = false; // Actions bool testCreateFlowActionStart = false; bool testCreateFlowActionMoveTo_1 = false; bool testCreateFlowActionMoveTo_2 = false; bool testCreateFlowActionMoveTo_3 = false; bool testCreateFlowActionMoveTo_4 = false; bool testCreateFlowActionRejectToStart = false; bool testCreateFlowActionJumpTo_1 = false; //bool testCreateFlowActionTake = false; //bool testCreateFlowActionInviteOther = false; //bool testCreateFlowActionFeedBackOfInvite = false; // Engine bool testRunEngine = false; // OPAS2Model bool testBizDocumentSerialNoGenerator = false; bool testCreatePR = false; bool testGenerateBizDataPayloadJson = false; // FlowDynamicUser bool testFlowDynamicUser = false; #region Test OrgMgmtLib #region Creation if (testCreateOrgStru) { using (var db = new EnouFlowOrgMgmtContext()) { // var DBHelper = DBHelper; var orgHelper = new OrgHelper(db); var _org = orgHelper.createObject(); _org.name = "CQAC集团"; orgHelper.saveCreatedObject(_org); var orgSchemaHelper = new OrgSchemaHelper(db); var _orgSchema = orgSchemaHelper.createObject(); _orgSchema.name = "默认组织结构方案"; _orgSchema.Org = _org; orgSchemaHelper.saveCreatedObject(_orgSchema); var bizEntityHelper = new BizEntityHelper(db); var _bizEntity = bizEntityHelper.createObject(); _bizEntity.name = "Qoros汽车有限公司"; bizEntityHelper.saveCreatedObject(_orgSchema, _bizEntity, null); //var _bizEntityChild = OrgMgmtDBHelper.createBizEntity(db); //_bizEntityChild.name = "上海总部"; //OrgMgmtDBHelper.saveCreatedBizEntity(_orgSchema, _bizEntityChild, _bizEntity, db); //var _bizEntityChild2 = OrgMgmtDBHelper.createBizEntity(db); //_bizEntityChild2.name = "常熟生产基地"; //OrgMgmtDBHelper.saveCreatedBizEntity(_orgSchema, _bizEntityChild2, _bizEntity, db); BizEntitySchemaHelper bizEntitySchemaHelper = new BizEntitySchemaHelper(db); var _bizEntitySchema = bizEntitySchemaHelper.createObject(); _bizEntitySchema.name = "Qoros默认公司架构"; _bizEntitySchema.BizEntity = _bizEntity; bizEntitySchemaHelper.saveCreatedObject(_bizEntitySchema); DepartmentHelper departmentHelper = new DepartmentHelper(db); var _department0 = departmentHelper.createObject(); _department0.name = "董事会"; departmentHelper.saveCreatedObject(_bizEntitySchema, _department0, null); //var _department = departmentHelper.createObject() ; //_department.name = "后台部门"; //OrgMgmtDBHelper.saveCreatedDepartment(_bizEntitySchema, _department, null, db); var _department1 = departmentHelper.createObject(); _department1.name = "产品部"; departmentHelper.saveCreatedObject(_bizEntitySchema, _department1, null); var _departmentChild = departmentHelper.createObject(); _departmentChild.name = "财务部"; departmentHelper.saveCreatedObject(_bizEntitySchema, _departmentChild, null); UserHelper userHelper = new UserHelper(db); var _user = userHelper.createObject(); _user.name = "张三"; userHelper.saveCreatedObject(_user); var _user2 = userHelper.createObject(); _user2.name = "李四"; userHelper.saveCreatedObject(_user2); var _user3 = userHelper.createObject(); _user3.name = "王五"; userHelper.saveCreatedObject(_user3); userHelper.createDepartmentUserRelation(_departmentChild, _user); userHelper.createDepartmentUserRelation(_departmentChild, _user2); userHelper.createDepartmentUserRelation(_department1, _user3); RoleHelper roleHelper = new RoleHelper(db); var _role = roleHelper.createObject(); _role.name = "系统管理员"; roleHelper.saveCreatedObject(_role); var _role1 = roleHelper.createObject(); _role1.name = "CXOs"; roleHelper.saveCreatedObject(_role1); userHelper.setUserRole(_user.userId, _role); userHelper.setUserRole(_user.userId, _role1); userHelper.setUserRole(_user2.userId, _role1); RoleTypeHelper roleTypeHelper = new RoleTypeHelper(db); RoleType _roleType = roleTypeHelper.createObject(); _roleType.name = "系统"; roleTypeHelper.saveCreatedObject(_roleType); roleHelper.createRole_RoleTypeRelation(_role, _roleType); } } #endregion #region Query if (testQueryOrgStru) { using (var db = new EnouFlowOrgMgmtContext()) { //找到一个OrgSchema下的顶级业务实体集 var defaultOrg = db.orgs.ToList().FirstOrDefault(); if (defaultOrg == null) { Console.WriteLine("No defaultOrg Exists."); Console.Read(); return; } var defaultOrgSchema = defaultOrg.orgSchema; if (defaultOrgSchema == null) { Console.WriteLine("No defaultOrgSchema Exists."); Console.Read(); return; } var rootBizEntities = defaultOrg.orgSchema.rootBizEntities; var rootBizEntity = rootBizEntities[0]; if (rootBizEntity == null) { Console.WriteLine("No rootBizEntity Exists."); Console.Read(); return; } //找到一个业务实体指定OrgSchema的下级业务实体集 var bizEntityChildren = rootBizEntity.getBizEntitiesChildren( db, db.orgs.ToList().FirstOrDefault().orgSchema); var bizEntityChild = bizEntityChildren[0]; //找到一个业务实体指定OrgSchema的上级业务实体 var bizEntityParent = bizEntityChild.getBizEntitiyParent( db, db.orgs.ToList().FirstOrDefault().orgSchema); //找到一个业务实体指定BizEntitySchema下的顶级部门集 var depts = bizEntityChild.bizEntitySchemas[0].getRootDepartments(db); //找到一个部门的所有下级部门 var dps = depts.LastOrDefault().getDepartmentChildren(db); //找到一个部门的上级部门 var dp1 = depts.LastOrDefault().getDepartmentChildren(db)[1]; var dpParent = dp1.getParentDepartment(db); dpParent = dpParent.getParentDepartment(db); //找到一个部门的所有用户 var usrs = dp1.getUserChildren(db); //找到一个用户的所有部门 var u = usrs[0]; var depts1 = u.getDepartmentsBelongTo(db); //找到一个用户的所有角色 var roles = u.getRolesBelongTo(db); //找到一个角色的所有用户 var cxos = db.roles.ToList()[1].getUsersBelongTo(db); Console.WriteLine("查询完成."); //return; } } #endregion #endregion #region Test OrgMgmtLib.SystemManager if (testCreateSystemManager) { using (var db = new EnouFlowOrgMgmtContext()) { //if (db.systemManagers.Count() <= 0) //{ // var _sysmgr = db.systemManagers.Create(); // _sysmgr.name = "系统管理员"; // _sysmgr.logonName = "sys"; // _sysmgr.logonSalt = "f6152039-1745-4f4c-8f8e-3ed37770fa0d"; // _sysmgr.logonPasswordHash = Convert.ToBase64String( // new System.Security.Cryptography.SHA256Managed().ComputeHash( // Encoding.UTF8.GetBytes( // "111111" + //测试密码 // "f6152039-1745-4f4c-8f8e-3ed37770fa0d"))); // db.systemManagers.Add(_sysmgr); // db.SaveChanges(); // Console.WriteLine("成功创建系统管理员"); //} } } #endregion var PRFlowTemplateFilePath = @"C:\data\MyProjs\99Flow\EnouFlow\internal\test_flow.json"; var POFlowTemplateFilePath = @"C:\data\MyProjs\99Flow\EnouFlow\EnouFlowEngine\PO.json"; var GRFlowTemplateFilePath = @"C:\data\MyProjs\99Flow\EnouFlow\EnouFlowEngine\GR.json"; var PMFlowTemplateFilePath = @"C:\data\MyProjs\99Flow\EnouFlow\EnouFlowEngine\PM.json"; #region Test import Flow Definition JSON if (testImportFlowDefinitionJSON) { StreamReader oJsonFile = new StreamReader( POFlowTemplateFilePath); //StreamReader oJsonFile = new System.IO.StreamReader( //@"C:\data\MyProjs\99Flow\EnouFlow\EnouFlowEngine\test_flow.json"); var flowTemplateDefTest = JsonHelper.DeserializeJsonToObject <FlowTemplateDef>( oJsonFile.ReadToEnd()); dynamic temp = parseJsonToDynamicObject("{'AmountTotal': 49999}"); Console.WriteLine("成功导入流程定义文件"); } #endregion #region Test Create Flow Template in DB if (testCreateFlowTemplate) { StreamReader oJsonFile = new StreamReader(PMFlowTemplateFilePath); var tplJson = oJsonFile.ReadToEnd(); var flowTemplateDefTest = JsonHelper.DeserializeJsonToObject <FlowTemplateDef>( tplJson); Tuple <bool, FlowTemplate, List <string> > result = FlowTemplateDBHelper.createFlowTemplate( flowTemplateDefTest.basicInfo.guid, flowTemplateDefTest.basicInfo.name, flowTemplateDefTest.basicInfo.displayName, flowTemplateDefTest.basicInfo.version, "PM", tplJson ); var tpl = result.Item2; //tpl.guid = flowTemplateDefTest.basicInfo.guid; //tpl.name = flowTemplateDefTest.basicInfo.name; //tpl.displayName = flowTemplateDefTest.basicInfo.displayName; //tpl.version = flowTemplateDefTest.basicInfo.version; //tpl.code = "PM"; //tpl.flowTemplateJson = tplJson; FlowTemplateDBHelper.saveCreatedFlowTemplate(tpl); Console.WriteLine("成功创建流程定义模板"); } #endregion #region Test Create FlowActions #region Test Create FlowActionStart if (testCreateFlowActionStart) { var actionStart = FlowActionHelper.PostFlowActionStart( "aaaaaaa-1745-4f4c-8f8e-3ed37770fa0d", "bizDocumentGuid", "PR", "用户输入的备注内容aaa", null, null, 1, "abc", 1, "def", null, "TestFlow-001", "f6152039-1745-4f4c-8f8e-3ed37770fa0d" ); } #endregion #region Test Create FlowActionMoveTo if (testCreateFlowActionMoveTo_1) { var action1 = FlowActionHelper.PostFlowActionMoveTo( "bbbbbbb-1745-4f4c-8f8e-3ed37770fa0d", "bizDocumentGuid", "PR", DateTime.Now.AddSeconds(1), "用户输入的备注内容bbb", "{'AmountTotal': 50001}", "{'AmountTotalUpdated': 49999}", 1, "user-guid", 0, null, "TestFlow-001", "f6152039-1745-4f4c-8f8e-3ed37770fa0d", "9d985ac5-a1da-4c63-8aea-83e9974ffccc", "9d4a6006-1099-46ad-b037-24e84476ab50", new List <Paticipant>() { new Paticipant("user", new PaticipantDigest( "李四", "27bcd361-12c7-4376-8dd8-ce68ad964431", 2, null, null) ) }, null, null ); } if (testCreateFlowActionMoveTo_2) { var action2 = FlowActionHelper.PostFlowActionMoveTo( "cccccc-1745-4f4c-8f8e-3ed37770fa0d", "bizDocumentGuid", "PR", DateTime.Now.AddSeconds(2), "用户输入的备注内容ccc", null, null, 1, "user-guid", 1, "flow-inst-guid", "TestFlow-001", "2dde0ed2-c10b-4c98-b263-1016dcfa951d", "55d72a3e-051a-46a0-9aae-0be1c62b2e24", "ab0f92f6-35cd-44b9-a7bd-5a17e544aa9c", new List <Paticipant>() { new Paticipant("user", new PaticipantDigest( "王五", "f17004ea-1246-40df-9f48-2adf0cfa8517", 3, null, null) ) }, null, null ); } if (testCreateFlowActionMoveTo_3) { var action3 = FlowActionHelper.PostFlowActionMoveTo( "dddddd-1745-4f4c-8f8e-3ed37770fa0d", "bizDocumentGuid", "PR", DateTime.Now.AddSeconds(3), "用户输入的备注内容ddd", null, null, 1, "user-guid", 1, "flow-inst-guid", "TestFlow-001", "ab0f92f6-35cd-44b9-a7bd-5a17e544aa9c", "ceeae036-7b21-438f-bc46-33bfad0cc546", "5ee19a5b-df8b-4c11-a0d4-082848b5f216", new List <Paticipant>() { new Paticipant("user", new PaticipantDigest( "张三", "85a14f4d-e68e-4684-88b2-3bf9dea386e6", 1, null, null) ) }, null, null ); } if (testCreateFlowActionMoveTo_4) { var action4 = FlowActionHelper.PostFlowActionMoveTo( "eeeeee-1745-4f4c-8f8e-3ed37770fa0d", "bizDocumentGuid", "PR", DateTime.Now.AddSeconds(4), "用户输入的备注内容eee", null, null, 1, "user-guid", 1, "flow-inst-guid", "TestFlow-001", "5ee19a5b-df8b-4c11-a0d4-082848b5f216", "0dade9b8-acc9-4223-8dab-9d55480722a8", "c09fcfbe-92a9-48cd-bd14-975996e063a7", new List <Paticipant>(), null, null //{ // new Paticipant("user", // new PaticipantDigest( // "川普", // "c4961686-41a6-469a-afa9-df05e42ba9f8", // 16,null) // ) //} ); } #endregion #region TODO: Test Create FlowActionTake #endregion #region TODO: Test Create FlowActionInviteOther #endregion #region TODO: Test Create FlowActionFeedBackOfInvite #endregion #endregion #region Test Engine if (testRunEngine) { var dispatcher = new FlowActionRequestDispatcher(); //EnumFlowActionRequestType[] types = new EnumFlowActionRequestType[] { EnumFlowActionRequestType.moveToAutoGenerated }; //dispatcher.processNextActionOfSpecifiedInstance(1, types); var result = dispatcher.processNextAction(); } #endregion #region Test BizDocumentSerialNoGenerator if (testBizDocumentSerialNoGenerator) { var prNumberNew = new OPAS2ModelDBHelper(). generateDocumentSerialNo(EnumBizDocumentType.PR, "QOROS", "SH", "2017", "IT"); Console.WriteLine(prNumberNew); } #endregion #region Test CreatePR if (testCreatePR) { var prNumberNew = new OPAS2ModelDBHelper(). generateDocumentSerialNo(EnumBizDocumentType.PR, "QOROS", "SH", "2017", "IT"); Console.WriteLine(prNumberNew); using (var db = new OPAS2DbContext()) { var pr = db.purchaseReqs.Create(); pr.guid = "test-pr-guid:" + Guid.NewGuid().ToString(); pr.documentNo = new OPAS2ModelDBHelper().generateDocumentSerialNo( EnumBizDocumentType.PR, "QOROS", "SH", "2017", "IT"); pr.WBSNo = "test-WBS"; pr.contactOfficePhone = "contactOfficePhone"; pr.contactMobile = "contactMobile"; pr.contactOtherMedia = "contactOtherMedia"; pr.departmentId = 1; pr.departmentIdBelongTo = 1; pr.costCenterId = 1; pr.expectReceiveBeginTime = DateTime.Now; pr.expectReceiveEndTime = DateTime.Now; pr.isBidingRequired = true; pr.noBiddingReason = "noBiddingReason"; pr.reason = "reason"; pr.description = "description"; pr.estimatedCost = (decimal)123456.789; pr.currencyTypeId = 1; pr.mainCurrencyRate = (decimal)1.0; pr.estimatedCostInRMB = (decimal)123456.789; pr.averageBenchmark = (decimal)787654.78; pr.benchmarkDescription = "benchmarkDescription"; pr.isFirstBuy = false; pr.firstBuyDate = DateTime.Now; pr.firstCostAmount = (decimal)73663387.87; pr.firstBuyDescription = "firstBuyDescription"; pr.remarkOfAprrovers = "remarkOfAprrovers"; pr.otherVendorsNotInList = "otherVendorsNotInList"; pr.submitTime = DateTime.Now; pr.submitor = "ChaoQin"; pr.submitorUserId = 1; pr.creator = "ChaoQin"; pr.creatorUserId = 1; var prDtl1 = db.purchaseReqDetails.Create(); prDtl1.PurchaseReq = pr; prDtl1.estimatedCost = (decimal)123.45; prDtl1.lineNo = 5; prDtl1.itemName = "name1"; prDtl1.itemType = (EnumPRItemType)1; prDtl1.description = "description1"; prDtl1.creator = "ChaoQin"; prDtl1.creatorUserId = 1; //pr.details.Add(prDtl1); db.purchaseReqs.Add(pr); db.purchaseReqDetails.Add(prDtl1); db.SaveChanges(); Console.WriteLine("PR: " + pr.purchaseReqId.ToString()); } } #endregion #region Test GenerateBizDataPayloadJson if (testGenerateBizDataPayloadJson) { using (var db = new OPAS2DbContext()) { var pr = db.purchaseReqs.Find(8); dynamic bizDataPayload = new ExpandoObject(); bizDataPayload.document = pr; //bizDataPayload.subDocuments = pr.details; bizDataPayload.AmountTotal = pr.details.Aggregate <PurchaseReqDetail, decimal>( 0, (total, detail) => { return(total + detail.estimatedCost.Value); }); var s = JsonConvert.SerializeObject(bizDataPayload, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, } ); Console.WriteLine(s); } } #endregion #region testFlowDynamicUser Console.Out.WriteLine("Enter into script:"); var _session = new DictionaryContext(); var flowInstDb = new EnouFlowInstanceContext(); var flowInstance = FlowInstanceHelper.GetFlowInstance(42, flowInstDb); _session.globals.Add("flowInstance", flowInstance); var _references = new Assembly[] { typeof(DictionaryContext).Assembly, typeof(System.Runtime.CompilerServices.DynamicAttribute).Assembly, typeof(Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo).Assembly, typeof(ExpandoObject).Assembly, typeof(JsonConvert).Assembly, typeof(ExpandoObjectConverter).Assembly, typeof(Paticipant).Assembly, typeof(UserDTO).Assembly, typeof(FlowInstance).Assembly, typeof(List <>).Assembly }; var _imports = new string[] { typeof(DictionaryContext).Namespace, typeof(System.Runtime.CompilerServices.DynamicAttribute).Namespace, typeof(Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo).Namespace, typeof(ExpandoObject).Namespace, typeof(JsonConvert).Namespace, typeof(ExpandoObjectConverter).Namespace, typeof(Paticipant).Namespace, typeof(UserDTO).Namespace, typeof(FlowInstance).Namespace, typeof(List <>).Namespace }; var _options = ScriptOptions.Default .AddReferences(_references) .AddImports(_imports); //var code = @"var result = new List<UserDTO>(); // result.Add(OrgMgmtDBHelper.getUserDTO(((FlowInstance)globals[""flowInstance""]).creatorId)); // return result;"; using (var db = new EnouFlowOrgMgmtContext()) { var retShouldBe = new DepartmentHelper(db).getUserDTOsOfPositionInDepartment( new UserHelper(db).getUserDefaultDepartment(flowInstance.creatorId).departmentId, UserPositionToDepartment.manager); } var code = @" FlowInstance flowInstance = (FlowInstance)globals[""flowInstance""]; Department department = OrgMgmtDBHelper.getUserDefaultDepartment(flowInstance.creatorId); if(department!=null){ return OrgMgmtDBHelper.getUserDTOsOfPositionInDepartment( department.departmentId, UserPositionToDepartment.manager); }else{ return null; }"; var result1 = CSharpScript.RunAsync(code, globals: _session, options: _options).Result.ReturnValue; var retList = (List <UserDTO>)result1; #endregion Console.WriteLine("All done!"); Console.Read(); }