public PackageCreateDTO GetModel(int id) { using (var db = new SqlSugarClient(Connection)) { PackageCreateDTO model = null; R_Package data = db.Queryable <R_Package>().InSingle(id); if (data != null) { model = Mapper.Map <R_Package, PackageCreateDTO>(data); model.IsDiscount = data.Property & (int)CytcProperty.是否可打折; model.IsChangePrice = data.Property & (int)CytcProperty.是否可改价; model.IsGive = data.Property & (int)CytcProperty.是否可赠送; //var cytcMxList = db.Queryable<R_PackageDetail>() // .JoinTable<R_ProjectDetail>((s1,s2)=>s1.R_ProjectDetail_Id==s2.Id,JoinType.Left) // .JoinTable<R_ProjectDetail,R_Project>((s1,s2,s3)=>s2.R_Project_Id==s3.Id,JoinType.Left) // .Where<R_Project>(p => p.R_Package_Id == model.Id && p.IsDelete == false).ToList(); var cytcMxList = db.Queryable <R_PackageDetail>() .JoinTable <R_ProjectDetail>((s1, s2) => s1.R_ProjectDetail_Id == s2.Id, JoinType.Left) .JoinTable <R_ProjectDetail, R_Project>((s1, s2, s3) => s2.R_Project_Id == s3.Id, JoinType.Left) .Where <R_Project>((s1, s3) => s1.R_Package_Id == model.Id && s1.IsDelete == false && s3.IsEnable == true) .Select("s1.*").ToList(); model.PackageDetails = cytcMxList; } return(model); } }
public int Create(PackageCreateDTO req) { using (var db = new SqlSugarClient(Connection)) { int result = 0; R_Package model = Mapper.Map <PackageCreateDTO, R_Package>(req); model.Property = req.IsDiscount + req.IsChangePrice + req.IsGive; var insertResult = db.Insert(model); if (insertResult != null) { result = Convert.ToInt32(insertResult); } return(result); } }
public int Update(PackageCreateDTO req) { using (var db = new SqlSugarClient(Connection)) { int result = 0; var baseModel = db.Queryable <R_Package>() .First(p => p.Id == req.Id); R_Package model = new R_Package() { Id = req.Id, Name = req.Name, IsOnSale = req.IsOnSale, Property = req.IsDiscount + req.IsChangePrice + req.IsGive, Describe = req.Describe, CostPrice = baseModel.CostPrice, Price = baseModel.Price, R_Category_Id = req.R_Category_Id }; result = db.Update(model) ? req.Id : 0; return(result); } }