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);
        }