Exemplo n.º 1
0
        public static T CreateItem <T>(this ISitecoreService service, object parent, string name, Action <CreateItemByNameBuilder> config) where T : class
        {
            var builder = new CreateItemByNameBuilder().Name(name).Parent(parent).Type(typeof(T));

            config(builder);
            return(service.CreateItem <T>(builder));
        }
Exemplo n.º 2
0
        public static T CreateItem <T>(this ISitecoreService service, object parent, T model, Action <CreateItemByModelBuilder> config) where T : class
        {
            var builder = new CreateItemByModelBuilder().Model(model).Parent(parent);

            config(builder);
            return(service.CreateItem <T>(builder));
        }
        public ActionResult AddDeal()
        {
            // deals root id '/sitecore/content/home/deals'
            string dealParentID = "{8069B844-1D05-400A-A40A-26412345DDF3}";

            // get deals count
            int dealCount = GetDealCount();

            #region Get parent item
            // Get Parent Item
            var options = new GetItemByIdOptions(new Guid(dealParentID))
            {
                InferType = true,
                Lazy      = Glass.Mapper.LazyLoading.Disabled
            };
            var parentItem = _sitecoreService.GetItem <BaseDeal>(options);
            #endregion

            #region  Create a new deal
            var baseDeal = new BaseDeal()
            {
                Name          = $"Newdeal-{dealCount + 1}",
                StartPrice    = dealCount + 1000,
                PriceIncludes = "Price includes everything",
                HeaderImage   = new Glass.Mapper.Sc.Fields.Image()
                {
                    MediaId = new Guid("{CD431039-D155-42A3-89A3-B97621775075}")
                }
            };

            using (new Sitecore.SecurityModel.SecurityDisabler())
            {
                var newdeal = _masterSitecoreService.CreateItem <BaseDeal>(parentItem, baseDeal);

                // publish newly created item.
                PublishItem(newdeal.Id);
            }

            #endregion

            return(Redirect("/deals"));
        }