Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public RIRecordModel AddRecord(RIRecordModel _et1, LnRIRecordEntityModel _et2)
 {
     return(_lnRIRecordDataProvider.AddRecord(_et1, _et2));
 }