/// <summary> /// 获取手术代码 /// </summary> /// <param name="criteria"></param> /// <returns></returns> public IList <Orgnization> GetOrgnizations(Orgnization orgnization) { var reValue = SqlMapper.QueryForList <Orgnization>("GetOrgnizations", orgnization); logger.Debug("GetOrgnizations:" + (reValue == null ? 0 : reValue.Count)); return(reValue); }
/// <summary> /// 取得数据 /// </summary> /// <param name="id"></param> /// <returns></returns> private Orgnization GetData(int id) { Orgnization model = new Orgnization(); if (id > 0) { model = EnterRepository.GetRepositoryEnter().OrgnizationRepository.LoadEntities(m => m.ID == id).FirstOrDefault(); } model.ParentID = Request.Form["ParentID"] != "" ? int.Parse(Request.Form["ParentID"]) : 0; model.ParentName = Request.Form["ParentName"] != "" ? Request.Form["ParentName"] : ""; model.OrgName = Request.Form["OrgName"] != "" ? Request.Form["OrgName"] : ""; model.Description = Request.Form["Description"] != "" ? Request.Form["Description"] : ""; return(model); }
/// <summary> /// 取得数据 /// </summary> /// <param name="id"></param> /// <returns></returns> private Orgnization GetData(int id) { Orgnization model = new Orgnization(); if (id > 0) { SystemContext.Instance.OrgnizationServices.GetOrgnizationByID(id.ToString(), ref model); } model.ParentID = Request.Form["ParentID"] != "" ? Request.Form["ParentID"] : ""; model.ParentName = Request.Form["ParentName"] != "" ? Request.Form["ParentName"] : ""; model.OrgName = Request.Form["OrgName"] != "" ? Request.Form["OrgName"] : ""; model.Describe = Request.Form["Description"] != "" ? Request.Form["Description"] : ""; return(model); }
/// <summary> /// 添加或修改数据 /// </summary> public ActionResult UpdateData() { try { int id = Request.Form["id"] != "" ? Convert.ToInt32(Request.Form["id"]) : 0; Orgnization model = GetData(id); string writeMsg = "操作失败!"; if (model != null) { if (id < 1) { EnterRepository.GetRepositoryEnter().OrgnizationRepository.AddEntity(model); if (EnterRepository.GetRepositoryEnter().SaveChange() > 0) { writeMsg = "增加成功!"; } else { writeMsg = "增加失败!"; } } else { EnterRepository.GetRepositoryEnter().OrgnizationRepository.Get(m => m.ID == id); EnterRepository.GetRepositoryEnter().OrgnizationRepository.EditEntity(model, new string[] { "OrgName", "ParentID", "Description" }); if (EnterRepository.GetRepositoryEnter().SaveChange() > 0) { writeMsg = "更新成功!"; } else { writeMsg = "更新失败!"; } } } return(Content(writeMsg)); } catch (Exception ex) { throw; } }
/// <summary> /// 获取指定ID的数据 /// </summary> public ActionResult QueryOneData() { string id = Request.Form["id"] != "" ? Request.Form["id"] : "0"; Orgnization item = new Orgnization(); short shRet = SystemContext.Instance.OrgnizationServices.GetOrgnizationByID(id, ref item); JsonHelper json = new JsonHelper(); string strJson = string.Empty; if (shRet == ExecuteResult.OK) { json.AddItem("ID", item.ID.ToString()); json.AddItem("OrgName", item.OrgName); json.AddItem("ParentID", item.ParentID); json.AddItem("ParentName", item.ParentName); json.AddItem("Description", item.Describe); json.AddItem("RoleType", item.RoleType); json.ItemOk(); } strJson = json.ToEasyuiListJsonString(); return(Content(strJson)); }
/// <summary> /// 添加或修改数据 /// </summary> public ActionResult UpdateData() { int id = Request.Form["id"] != "" ? Convert.ToInt32(Request.Form["id"]) : 0; Orgnization model = GetData(id); string writeMsg = "操作失败!"; if (model != null) { if (id < 1) { short shRet = SystemContext.Instance.OrgnizationServices.Add(model); if (shRet == ExecuteResult.OK) { writeMsg = "增加成功!"; } else { writeMsg = "增加失败!"; } } else { short shRet = SystemContext.Instance.OrgnizationServices.Update(model); if (shRet == ExecuteResult.OK) { writeMsg = "更新成功!"; } else { writeMsg = "更新失败!"; } } } return(Content(writeMsg)); }
public void TestMethod1() { Orgnization orgnization = new Orgnization(); var lstOrgnization = OrgnizationDao.Instance.GetOrgnizations(orgnization); }
public void IncludeLevelTest() { using (var freeSql = new FreeSqlBuilder() .UseConnectionString(DataType.Sqlite, "Data Source=:memory:;") .UseAutoSyncStructure(true) .Build()) { freeSql.Aop.CurdBefore += (s, e) => { Trace.WriteLine(e.Sql); }; var company = new Company { Id = Guid.NewGuid(), Code = "CO001" }; var department = new Department { Id = Guid.NewGuid(), Code = "D001", CompanyId = company.Id }; var orgnization = new Orgnization { Code = "C001", CompanyId = company.Id }; freeSql.Insert(company).ExecuteAffrows(); freeSql.Insert(orgnization).ExecuteAffrows(); freeSql.Insert(department).ExecuteAffrows(); var materials = new[] { new Material { Code = "TEST1", Units = new List <Unit> { new Unit { Code = "KG" } } }, new Material { Code = "TEST2", Units = new List <Unit> { new Unit { Code = "KG" } } } }; var repo1 = freeSql.GetGuidRepository <Material>(); repo1.DbContextOptions.EnableCascadeSave = true; repo1.Insert(materials); var order = new Order { Code = "X001", OrgnizationId = orgnization.Id, OrderItems = new List <OrderItem> { new OrderItem { ItemCode = "01", MaterialId = materials[0].Id }, new OrderItem { ItemCode = "02", MaterialId = materials[1].Id }, } }; var repo2 = freeSql.GetGuidRepository <Order>(); repo2.DbContextOptions.EnableCascadeSave = true; repo2.Insert(order); // 可以完整加载数据 var list1 = freeSql.Select <Orgnization>().IncludeMany(t => t.Company.Departments).ToList(); // 只能查询到Orgnization var list2 = freeSql.Select <Order>().IncludeMany(t => t.Orgnization.Company.Departments).ToList(); //freeSql.Select<Order>().IncludeMany(t => t.OrderItems, then => then.IncludeMany(t => t.Material.Units)).ToList().Dump(); // 使用扩展方法加载到指定层级 var list3 = freeSql.Select <Order>().IncludeLevel(3).ToList(); } }
public void WhereByPropertyTest() { using (var freeSql = new FreeSqlBuilder() .UseConnectionString(DataType.Sqlite, "Data Source=:memory:;") .UseAutoSyncStructure(true) .Build()) { freeSql.Aop.CurdBefore += (s, e) => { Trace.WriteLine(e.Sql); }; var company = new Company { Id = Guid.NewGuid(), Code = "CO001" }; var department = new Department { Id = Guid.NewGuid(), Code = "D001", CompanyId = company.Id }; var orgnization = new Orgnization { Code = "C001", CompanyId = company.Id }; freeSql.Insert(company).ExecuteAffrows(); freeSql.Insert(orgnization).ExecuteAffrows(); freeSql.Insert(department).ExecuteAffrows(); var materials = new[] { new Material { Code = "TEST1", Units = new List <Unit> { new Unit { Code = "KG" } } }, new Material { Code = "TEST2", Units = new List <Unit> { new Unit { Code = "KG" } } } }; var repo1 = freeSql.GetGuidRepository <Material>(); repo1.DbContextOptions.EnableCascadeSave = true; repo1.Insert(materials); var order = new Order { Code = "X001", OrgnizationId = orgnization.Id, OrderItems = new List <OrderItem> { new OrderItem { ItemCode = "01", MaterialId = materials[0].Id }, new OrderItem { ItemCode = "02", MaterialId = materials[1].Id }, } }; var repo2 = freeSql.GetGuidRepository <Order>(); repo2.DbContextOptions.EnableCascadeSave = true; repo2.Insert(order); // 根据导航属性过滤数据 //var list1 = freeSql.Select<Order>().Where(t => t.OrderItems.Any(t1 => t1.Material.Units.Any(t2 => t2.Code == "KG"))).ToList(); var filterInfo1 = new DynamicFilterInfo { Field = "Code", Operator = DynamicFilterOperator.Eq, Value = "KG", }; var list1 = freeSql.Select <Order>().Where(t => t.OrderItems.Any(t1 => t1.Material.Units.AsSelect().WhereDynamicFilter(filterInfo1).Any())).ToList(); // 导航属性如果是 OneToOne 或者 ManyToOne 默认支持 var filterInfo2 = new DynamicFilterInfo { Field = "Orgnization.Company.Code", Operator = DynamicFilterOperator.Eq, Value = "CO001", }; //var list2 = freeSql.Select<Order>().Where(t => t.Orgnization.Company.Code == "CO001").ToList(); var list2 = freeSql.Select <Order>().WhereDynamicFilter(filterInfo2).ToList(); // 实现效果 OrderItems.Material.Units.Code == "KG" var list3 = freeSql.Select <Order>().Where("OrderItems.Material.Units.Code", DynamicFilterOperator.Eq, "KG").ToList(); // 实现效果 OrderItems.Material.Code == "TEST1" // Error SQL: // SELECT a."Id", a."Code", a."OrgnizationId" // FROM "Order" a // WHERE (exists(SELECT 1 // FROM "OrderItem" a // LEFT JOIN "Material" a__Material ON a__Material."Id" = a."MaterialId" // WHERE (a__Material."Code" = 'TEST1') AND (a."OrderId" = a."Id") // limit 0,1)) var list4 = freeSql.Select <Order>().Where("OrderItems.Material.Code", DynamicFilterOperator.Eq, "TEST1").ToList(); // 拓展 DynamicFilter var dynmaicFilterInfo = new DynamicFilterInfo { Field = $"{nameof(DynamicLinqCustom.WhereNavigation)} {typeof(DynamicLinqCustom).FullName},{typeof(DynamicLinqCustom).Assembly.FullName}", Operator = DynamicFilterOperator.Custom, Value = JsonConvert.SerializeObject(new DynamicFilterInfo { Field = "OrderItems.Material.Units.Code", Operator = DynamicFilterOperator.Eq, Value = "KG" }), }; var list5 = freeSql.Select <Order>() .WhereDynamicFilter(dynmaicFilterInfo) .ToList(); } }