Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CustomRepository : InProcItemModelRepository
- {
- public override Guid Create(string itemName, Guid templateId, Guid parentId, string language)
- {
- var parentItem = base.Get(parentId);
- if (parentItem == null)
- {
- return Guid.Empty;
- }
- var path = parentItem[ItemModel.ItemPath].ToString();
- //
- var itemModel = new ItemModel();
- itemModel[ItemModel.ItemName] = itemName;
- itemModel[ItemModel.TemplateID] = templateId.ToString();
- var handler = base.HandlerProvider.GetHandler<CreateItemHandler>();
- var command = new CreateItemCommand
- {
- ItemModel = itemModel,
- Path = path,
- Language = language
- };
- var response = handler.Handle(command) as CreateItemResponse;
- return response.ItemId;
- }
- public override bool Update(Guid id, ItemModel itemModel, string language, int version)
- {
- var handler = base.HandlerProvider.GetHandler<UpdateItemHandler>();
- var command = new UpdateItemCommand
- {
- Id = id,
- Database = base.DatabaseName,
- ItemModel = itemModel,
- Language = language,
- Version = version.ToString()
- };
- handler.Handle(command);
- return true;
- }
- }
- <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
- <sitecore>
- <dataExchange>
- <itemModelRepository type="Custom.DataExchange.CustomRepository, Custom.DataExchange", patch:instead="processor[@type='Sitecore.DataExchange.Local.Repositories.InProcItemModelRepository, Sitecore.DataExchange.Local']">
- <databaseName>master</databaseName>
- </itemModelRepository>
- </dataExchange>
- </sitecore>
- </configuration>
- var repo = (CustomRepository)DataExchange.Context.ItemModelRepository;
- var templateId = new Guid("{A0691A54-6175-4C10-9E10-9A1FA0134517}");
- var parentId = new Guid("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}");
- var itemId = repo.Create("My Product", templateId, parentId, "de");
- repo.Update(itemId, new ItemModel() { { "ProductName", "My Product Name" } }, "de", 1);
Add Comment
Please, Sign In to add comment