public int Create(ErrorChargesRequest o)
 {
     using (var db = new BillingDbContext())
     {
         db.ServiceRequests.Add(o);
         return(db.SaveChanges());
     }
 }
Beispiel #2
0
        /******************************************************************************************
        * From domain model to value object
        ******************************************************************************************/
        public ErrorChargesRequestDTO ToRequestDTO(ErrorChargesRequest o)
        {
            var vo = new ErrorChargesRequestDTO();

            ClassCopier.Instance.Copy(o, vo);
            if (o.RequestInfo != null)
            {
                vo.RequestInfo = ToRequestInfoDTO(o.RequestInfo);
            }
            if (o.Routing != null)
            {
                vo.Routing = ToRoutingInfoDTO(o.Routing);
            }
            return(vo);
        }
Beispiel #3
0
        /******************************************************************************************
        * From value object to domain model
        ******************************************************************************************/
        public ErrorChargesRequest ToRequest(ErrorChargesRequestDTO vo)
        {
            var o = new ErrorChargesRequest();

            ClassCopier.Instance.Copy(vo, o);

            if (vo.RequestInfo != null)
            {
                o.RequestInfo = ToRequestInfo(vo.RequestInfo);
            }
            if (vo.Routing != null)
            {
                o.Routing = ToRoutingInfo(vo.Routing);
            }

            return(o);
        }
 public int Update(ErrorChargesRequest o)
 {
     using (var db = new BillingDbContext())
     {
         var ori = Select(o.No, true);
         if (o.RequestInfo != null)
         {
             var ri = o.RequestInfo;
             if (ri.No == 0)
             {
                 ori.RequestInfo    = ri;
                 db.Entry(ri).State = EntityState.Added;
             }
             else
             {
                 db.RequestInfos.Attach(ori.RequestInfo);
                 db.Entry(ori.RequestInfo).CurrentValues.SetValues(ri);
                 db.Entry(ori.RequestInfo).State = EntityState.Modified;
             }
         }
         if (o.Routing != null)
         {
             var ri1 = o.Routing;
             if (ri1.No == 0)
             {
                 ori.Routing         = ri1;
                 db.Entry(ri1).State = EntityState.Added;
             }
             else
             {
                 ClassCopier.Instance.Copy(ri1, ori.Routing);
                 db.Entry(ori.Routing).State = EntityState.Modified;
                 if (ri1.Routings.Count > 0)
                 {
                     var list2 = ri1.Routings;
                     foreach (var ri2 in list2)
                     {
                         if (ri2.No == 0)
                         {
                             ori.Routing.Routings.Add(ri2);
                             db.Entry(ri1).State = EntityState.Added;
                         }
                         else
                         {
                             var oriri = ori.Routing.Routings.Find(x => x.No == ri2.No);
                             db.RoutingItems.Attach(oriri);
                             db.Entry(oriri).CurrentValues.SetValues(ri2);
                             db.Entry(oriri).State = EntityState.Modified;
                         }
                     }
                 }
                 if (ri1.Contracts.Count > 0)
                 {
                     var list1 = ri1.Contracts;
                     foreach (var cwb in list1)
                     {
                         if (cwb.No == 0)
                         {
                             ori.Routing.Contracts.Add(cwb);
                             db.Entry(cwb).State = EntityState.Added;
                         }
                         else
                         {
                             var oricwb = ori.Routing.Contracts.Find(x => x.No == cwb.No);
                             if (oricwb != null)
                             {
                                 ClassCopier.Instance.Copy(cwb, oricwb);
                                 db.Entry(oricwb).State = EntityState.Modified;
                                 if (cwb.Billings.Count > 0)
                                 {
                                     var list2 = cwb.Billings;
                                     foreach (var cb in list2)
                                     {
                                         if (cb.No == 0)
                                         {
                                             oricwb.Billings.Add(cb);
                                             db.Entry(cb).State = EntityState.Added;
                                         }
                                         else
                                         {
                                             var orib = oricwb.Billings.Find(y => y.No == cb.No);
                                             db.Contracts.Attach(orib);
                                             db.Entry(orib).CurrentValues.SetValues(cb);
                                             db.Entry(orib).State = EntityState.Modified;
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         db.Entry(o).State = EntityState.Modified;
         return(db.SaveChanges());
     }
 }