public bool UpdateWeixinPrint(WeixinPrintDTO req) { using (var db = new SqlSugarClient(Connection)) { bool result = true; try { db.BeginTran(); R_WeixinPrint model = Mapper.Map <WeixinPrintDTO, R_WeixinPrint>(req); if (model.Id <= 0) { var insertId = Convert.ToInt32(db.Insert <R_WeixinPrint>(model)); if (req.PrintAreas != null && req.PrintAreas.Any()) { List <R_WeixinPrintArea> list = new List <R_WeixinPrintArea>(); foreach (var item in req.PrintAreas) { list.Add(new R_WeixinPrintArea() { R_Area_Id = item.R_Area_Id, R_WeixinPrint_Id = insertId }); } db.InsertRange <R_WeixinPrintArea>(list); } } else { db.Update <R_WeixinPrint>(model); db.Delete <R_WeixinPrintArea>(p => p.R_WeixinPrint_Id == model.Id); if (req.PrintAreas != null && req.PrintAreas.Any()) { List <R_WeixinPrintArea> list = new List <R_WeixinPrintArea>(); foreach (var item in req.PrintAreas) { list.Add(new R_WeixinPrintArea() { R_Area_Id = item.R_Area_Id, R_WeixinPrint_Id = model.Id }); } db.InsertRange <R_WeixinPrintArea>(list); } } db.CommitTran(); } catch (Exception ex) { result = false; db.RollbackTran(); throw ex; } return(result); } }
public WeixinPrintDTO GetWeixinPrint(int id) { using (var db = new SqlSugarClient(Connection)) { WeixinPrintDTO result = new WeixinPrintDTO(); R_WeixinPrint model = db.Queryable <R_WeixinPrint>().InSingle(id); if (model != null) { result = Mapper.Map <R_WeixinPrint, WeixinPrintDTO>(model); var areas = db.Queryable <R_WeixinPrintArea>().Where(p => p.R_WeixinPrint_Id == id).ToList(); result.PrintAreas = areas; } return(result); } }