예제 #1
0
        public int AddEntry(EntryDTO entry)
        {
            var newEntry = new PKS_OILWIKI_ENTRY
            {
                NAME            = entry.Name,
                ENGLISHNAME     = entry.EnglishName,
                CATALOGID       = entry.CatalogId,
                AUTHOR          = entry.Author,
                SOURCE          = entry.Source,
                IMAGE           = entry.Image,
                CONTENTS        = entry.Contents,
                CREATEDBY       = entry.CreatedBy,
                CREATEDDATE     = entry.CreatedDate,
                LASTUPDATEDBY   = entry.LastUpdatedBy,
                LASTUPDATEDDATE = entry.LastUpdatedDate
            };

            _entryRepository.Add(newEntry);

            //_aliasEntryRepository.DeleteList(e => e.ENTRYID == newEntry.Id);
            //entry.AliasEntry?.ForEach(a => _aliasEntryRepository.Add(new PKS_OILWIKI_ALIASENTRY { NAME = a, ENTRYID = newEntry.Id }, false));

            //_relatedRepository.DeleteList(e => e.ENTRYID == newEntry.Id);
            //entry.RelatedEntry?.ForEach(a => _relatedRepository.Add(new PKS_OILWIKI_RELATEDENTRY { RELATEDENTRYID = a, ENTRYID = newEntry.Id }, false));

            //_aliasEntryRepository.Submit();
            //_relatedRepository.Submit();


            _aliasEntryRepository.DeleteList(e => e.ENTRYID == newEntry.Id);
            var aliasList = new List <PKS_OILWIKI_ALIASENTRY>();

            if (entry.AliasEntry != null)
            {
                foreach (var item in entry.AliasEntry)
                {
                    aliasList.Add(new PKS_OILWIKI_ALIASENTRY {
                        ENTRYID = newEntry.Id, NAME = item
                    });
                }
                _aliasEntryRepository.AddRange(aliasList, false);
            }
            _aliasEntryRepository.Submit();


            _relatedRepository.DeleteList(e => e.ENTRYID == newEntry.Id);
            var relatedList = new List <PKS_OILWIKI_RELATEDENTRY>();

            if (entry.RelatedEntry != null)
            {
                foreach (var item in entry.RelatedEntry)
                {
                    relatedList.Add(new PKS_OILWIKI_RELATEDENTRY {
                        RELATEDENTRYID = item, ENTRYID = newEntry.Id
                    });
                }
                _relatedRepository.AddRange(relatedList, false);
            }
            _relatedRepository.Submit();

            return(newEntry.Id);
        }
예제 #2
0
        public void UpdateEntry(EntryDTO entry)
        {
            var entryModel = _entryRepository.GetQuery().FirstOrDefault(e => e.Id == entry.Id);

            if (entryModel != null)
            {
                entryModel.Id              = entry.Id;
                entryModel.NAME            = entry.Name;
                entryModel.ENGLISHNAME     = entry.EnglishName;
                entryModel.CATALOGID       = entry.CatalogId;
                entryModel.AUTHOR          = entry.Author;
                entryModel.SOURCE          = entry.Source;
                entryModel.IMAGE           = entry.Image;
                entryModel.CONTENTS        = entry.Contents;
                entryModel.CREATEDBY       = entry.CreatedBy;
                entryModel.CREATEDDATE     = entry.CreatedDate;
                entryModel.LASTUPDATEDBY   = entry.LastUpdatedBy;
                entryModel.LASTUPDATEDDATE = entry.LastUpdatedDate;
                _entryRepository.Update(entryModel);
            }
            else
            {
                entryModel = new PKS_OILWIKI_ENTRY
                {
                    NAME            = entry.Name,
                    ENGLISHNAME     = entry.EnglishName,
                    CATALOGID       = entry.CatalogId,
                    AUTHOR          = entry.Author,
                    SOURCE          = entry.Source,
                    CONTENTS        = entry.Contents,
                    IMAGE           = entry.Image,
                    CREATEDBY       = entry.CreatedBy,
                    CREATEDDATE     = entry.CreatedDate,
                    LASTUPDATEDBY   = entry.LastUpdatedBy,
                    LASTUPDATEDDATE = entry.LastUpdatedDate
                };
                _entryRepository.Add(entryModel);
            }

            _aliasEntryRepository.DeleteList(e => e.ENTRYID == entryModel.Id);
            var aliasList = new List <PKS_OILWIKI_ALIASENTRY>();

            if (entry.AliasEntry != null)
            {
                foreach (var item in entry.AliasEntry)
                {
                    aliasList.Add(new PKS_OILWIKI_ALIASENTRY {
                        ENTRYID = entryModel.Id, NAME = item
                    });
                }
                _aliasEntryRepository.AddRange(aliasList, false);
            }
            _aliasEntryRepository.Submit();


            _relatedRepository.DeleteList(e => e.ENTRYID == entryModel.Id);
            var relatedList = new List <PKS_OILWIKI_RELATEDENTRY>();

            if (entry.RelatedEntry != null)
            {
                foreach (var item in entry.RelatedEntry)
                {
                    relatedList.Add(new PKS_OILWIKI_RELATEDENTRY {
                        RELATEDENTRYID = item, ENTRYID = entryModel.Id
                    });
                }
                _relatedRepository.AddRange(relatedList, false);
            }
            _relatedRepository.Submit();
        }