public ReturnDeviceRequest Select(string id, bool all = false) { using (var db = new BillingDbContext()) { if (all) { var sql1 = from o in db.ServiceRequests.OfType <ReturnDeviceRequest>() .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) { ReturnDeviceRoutingInfo ri1 = ri; var sql2 = from r in db.RoutingInfos.OfType <ReturnDeviceRoutingInfo>() .Include(r => r.OldContract).Include(r => r.UpdContract) .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 <ReturnDeviceRequest>() .Include(o => o.RequestInfo) .Where(o => o.Id == id && o.State != EServiceRequestState.DELETED) select o; return(sql.SingleOrDefault()); } }
public List <ReturnDeviceRoutingInfo> ToRoutingInfos(IEnumerable <ReturnDeviceRoutingInfoDTO> list) { var vos = new List <ReturnDeviceRoutingInfo>(); foreach (var vo in list) { var o = new ReturnDeviceRoutingInfo(); ClassCopier.Instance.Copy(vo, o); if (vo.Routings.Count > 0) { o.Routings = ToRoutings(vo.Routings); } if (vo.OldContract != null) { o.OldContract = ToOldContract(vo.OldContract); } if (vo.UpdContract != null) { o.UpdContract = ToUpdatedContract(vo.UpdContract); } vos.Add(o); } return(vos); }