Пример #1
0
        public virtual bool Create(V item, bool useModelCulture = false)
        {
            if (item == null)
            {
                return(false);
            }

            var result     = true;
            var dataObject = new JoinedItem <T, TT>();

            CopyModelToItem(dataObject, item);
            result &= _rep.Create(dataObject.Item);
            CopyModelToTrans(dataObject, item);
            if (useModelCulture && item is ILocalizableModel)
            {
                dataObject.ItemTranslation.Culture = (item as ILocalizableModel).ContentCulture;
            }
            else
            {
                dataObject.ItemTranslation.Culture = MainCulture;
            }
            result &= _repTrans.Create(dataObject.ItemTranslation);
            result &= _rep.SubmitChanges();

            if (result)
            {
                CopyDataToModel(dataObject, item);
                MergeSubItems(item);
                GetSubItems(item);
            }
            return(result);
        }
Пример #2
0
 protected virtual void CopyDataToModel(JoinedItem <T, TT> data, V model)
 {
     CopyItemToModel(data.Item, model);
     if (data.ItemTranslation != null)
     {
         CopyTransToModel(data.ItemTranslation, model);
     }
 }
Пример #3
0
 protected abstract void CopyModelToTrans(JoinedItem <T, TT> data, V model);