Guest User

Untitled

a guest
Mar 19th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. public class CustomRepository : InProcItemModelRepository
  2. {
  3. public override Guid Create(string itemName, Guid templateId, Guid parentId, string language)
  4. {
  5. var parentItem = base.Get(parentId);
  6. if (parentItem == null)
  7. {
  8. return Guid.Empty;
  9. }
  10. var path = parentItem[ItemModel.ItemPath].ToString();
  11. //
  12. var itemModel = new ItemModel();
  13. itemModel[ItemModel.ItemName] = itemName;
  14. itemModel[ItemModel.TemplateID] = templateId.ToString();
  15. var handler = base.HandlerProvider.GetHandler<CreateItemHandler>();
  16. var command = new CreateItemCommand
  17. {
  18. ItemModel = itemModel,
  19. Path = path,
  20. Language = language
  21.  
  22. };
  23. var response = handler.Handle(command) as CreateItemResponse;
  24. return response.ItemId;
  25. }
  26.  
  27. public override bool Update(Guid id, ItemModel itemModel, string language, int version)
  28. {
  29. var handler = base.HandlerProvider.GetHandler<UpdateItemHandler>();
  30. var command = new UpdateItemCommand
  31. {
  32. Id = id,
  33. Database = base.DatabaseName,
  34. ItemModel = itemModel,
  35. Language = language,
  36. Version = version.ToString()
  37. };
  38. handler.Handle(command);
  39. return true;
  40. }
  41. }
  42.  
  43. <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  44. <sitecore>
  45. <dataExchange>
  46. <itemModelRepository type="Custom.DataExchange.CustomRepository, Custom.DataExchange", patch:instead="processor[@type='Sitecore.DataExchange.Local.Repositories.InProcItemModelRepository, Sitecore.DataExchange.Local']">
  47. <databaseName>master</databaseName>
  48. </itemModelRepository>
  49. </dataExchange>
  50. </sitecore>
  51. </configuration>
  52.  
  53. var repo = (CustomRepository)DataExchange.Context.ItemModelRepository;
  54. var templateId = new Guid("{A0691A54-6175-4C10-9E10-9A1FA0134517}");
  55. var parentId = new Guid("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}");
  56. var itemId = repo.Create("My Product", templateId, parentId, "de");
  57. repo.Update(itemId, new ItemModel() { { "ProductName", "My Product Name" } }, "de", 1);
Add Comment
Please, Sign In to add comment