/*
         * internal string AddOrUpdateSaleContractBargainCore(ExtendedIdentityDbContext dbContext,
         *  SaleBargain bargain)
         * {
         *  if (bargain == null || bargain.BargainItems == null || bargain.SaleContractId < 1)
         *      return "还价信息不正确,请核对还价的销售合同及其对应的货品项数目是否与还价的货品项一致。";
         *
         *  try
         *  {
         *      SaleContract contract = dbContext.SaleContracts.Find(bargain.SaleContractId);
         *      if (contract == null || contract.SaleProducts.Count != bargain.BargainItems.Count)
         *          return "还价信息不正确,请核对还价的销售合同及其对应的货品项数目是否与还价的货品项一致。";
         *
         *      SaleBargain saleItem = dbContext.SaleBargains.FirstOrDefault(
         *          m => m.SaleContractId == bargain.SaleContractId &&
         *          m.BargainSysUserKey == bargain.BargainSysUserKey);
         *
         *      if (saleItem == null)
         *      {//Add
         *          saleItem = AddSaleContractBargainCore(dbContext, bargain, saleItem);
         *      }
         *      else
         *      {//Update
         *          UpdateSaleContractBargainCore(dbContext, bargain, saleItem);
         *      }
         *
         *      dbContext.SaveChanges();
         *  }
         *  catch (Exception e)
         *  {
         *      LogHelper.Error("添加销售还价失败。", e);
         *      return "添加销售还价失败。\t\t" + e.Message + "\t\t" + e.StackTrace;
         *  }
         *
         *  //TODO:
         *  return string.Empty;
         * }
         *
         * private SaleBargain AddSaleContractBargainCore(ExtendedIdentityDbContext dbContext,
         *  SaleBargain bargain, SaleBargain saleItem)
         * {
         *  saleItem = dbContext.SaleBargains.Create();
         *  saleItem.BargainSysUserKey = bargain.BargainSysUserKey;
         *  saleItem.OperationState = bargain.OperationState;
         *  saleItem.SaleContractId = bargain.SaleContractId;
         *  var items = from one in bargain.BargainItems
         *              select this.CreateNewOne(dbContext, one);
         *  //foreach (var i in bargain.BargainItems) {
         *  saleItem.BargainItems = items.ToList();
         *  SaleBargainChangeRecord record = dbContext.SaleBargainChangeRecords.Create();
         *  record.CTIME = DateTime.Now;
         *  record.SaleBargin = saleItem;
         *  record.CurrentTotal = saleItem.Total;
         *  record.Comments = string.Format("{1}创建还价,还价为:{0}。", saleItem.Total, record.CTIME.ToString("yyyyMMdd HH:mm:ss"));
         *  dbContext.SaleBargainChangeRecords.Add(record);
         *  dbContext.SaleBargains.Add(saleItem);
         *  return saleItem;
         * }
         *
         * private void UpdateSaleContractBargainCore(ExtendedIdentityDbContext dbContext,
         *  SaleBargain bargain, SaleBargain saleItem)
         * {
         *  saleItem.BargainSysUserKey = bargain.BargainSysUserKey;
         *  saleItem.OperationState = bargain.OperationState;
         *  saleItem.SaleContractId = bargain.SaleContractId;
         *  var items = from one in saleItem.BargainItems
         *              from two in bargain.BargainItems
         *              where one.SaleProductItemId == two.SaleProductItemId
         *              select new { one, two };
         *  foreach (var gp in items)
         *  {
         *      gp.one.BargainUnitPrice = gp.two.BargainUnitPrice;
         *  }
         *
         *  SaleBargainChangeRecord record = dbContext.SaleBargainChangeRecords.Create();
         *  record.CTIME = DateTime.Now;
         *  record.SaleBargin = saleItem;
         *  record.PrevTotal = bargain.Total;
         *  record.CurrentTotal = saleItem.Total;
         *  record.Comments = string.Format("{2}修改还价,还价从 {1} 调整为:{0}。",
         *      saleItem.Total, bargain.Total, record.CTIME.ToString("yyyyMMdd HH:mm:ss"));
         *  dbContext.SaleBargainChangeRecords.Add(record);
         * }*/
        #endregion

        private SaleBargainItem CreateNewOne(
            ExtendedIdentityDbContext dbContext, SaleBargainItem one)
        {
            var newItem = dbContext.SaleBargainItems.Create();

            newItem.BargainUnitPrice  = one.BargainUnitPrice;
            newItem.SaleProductItemId = one.SaleProductItemId;
            return(newItem);
        }
Exemplo n.º 2
0
 public SaleProductItemBargainItemViewModel(SaleBargainItem item)
 {
     this.m_item = item;
 }