本文整理汇总了C#中umbraco.cms.businesslogic.web.Document.SetProperty方法的典型用法代码示例。如果您正苦于以下问题:C# Document.SetProperty方法的具体用法?C# Document.SetProperty怎么用?C# Document.SetProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类umbraco.cms.businesslogic.web.Document
的用法示例。
在下文中一共展示了Document.SetProperty方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveAndPublishButton_Click
/// <summary>
/// Handles the Click event of the SaveAndPublishButton control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.Web.UI.ImageClickEventArgs"/> instance containing the event data.</param>
protected void SaveAndPublishButton_Click(object sender, ImageClickEventArgs e)
{
//This is the real publication in Triphulcas:
var currentPage = new Document(NodeFactory.Node.getCurrentNodeId());
if (currentPage.getProperty("public") != null)
currentPage.SetProperty("public", 1);
// save and publish
m_Manager.LiveEditingContext.Updates.SaveAll();
m_Manager.LiveEditingContext.Updates.PublishAll();
// disable Live Editing
m_Manager.LiveEditingContext.Enabled = false;
// show message to user
m_Manager.DisplayUserMessage("Publicado!", "Tu basura ya es pública.", "info");
// redirect to page (updates everything, and is necessary if the page name was changed)
RefreshPage();
}
示例2: SaveButton_Click
/// <summary>
/// Handles the Click event of the SaveButton control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.Web.UI.ImageClickEventArgs"/> instance containing the event data.</param>
protected void SaveButton_Click(object sender, ImageClickEventArgs e)
{
//Standard:
//m_Manager.LiveEditingContext.Updates.SaveAll();
//m_Manager.DisplayUserMessage("Page saved", "The page was saved successfully. Remember to publish your changes.", "info");
//This marks as "unpublished" in Triphulcas:
var currentPage = new Document(NodeFactory.Node.getCurrentNodeId());
if (currentPage.getProperty("public") != null)
{
currentPage.SetProperty("public", 0);
//disable "unpublish" option:
if (m_unpublishedButton != null)
m_Manager.LiveEditingContext.Menu.Remove(m_unpublishedButton);
}
//Save&Publish code:
// save and publish
m_Manager.LiveEditingContext.Updates.SaveAll();
m_Manager.LiveEditingContext.Updates.PublishAll();
// show message to user
m_Manager.DisplayUserMessage("Artículo guardado", "Hemos guardado tu basura. Publícala para que se vea.", "info");
// redirect to page (updates everything, and is necessary if the page name was changed)
//RefreshPage();
}
示例3: Manager_MessageReceived
/// <summary>
/// Handles the <c>MessageReceived</c> event of the Live Editing manager.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
protected override void Manager_MessageReceived(object sender, MesssageReceivedArgs e)
{
switch (e.Type)
{
case "unpublishcontent":
Document currentPage = new Document(int.Parse(UmbracoContext.Current.PageId.ToString()));
//library.UnPublishSingleNode(currentPage.Id);
//currentPage.UnPublish();
//Unpublish (triphulcas way)
currentPage.SetProperty("public", 0);
string redirectUrl = "/";
try
{
redirectUrl = library.NiceUrl(currentPage.Parent.Id);
}
catch
{
}
//disable live editing:
UmbracoContext.Current.LiveEditingContext.Enabled = false;
Page.Response.Redirect(redirectUrl);
break;
}
}
示例4: InstallStore
/// <summary>
/// Install a new uWebshop store
/// </summary>
/// <param name="storeAlias">the store alias to use</param>
/// <param name="storeDocument">the document of the store</param>
/// <param name="cultureCode"> </param>
/// <param name="preFillRequiredItems"></param>
internal static void InstallStore(string storeAlias, Document storeDocument, string cultureCode = null, bool preFillRequiredItems = false)
{
var reg = new Regex(@"\s*");
storeAlias = reg.Replace(storeAlias, "");
if (cultureCode == null)
{
var languages = Language.GetAllAsList();
var firstOrDefaultlanguage = languages.FirstOrDefault();
if (firstOrDefaultlanguage == null)
return;
cultureCode = firstOrDefaultlanguage.CultureAlias;
}
var installStoreSpecificPropertiesOnDocumentTypes = WebConfigurationManager.AppSettings["InstallStoreDocumentTypes"];
if (installStoreSpecificPropertiesOnDocumentTypes == null || installStoreSpecificPropertiesOnDocumentTypes != "false")
{
if (DocumentType.GetAllAsList().Where(x => x.Alias.StartsWith(Store.NodeAlias)).All(x => x.Text.ToLower() != storeAlias.ToLower()))
{
IO.Container.Resolve<IUmbracoDocumentTypeInstaller>().InstallStore(storeAlias);
}
else
{
// todo: return message that store already existed?
return;
}
}
var admin = new User(0);
var uwbsStoreDt = DocumentType.GetByAlias(Store.NodeAlias);
var uwbsStoreRepositoryDt = DocumentType.GetByAlias(Store.StoreRepositoryNodeAlias);
var uwbsStoreRepository = Document.GetDocumentsOfDocumentType(uwbsStoreRepositoryDt.Id).FirstOrDefault(x => !x.IsTrashed);
if (storeDocument == null)
{
if (uwbsStoreRepository != null)
if (uwbsStoreDt != null)
{
storeDocument = Document.MakeNew(storeAlias, uwbsStoreDt, admin, uwbsStoreRepository.Id);
if (storeDocument != null && preFillRequiredItems)
{
storeDocument.SetProperty("orderNumberPrefix", storeAlias);
storeDocument.SetProperty("globalVat", "0");
storeDocument.SetProperty("countryCode", "DK");
storeDocument.SetProperty("storeEmailFrom", string.Format("[email protected]{0}.com", storeAlias));
storeDocument.SetProperty("storeEmailTo", string.Format("[email protected]{0}.com", storeAlias));
storeDocument.SetProperty("storeEmailFromName", storeAlias);
storeDocument.Save();
storeDocument.Publish(new User(0));
}
}
}
var language = Language.GetByCultureCode(cultureCode);
if (storeDocument == null)
{
return;
}
if (language != null) storeDocument.SetProperty("currencyCulture", language.id.ToString());
storeDocument.Save();
//InstallProductUrlRewritingRules(storeAlias);
}
示例5: DocumentAfterPublish
protected void DocumentAfterPublish(Document sender, PublishEventArgs e)
{
// when thinking about adding something here, consider ContentOnAfterUpdateDocumentCache!
if (sender.Level > 2)
{
if (sender.ContentType.Alias == Order.NodeAlias || sender.Parent != null && (OrderedProduct.IsAlias(sender.ContentType.Alias) || sender.Parent.Parent != null && OrderedProductVariant.IsAlias(sender.ContentType.Alias)))
{
var orderDoc = sender.ContentType.Alias == Order.NodeAlias ? sender : (OrderedProduct.IsAlias(sender.ContentType.Alias) && !OrderedProductVariant.IsAlias(sender.ContentType.Alias) ? new Document(sender.Parent.Id) : new Document(sender.Parent.Parent.Id));
if (orderDoc.ContentType.Alias != Order.NodeAlias)
throw new Exception("There was an error in the structure of the order documents");
// load existing orderInfo (why..? => possibly to preserve information not represented in the umbraco documents)
if (string.IsNullOrEmpty(orderDoc.getProperty("orderGuid").Value.ToString()))
{
Store store = null;
var storeDoc = sender.GetAncestorDocuments().FirstOrDefault(x => x.ContentType.Alias == OrderStoreFolder.NodeAlias);
if (storeDoc != null)
{
store = StoreHelper.GetAllStores().FirstOrDefault(x => x.Name == storeDoc.Text);
}
if (store == null)
{
store = StoreHelper.GetAllStores().FirstOrDefault();
}
var orderInfo = OrderHelper.CreateOrder(store);
IO.Container.Resolve<IOrderNumberService>().GenerateAndPersistOrderNumber(orderInfo);
orderInfo.Status = OrderStatus.Confirmed;
orderInfo.Save();
sender.SetProperty("orderGuid", orderInfo.UniqueOrderId.ToString());
sender.Save();
}
else
{
var orderGuid = Guid.Parse(orderDoc.getProperty("orderGuid").Value.ToString());
var orderInfo = OrderHelper.GetOrderInfo(orderGuid);
var order = new Order(orderDoc.Id);
orderInfo.CustomerEmail = order.CustomerEmail;
orderInfo.CustomerFirstName = order.CustomerFirstName;
orderInfo.CustomerLastName = order.CustomerLastName;
var dictionaryCustomer = orderDoc.GenericProperties.Where(x => x.PropertyType.Alias.StartsWith("customer")).ToDictionary(customerProperty => customerProperty.PropertyType.Alias, customerProperty => customerProperty.Value.ToString());
orderInfo.AddCustomerFields(dictionaryCustomer, CustomerDatatypes.Customer);
var dictionaryShipping = orderDoc.GenericProperties.Where(x => x.PropertyType.Alias.StartsWith("shipping")).ToDictionary(property => property.PropertyType.Alias, property => property.Value.ToString());
orderInfo.AddCustomerFields(dictionaryShipping, CustomerDatatypes.Shipping);
var dictionarExtra = orderDoc.GenericProperties.Where(x => x.PropertyType.Alias.StartsWith("extra")).ToDictionary(property => property.PropertyType.Alias, property => property.Value.ToString());
orderInfo.AddCustomerFields(dictionarExtra, CustomerDatatypes.Extra);
//orderInfo.SetVATNumber(order.CustomerVATNumber); happens in AddCustomerFields
var orderPaidProperty = order.Document.getProperty("orderPaid");
if (orderPaidProperty != null && orderPaidProperty.Value != null)
orderInfo.Paid = orderPaidProperty.Value == "1";
// load data recursively from umbraco documents into order tree
orderInfo.OrderLines = orderDoc.Children.Select(d =>
{
var fields = d.GenericProperties.Where(x => !OrderedProduct.DefaultProperties.Contains(x.PropertyType.Alias)).ToDictionary(s => s.PropertyType.Alias, s => d.GetProperty<string>(s.PropertyType.Alias));
var xDoc = new XDocument(new XElement("Fields"));
OrderUpdatingService.AddFieldsToXDocumentBasedOnCMSDocumentType(xDoc, fields, d.ContentType.Alias);
var orderedProduct = new OrderedProduct(d.Id);
var productInfo = new ProductInfo(orderedProduct, orderInfo);
productInfo.ProductVariants = d.Children.Select(cd => new ProductVariantInfo(new OrderedProductVariant(cd.Id), productInfo, productInfo.Vat)).ToList();
return new OrderLine(productInfo, orderInfo) {_customData = xDoc};
}).ToList();
// store order
IO.Container.Resolve<IOrderRepository>().SaveOrderInfo(orderInfo);
}
// cancel does give a warning message balloon in Umbraco.
//e.Cancel = true;
//if (sender.ContentType.Alias != Order.NodeAlias)
//{
// orderDoc.Publish(new User(0));
//}
//if (orderDoc.ParentId != 0)
//{
BasePage.Current.ClientTools.SyncTree(sender.Parent.Path, false);
BasePage.Current.ClientTools.ChangeContentFrameUrl(string.Concat("editContent.aspx?id=", sender.Id));
//}
//orderDoc.delete();
BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.success, "Order Updated!", "This order has been updated!");
}
}
}
示例6: FixRootCategoryUrlName
private static void FixRootCategoryUrlName(Document sender, Document[] docs, string propertyName)
{
var urlName = sender.getProperty(propertyName).Value.ToString();
if (docs.Any(x => urlName == x.Text))
{
int count = 1;
var existingRenames = docs.Where(x => x.Text.StartsWith(urlName)).Select(x => x.Text).Select(x => Regex.Match(x, urlName + @" [(](\d)[)]").Groups[1].Value).Select(x =>
{
int i;
int.TryParse(x, out i);
return i;
});
if (existingRenames.Any())
{
count = existingRenames.Max() + 1;
}
sender.SetProperty(propertyName, urlName + " (" + count + ")");
}
}