Example #1
0
 /// <summary>
 /// 保存运费及其明细
 /// </summary>
 /// <param name="freight">运费模板</param>
 /// <param name="freightDetailList">运费明细集合</param>
 /// <returns></returns>
 public ResultDTO AddFreightAndFreightDetailExt(FreightTemplateDTO freight, List <FreightTemplateDetailDTO> freightDetailList)
 {
     try
     {
         if (freight == null)
         {
             return(new ResultDTO {
                 ResultCode = 2, Message = "运费模板为null"
             });
         }
         ContextSession  contextSession = ContextFactory.CurrentThreadContext;
         FreightTemplate tem            = new FreightTemplate();
         Guid            ID             = Guid.NewGuid();
         tem.Id              = ID;
         tem.Name            = freight.Name;
         tem.FreightMethod   = freight.FreightMethod;
         tem.FreightTo       = freight.FreightTo;
         tem.FirstCount      = freight.FirstCount;
         tem.FirstCountPrice = freight.FirstCountPrice;
         tem.NextCount       = freight.NextCount;
         tem.NextCountPrice  = freight.NextCountPrice;
         tem.IsFreeExp       = freight.IsFreeExp;
         tem.AppId           = freight.AppId;
         tem.SubTime         = DateTime.Now;
         tem.ModifiedOn      = DateTime.Now;
         tem.EntityState     = System.Data.EntityState.Added;
         contextSession.SaveObject(tem);
         if (freightDetailList != null && freightDetailList.Count > 0)
         {
             FreightTemplateDetail ftDetail;
             foreach (FreightTemplateDetailDTO detail in freightDetailList)
             {
                 ftDetail    = new FreightTemplateDetail();
                 ftDetail.Id = Guid.NewGuid();
                 ftDetail.FreightTemplateId = ID;
                 ftDetail.FreightTo         = detail.FreightTo;
                 ftDetail.FirstCount        = detail.FirstCount;
                 ftDetail.FirstCountPrice   = detail.FirstCountPrice;
                 ftDetail.NextCount         = detail.NextCount;
                 ftDetail.NextCountPrice    = detail.NextCountPrice;
                 ftDetail.EntityState       = System.Data.EntityState.Added;
                 contextSession.SaveObject(ftDetail);
             }
         }
         contextSession.SaveChanges();
         return(new ResultDTO {
             ResultCode = 0, Message = ID.ToString()
         });
     }
     catch (Exception ex)
     {
         LogHelper.Error(string.Format("保存运费及其明细服务异常。freight:{0},freightDetailList:{1}", JsonHelper.JsonSerializer(freight), JsonHelper.JsonSerializer(freightDetailList)), ex);
         return(new ResultDTO {
             ResultCode = 1, Message = ex.Message
         });
     }
 }
Example #2
0
 /// <summary>
 /// 更新运费模板和运费详细信息列表
 /// </summary>
 /// <param name="freight"></param>
 /// <param name="freightDetailList"></param>
 /// <returns></returns>
 public ResultDTO UpdateFreightAndFreightDetailExt(FreightTemplateDTO freight, List <FreightTemplateDetailDTO> freightDetailList)
 {
     try
     {
         if (freight == null)
         {
             return(new ResultDTO {
                 ResultCode = 2, Message = "运费模板为null"
             });
         }
         ContextSession  contextSession = ContextFactory.CurrentThreadContext;
         FreightTemplate fTemplate      = FreightTemplate.ObjectSet().Where(s => s.Id == freight.Id).FirstOrDefault();
         fTemplate.Name            = freight.Name;
         fTemplate.IsFreeExp       = freight.IsFreeExp;
         fTemplate.FreightMethod   = freight.FreightMethod;
         fTemplate.FirstCount      = freight.FirstCount;
         fTemplate.FirstCountPrice = freight.FirstCountPrice;
         fTemplate.NextCount       = freight.NextCount;
         fTemplate.NextCountPrice  = freight.NextCountPrice;
         fTemplate.ModifiedOn      = DateTime.Now;
         fTemplate.EntityState     = System.Data.EntityState.Modified;
         contextSession.SaveObject(fTemplate);
         if (freightDetailList != null && freightDetailList.Count > 0)
         {
             FreightTemplateDetail detail;
             foreach (FreightTemplateDetailDTO ftDetail in freightDetailList)
             {
                 if (ftDetail.Id == Guid.Empty)
                 {
                     detail                   = new FreightTemplateDetail();
                     detail.FreightTo         = ftDetail.FreightTo;
                     detail.FirstCount        = ftDetail.FirstCount;
                     detail.FirstCountPrice   = ftDetail.FirstCountPrice;
                     detail.NextCount         = ftDetail.NextCount;
                     detail.NextCountPrice    = ftDetail.NextCountPrice;
                     detail.Id                = Guid.NewGuid();
                     detail.FreightTemplateId = fTemplate.Id;
                     detail.EntityState       = System.Data.EntityState.Added;
                     contextSession.SaveObject(detail);
                 }
                 else
                 {
                     detail = FreightTemplateDetail.ObjectSet().Where(s => s.Id == ftDetail.Id).FirstOrDefault();
                     if (detail != null)
                     {
                         detail.FreightTo       = ftDetail.FreightTo;
                         detail.FirstCount      = ftDetail.FirstCount;
                         detail.FirstCountPrice = ftDetail.FirstCountPrice;
                         detail.NextCount       = ftDetail.NextCount;
                         detail.NextCountPrice  = ftDetail.NextCountPrice;
                         detail.EntityState     = System.Data.EntityState.Modified;
                         contextSession.SaveObject(detail);
                     }
                 }
             }
         }
         contextSession.SaveChanges();
         return(new ResultDTO {
             ResultCode = 0, Message = "Success"
         });
     }
     catch (Exception ex)
     {
         LogHelper.Error(string.Format("更新运费及其明细服务异常。freight:{0},freightDetailList:{1}", JsonHelper.JsonSerializer(freight), JsonHelper.JsonSerializer(freightDetailList)), ex);
         return(new ResultDTO {
             ResultCode = 1, Message = ex.Message
         });
     }
 }