public NewScenarioRequest Select(string id, bool all = false) { using (var db = new BillingDbContext()) { if (all) { var sql1 = from o in db.ServiceRequests.OfType <NewScenarioRequest>() .Include(o => o.RequestInfo) .Include(o => o.Routings) .Where(o => o.Id == id && o.State != EServiceRequestState.DELETED) select o; var req = sql1.SingleOrDefault(); if (req != null && req.Routings.Count > 0) { foreach (var ri in req.Routings) { NewScenarioRoutingInfo ri1 = ri; var sql2 = from r in db.RoutingInfos.OfType <NewScenarioRoutingInfo>() .Include(r => r.Contract) .Include(r => r.Routings).Where(r => r.No == ri1.No) select r; ri1 = sql2.SingleOrDefault(); } } return(req); } var sql = from o in db.ServiceRequests.OfType <NewScenarioRequest>() .Include(o => o.RequestInfo) .Where(o => o.Id == id && o.State != EServiceRequestState.DELETED) select o; return(sql.SingleOrDefault()); } }
public List <NewScenarioRoutingInfo> ToRoutingInfos(List <NewScenarioRoutingInfoDTO> list) { var os = new List <NewScenarioRoutingInfo>(); foreach (var vo in list) { var o = new NewScenarioRoutingInfo(); ClassCopier.Instance.Copy(vo, o); if (vo.Routings.Count > 0) { o.Routings = ToRoutings(vo.Routings); } if (vo.Contract != null) { o.Contract = ToContract(vo.Contract); } os.Add(o); } return(os); }