public LnRIRecordEntityModel UpdRecordEntity(LnRIRecordEntityModel _et1) { lnRIRecordEntity _r1 = null; _r1 = Mapper.Map <lnRIRecordEntity>(_et1); var query = new Sql("UPDATE [APlatformAppSchema].[lnRIRecordEntity] SET LatestDocID = @0,UPDATETIME = GETDATE() where EntityID = @1 ", new SqlParameter { Value = _et1.LatestDocID }, new SqlParameter { Value = _et1.EntityID }); try { lnRIRecord.repo.Execute(query); } catch (Exception ex) { LogHelper.Error <lnRIRecordDataProvider>("UPd recordentity Failed! \n", ex); } return(_et1); }
public RIRecordModel AddRecord(RIRecordModel _et1, LnRIRecordEntityModel _et2) { RIRecordModel result = null; lnRIRecord _r1 = null; lnRIRecordEntity _r2 = null; _r1 = Mapper.Map <lnRIRecord>(_et1); _r2 = Mapper.Map <lnRIRecordEntity>(_et2); _r1.Insert(); _r2.Insert(); result = _et1; return(result); }
public RIRecordModel SaveNewVersionRecord(RIRecordModel _r1) { RIRecordModel ret = null; LnRIRecordEntityModel _r2 = null; RIRecordModel _r1new = new RIRecordModel(); //_mapperService.MapModel<RIRecordModel>(_r1);//先拷贝一份旧数据 _r1new = new RIRecordModel() { ID = _r1.ID, DocID = _r1.DocID, CheckItem = _r1.CheckItem, IsLatest = _r1.IsLatest , CheckFiles = _r1.CheckFiles, DocumentNumber = _r1.DocumentNumber, EntityID = _r1.EntityID, Author = _r1.Author, EffectiveDate = _r1.EffectiveDate , CREATETIME = _r1.CREATETIME, IsDelete = _r1.IsDelete, MetaPath = _r1.MetaPath, PackageID = _r1.PackageID, Path = _r1.Path, ReferenceDocument = _r1.ReferenceDocument, Risk = _r1.Risk, SubTopic = _r1.SubTopic , Summary = _r1.Summary, Title = _r1.Title, Topic = _r1.Topic, UPDATETIME = DateTime.Now, Version = _r1.Version }; lnRIRecord.repo.BeginTransaction(); try { int _newversion = _lnRIRecordDataProvider.GetOldVersionRecordMax(_r1) + 1; //1.先保存新的版本号 _lnRIRecordDataProvider.UpdOldVersionRecord(_mapperService.MapModel <RIRecordModel>(_r1)); //2.更新老版本的islast string _newPath = _xmlDBSavePath + "crcd" + "/" + _r1.EntityID + "_" + _newversion + ".XML"; string _newMetaPath = _xmlDBSavePath + "crcd" + "/" + _r1.EntityID + "_" + _newversion + "_META.XML"; _r1new.Version = _newversion; _r1new.DocID = this.GetMaxId().ToString(); _r1new.UPDATETIME = DateTime.Now; _r1new.CREATETIME = DateTime.Now; _r1new.Path = _newPath; _r1new.MetaPath = _newMetaPath; _r1new.IsLatest = true; _lnRIRecordDataProvider.AddRecord(_r1new); _r2 = new LnRIRecordEntityModel() { EntityID = _r1.EntityID, LatestDocID = _r1new.DocID, Title = _r1.Title, Updatetime = DateTime.Now }; _lnRIRecordDataProvider.UpdRecordEntity(_r2);//3.更新entity表 //4.更新checkitem关系表 List <RICheckItemModel> _rr1 = new List <RICheckItemModel>(); var _oldlist = _checkItemService.GetCheckItemList(_r1.DocID);//老状态的checkitem //List<RICheckItemModel> _delRefCheck = new List<RICheckItemModel>();//包括新checkitem和新版本的checkitem也就是前端传进来docid=空的,在原来的documentid里不应该存在了 //var q1 = from c in _r1.CheckItem // where string.IsNullOrEmpty(c.DocID) // select new RICheckItemModel { DocID = c.DocID, EntityID = c.EntityID }; //_delRefCheck = q1.Cast<RICheckItemModel>().ToList<RICheckItemModel>(); _rr1 = CreateCheckItem(_r1.CheckItem, _oldlist, _r1.ID); //MaintainRIRelRecordCheckItem(_rr1, _r1.ID);//5.维护原来的关系 //6.升版本后把老的documentid的维护关系中排除新的checkitemid,为了不在旧版本的doc里看到新版本的东西 //foreach (var cc in _delRefCheck) //{ // //_recordCheckItemService.DeleteRecordCheckItemById(cc.DocID, _r1.ID); //} MaintainRIRelRecordCheckItem(_rr1, _r1new.DocID);//7.新建升级后版本的关系 lnRIRecord.repo.CompleteTransaction(); try { if (_r1new.CheckFiles != null && _r1new.CheckFiles.Count > 0) { foreach (var fileDoc in _r1new.CheckFiles) { RIFileModel _newFile = new RIFileModel(); string _docid = ""; var _OldFile = _fileService.GetFileBydocId(fileDoc); _newFile = _OldFile; _newFile.DocID = System.Guid.NewGuid().ToString("N"); _newFile.DocumentID = _r1new.DocID; _newFile.CreateUser = new HttpContextWrapper(HttpContext.Current).User.Identity.Name; var retFile = _iRlFileDataProvider.CreateFileInfo(_newFile, out _docid); } //_fileService.UpdateFilesByDocumentId(_r1new.CheckFiles, _r1new.DocID); } } catch (Exception ex) { throw new RequestErrorException(ex.Message + "__db for error by save new");; } } catch (Exception ex) { LogHelper.Error <lnRIRecordService>("Save new version record Failed! \n", ex); lnRIRecord.repo.AbortTransaction(); } //生成XML ToXml(_r1new); ret = _r1new; return(ret); }
public RIRecordModel AddRecord(RIRecordModel _et1, LnRIRecordEntityModel _et2) { return(_lnRIRecordDataProvider.AddRecord(_et1, _et2)); }