Ejemplo n.º 1
0
 //数据持久化
 internal static void SaveToDb(ContractInfo pContractInfo, Contract  pContract,bool pIsNew)
 {
     pContract.ContractId = pContractInfo.contractId;
      		pContract.ContractFileId = pContractInfo.contractFileId;
      		pContract.SignName = pContractInfo.signName;
      		pContract.ContractNum = pContractInfo.contractNum;
      		pContract.ContractName = pContractInfo.contractName;
      		pContract.BeginDate = pContractInfo.beginDate;
      		pContract.MoneySum = pContractInfo.moneySum;
     pContract.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pContract.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(ContractInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pContractInfo.contractId = pContract.ContractId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(ContractInfo)))
     {
         ResetCache();
     }
 }