private void BuildProducts() { Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase("web"); Sitecore.Data.Items.Item[] Productsitems = database.SelectItems("fast:/sitecore/content/home//*[@@templateid='{2EE70A6B-AF13-498E-8419-BDA52C8C05DD}']"); foreach (var Product in Productsitems) { var item = Context.Database.GetItem(Product.ID); var attributes = new List <XElement>(); if (!string.IsNullOrEmpty(Product.Fields["EanBarcode"].Value)) { XAttribute[] familyAttributes = { new XAttribute("id", "BV_FE_FAMILY") }; XAttribute[] expandAttributes = { new XAttribute("id", "BV_FE_EXPAND") }; attributes.Add(new XElement(Bv + "Attribute", familyAttributes, new XElement(Bv + "Value", Product.Fields["EanBarcode"].Value))); attributes.Add(new XElement(Bv + "Attribute", expandAttributes, new XElement(Bv + "Value", "BV_FE_FAMILY:" + Product.Fields["EanBarcode"].Value))); } var productdesc = RemoveHTMLTags(Product.Fields["ProductIntroduction"].Value); var desc = !ExtensionMethods.IsNullOrEmpty(productdesc) ? new XCData(productdesc) : new XCData(""); var options = Sitecore.Links.LinkManager.GetDefaultUrlOptions(); options.LanguageEmbedding = Sitecore.Links.LanguageEmbedding.Never; var productUrl = LinkManager.GetItemUrl(item, options); var catExternalId = item.Parent.ParentID.ToShortID().ToString(); if (catExternalId.IsNullOrEmpty()) { continue; } var brandExternalId = item.ParentID.ToShortID().ToString();; string ImageUrl = string.Empty; Sitecore.Data.Fields.ImageField imageField = item.Fields["ReferenceImage"]; if (imageField != null && imageField.MediaItem != null) { Sitecore.Data.Items.MediaItem image = new Sitecore.Data.Items.MediaItem(imageField.MediaItem); ImageUrl = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(image)); } //Add a single product var prod = new XElement(Bv + "Product"); prod.Add(new XElement(Bv + "ExternalId", Product.Fields["EanBarcode"].Value)); prod.Add(new XElement(Bv + "Name", new XCData(Product.Fields["__Display Name"].Value))); prod.Add(new XElement(Bv + "Description", desc)); prod.Add(new XElement(Bv + "CategoryExternalId", catExternalId)); prod.Add(new XElement(Bv + "ProductPageUrl", GetFullUrl(productUrl))); prod.Add(new XElement(Bv + "ImageUrl", GetFullUrl(ImageUrl))); prod.Add(new XElement(Bv + "EANs", new XElement(Bv + "EAN", Product.Fields["EanBarcode"].Value))); prod.Add(new XElement(Bv + "Attributes", attributes)); if (!string.IsNullOrEmpty(brandExternalId)) { prod.Add(new XElement(Bv + "BrandExternalId", brandExternalId)); } Products.Add(prod); } }
private void FillWholesalers() { masterDB = Sitecore.Configuration.Factory.GetDatabase("web"); ddlWholesaler.Items.Clear(); String lookupItemsPath = "/sitecore/content/MylanInstitutionalProducts/Lookup"; String query = String.Format("fast:{0}//*[@@templateid='{1}']", lookupItemsPath, "{A4981929-872A-4EAD-8408-2C13AD6D6D95}"); Item[] lookupItems = masterDB.SelectItems(query); ListItem li = null; foreach (Item itm in lookupItems) { CheckboxField isDisabled = itm.Fields["Disabled"]; if ((isDisabled != null) && (!isDisabled.Checked)) { li = null; li = new ListItem(itm.Fields["Display"].Value.ToString(), itm.Fields["Value"].Value.ToString()); } if (li != null) { ddlWholesaler.Items.Add(li); } } List <ListItem> list = new List <ListItem>(ddlWholesaler.Items.Cast <ListItem>()); list = list.OrderBy(li1 => li1.Text).ToList <ListItem>(); ddlWholesaler.Items.Clear(); ddlWholesaler.Items.AddRange(list.ToArray <ListItem>()); ddlWholesaler.Items.Insert(0, new ListItem("Select a wholesaler", "")); if (!String.IsNullOrWhiteSpace(str_Wholesaler)) { foreach (ListItem lItm in ddlWholesaler.Items) { if (lItm.Value == str_Wholesaler) { lItm.Selected = true; } } } else { ddlWholesaler.Items[0].Selected = true; } }
private void BuildBrands() { string templateId = _feed.Config.BrandsTemplateId; using (new Sitecore.Globalization.LanguageSwitcher(lan)) { Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase("web"); Sitecore.Data.Items.Item[] brands = database.SelectItems("fast:/sitecore/content/home//*[@@templateid='{F0649FE8-18C5-445B-8FFC-BC654E426093}']"); foreach (var brand in brands) { Brands.Add( new XElement(Bv + "Brand", new XElement(Bv + "ExternalId", brand.ID.ToShortID()), new XElement(Bv + "Name", brand.Fields["__Display Name"].Value) )); } } }
public void EpisodesWhite(object sender, EventArgs e) { Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase("master"); Sitecore.Data.Items.Item[] episodeItems = database.SelectItems("fast:/sitecore/content/Home/Programs/descendant::*[@@templatename='IndividualEpisodePage']"); if (episodeItems.Count() > 0) { foreach (Sitecore.Data.Items.Item result in episodeItems) { Domain.Pages.Episode episode = Domain.Context.Get <Domain.Pages.Episode>(result.ID); if (episode != null && episode.Title != null) { String ep = episode.Title; if (ep.StartsWith(" ") || ep.EndsWith(" ")) { Episodes.Text += "<li>" + episode.ID.ToString() + ": ##" + ep.ToString() + "##</li>\n"; EpisodeList.Add(result); } } } } }
public void ProgramsWhite(object sender, EventArgs e) { Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase("master"); Sitecore.Data.Items.Item[] programItems = database.SelectItems("fast:/sitecore/content/Home/Programs/descendant::*[@@templatename='IndividualProgramPage']"); if (programItems.Count() > 0) { foreach (Sitecore.Data.Items.Item result in programItems) { Domain.Pages.Program program = Domain.Context.Get <Domain.Pages.Program>(result.ID); if (program != null && program.Title != null) { String t = program.Title; if (t.StartsWith(" ") || t.EndsWith(" ")) { Programs.Text += "<li>" + result.ID.ToString() + ": ##" + t.ToString() + "##</li>\n"; ProgramList.Add(result); } } } } }
public IEnumerable <PublishActivityItem> GetAllPublishingItems() { // TO-DO: Do not use master db; also use internal ref. Sitecore.Data.Database masterDb = Sitecore.Configuration.Factory.GetDatabase("master"); Item SaveLocation = masterDb.GetItem(Resources.Constants.PublishedItemsSaveLocation); return(new List <Item>(masterDb.SelectItems(SaveLocation.Paths.LongID + String.Format("//*[@@templateid='{0}']", Resources.Constants.PublishActivityItemTemplate))).Select(x => new PublishActivityItem() { Item = x, Name = x.ID.ToString(), Publisher = x.Fields["Publisher"].Value, CreatedItems = x.Fields["Created Items"].Value, UpdatedItems = x.Fields["Updated Items"].Value, DeletedItems = x.Fields["Deleted Items"].Value, PublishMode = x.Fields["Publish Mode"].Value, PublishSubitems = x.Fields["Publish Subitems"].Value == "true" ? true : false, PublishRelatedItems = x.Fields["Publish Related Items"].Value == "true" ? true : false, PublishDate = (DateField)x.Fields["Publish Date"], TargetDatabase = x.Fields["Target Database"].Value, SourceDatabase = x.Fields["Source Database"].Value }).OrderByDescending(s => ((DateField)s.PublishDate).DateTime)); }
private void BuildCategories() { Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase("web"); Sitecore.Data.Items.Item[] Categoriesitems = database.SelectItems("fast:/sitecore/content/home//*[@@templateid='{5957125F-3286-421D-A855-A00BF88357F1}']"); foreach (var Category in Categoriesitems) { var item = Context.Database.GetItem(Category.ID); var options = Sitecore.Links.LinkManager.GetDefaultUrlOptions(); options.LanguageEmbedding = Sitecore.Links.LanguageEmbedding.Never; var categoryPageUrl = GetFullUrl(LinkManager.GetItemUrl(item, options)); Categories.Add( new XElement(Bv + "Category", new XElement(Bv + "ExternalId", Category.ID.ToShortID()), new XElement(Bv + "Name", Category.Fields["__Display Name"].Value), new XElement(Bv + "CategoryPageUrl", categoryPageUrl), new XElement(Bv + "ImageUrl") )); } }
public static Item[] RunContentItemQuery(string query, Sitecore.Data.Database database) { return(database.SelectItems(query)); }
private DataTable DisplayCookieData() { string[] CookieArray = getValuesFromCookies(Request.Cookies["ProductCatalog"].Value.ToString()); DataTable dt = new DataTable(); dt.Columns.Add("ProductID"); dt.Columns.Add("ProductName"); dt.Columns.Add("InfoPrescribingInformationLink"); dt.Columns.Add("AttrWarnings"); dt.Columns.Add("RowCount"); int productCount = 0; HashSet <string> prodNames = new HashSet <string>(); foreach (string a in CookieArray) { string[] ProdArray = a.Split(new Char[] { '_' }); if (ProdArray[0] == "ndc") { Item[] productNDC = masterDB.SelectItems(String.Format("fast://*[@@name='{0}']", ProdArray[1])); foreach (Item ndc in productNDC) { prodNames.Add(ndc.Parent.ID.ToString()); } } } foreach (string prod in prodNames) { DataRow dr = dt.NewRow(); productCount++; bool itemInTable = false; Item fullProduct = masterDB.SelectSingleItem(String.Format("fast://*[@@id='{0}']", prod)); if (fullProduct != null) { dr["ProductID"] = fullProduct.ID; if (fullProduct.Fields["PrescribingInformationLink"] != null) { dr["ProductName"] = fullProduct.Fields["Product Group Name"].Value.ToString(); } if (fullProduct.Fields["PrescribingInformationLink"] != null) { dr["InfoPrescribingInformationLink"] = fullProduct.Fields["PrescribingInformationLink"].Value.ToString(); } foreach (Item child in fullProduct.Children) { if (child.Fields["_xAttrWarnings"] != null) { dr["AttrWarnings"] = createWarningImages(child.Fields["_xAttrWarnings"].Value.ToString()); } } dr["RowCount"] = productCount; for (int q = 0; q < dt.Rows.Count; q++) { if (dt.Rows[q]["ProductName"] == dr["ProductName"]) { itemInTable = true; } } if (!itemInTable) { dt.Rows.Add(dr); } } } for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["RowCount"] = productCount; } return(dt); }
protected DataTable getNdcDetailById(string theNDCId) { Sitecore.Data.ID NDC_ID = Sitecore.Data.ID.Null; DataTable dt = new DataTable(); if (Sitecore.Data.ID.TryParse(theNDCId, out NDC_ID)) { try { //Response.Write(ndcId); Sitecore.Data.Database masterDB = Sitecore.Configuration.Factory.GetDatabase("web"); dt.Columns.Add("AttrClosureSize"); dt.Columns.Add("AttrDose"); dt.Columns.Add("AttrFillVolume"); dt.Columns.Add("AttrStrength"); dt.Columns.Add("AttrVialSize"); dt.Columns.Add("AttrWarnings"); dt.Columns.Add("NDC"); dt.Columns.Add("PkgPackage"); dt.Columns.Add("PkgPackageDetails"); dt.Columns.Add("PkgPackSize"); dt.Columns.Add("PkgBoxesPerCase"); dt.Columns.Add("PkgOrderingMultiple"); dt.Columns.Add("ProductCategory"); dt.Columns.Add("ProductID"); dt.Columns.Add("ProductDescription"); dt.Columns.Add("ProductCode"); dt.Columns.Add("ProductName"); dt.Columns.Add("ShortIdentifier"); dt.Columns.Add("WholeSaler"); dt.Columns.Add("WholeSalerName"); //columns for sorting dt.Columns.Add("NumericNDC"); dt.Columns.Add("NumericStrength"); dt.Columns.Add("NumericFillVolume"); dt.Columns.Add("NumericVialSize"); dt.Columns.Add("NumericClosureSize"); dt.Columns.Add("NumericPackSize"); //columns for sorting Item[] productGroup = null; productGroup = masterDB.SelectItems(String.Format("fast://*[@@id='{0}']", NDC_ID.ToString())); foreach (Item product in productGroup) { DataRow dr = dt.NewRow(); if (product.Fields["_xAttrClosureSize"] != null) { String strTemp = product.Fields["_xAttrClosureSize"].Value.ToString(); dr["AttrClosureSize"] = strTemp; dr["NumericClosureSize"] = GetNumericChars(strTemp); } if (product.Fields["_xAttrDose"] != null) { dr["AttrDose"] = product.Fields["_xAttrDose"].Value.ToString(); } if (product.Fields["_xAttrFillVolume"] != null) { String strTemp = product.Fields["_xAttrFillVolume"].Value.ToString(); dr["AttrFillVolume"] = strTemp; dr["NumericFillVolume"] = GetNumericChars(strTemp); } if (product.Fields["_xAttrStrength"] != null) { String strTemp = product.Fields["_xAttrStrength"].Value.ToString(); dr["AttrStrength"] = strTemp; dr["NumericStrength"] = GetNumericChars(strTemp); } if (product.Fields["_xAttrVialSize"] != null) { String strTemp = product.Fields["_xAttrVialSize"].Value.ToString(); dr["AttrVialSize"] = strTemp; dr["NumericVialSize"] = GetNumericChars(strTemp); } if (product.Fields["_xAttrWarnings"] != null) { dr["AttrWarnings"] = product.Fields["_xAttrWarnings"].Value.ToString(); } if (product.Fields["_NDC"] != null) { String strTemp = product.Fields["_NDC"].Value.ToString(); dr["NDC"] = strTemp; dr["NumericNDC"] = GetNumericChars(strTemp); } if (product.Fields["_xPkgPackage"] != null) { dr["PkgPackage"] = product.Fields["_xPkgPackage"].Value.ToString(); } if (product.Fields["_xPkgPackageDetails"] != null) { dr["PkgPackageDetails"] = product.Fields["_xPkgPackageDetails"].Value.ToString(); } if (product.Fields["_xPkgBoxesPerCase"] != null) { dr["PkgBoxesPerCase"] = product.Fields["_xPkgBoxesPerCase"].Value.ToString(); } if (product.Fields["_xPkgPackSize"] != null) { String strTemp = product.Fields["_xPkgPackSize"].Value.ToString(); dr["PkgPackSize"] = strTemp; dr["NumericPackSize"] = replaceSpecialChars(strTemp); } if (product.Fields["_xPkgOrderingMultiple"] != null) { dr["PkgOrderingMultiple"] = product.Fields["_xPkgOrderingMultiple"].Value.ToString(); } if (product.Fields["_ProductCategory"] != null) { dr["ProductCategory"] = product.Fields["_ProductCategory"].Value.ToString(); } if (product.Fields["_ProductDescription"] != null) { dr["ProductDescription"] = product.Fields["_ProductDescription"].Value.ToString(); } if (product.Parent.Fields["Product Group Name"] != null) { dr["ProductName"] = product.Parent.Fields["Product Group Name"].Value.ToString(); dr["ShortIdentifier"] = "ndc_" + replaceSpecialChars(product.Parent.Fields["Product Group Name"].Value.ToString()); dr["ShortIdentifier"] = "prod_" + replaceSpecialChars(product.ID.ToString()); } if (product.Parent != null) { dr["ProductID"] = product.Parent.ID.ToString(); } dr["WholeSaler"] = String.Empty; dr["WholeSalerName"] = String.Empty; if (!String.IsNullOrWhiteSpace(str_Wholesaler)) { dr["WholeSalerName"] = str_Wholesaler; if ((product.Fields[str_Wholesaler] != null) && (!String.IsNullOrWhiteSpace(product.Fields[str_Wholesaler].Value.ToString()))) { dr["WholeSaler"] = product.Fields[str_Wholesaler].Value.ToString(); } } /* * dr["ProductCode"] = product.Parent.Fields["alternateNDCTitle"].Value.ToString(); */ dt.Rows.Add(dr); } } catch (Exception e) { //TODO: Log the exception } } DataView dv = new DataView(dt); dv.Sort = "NumericNDC Asc, NumericStrength Asc, NumericFillVolume Asc, NumericVialSize Asc, NumericClosureSize Asc, NumericPackSize Asc, WholeSalerName Asc"; return(dv.ToTable(true)); }
private DataTable getProductDetailsByName(string ProductName, string WholeSaler) { masterDB = Sitecore.Configuration.Factory.GetDatabase("web"); DataTable dt = new DataTable(); dt.Columns.Add("AttrWarnings"); dt.Columns.Add("InfoPrescribingInformationLink"); dt.Columns.Add("NDC"); dt.Columns.Add("NumericNDC"); dt.Columns.Add("ProductID"); dt.Columns.Add("ProductName"); dt.Columns.Add("ProductNameNoSpaces"); dt.Columns.Add("RowCount"); dt.Columns.Add("ShortIdentifier"); dt.Columns.Add("WholeSaler"); dt.Columns.Add("WholeSalerName"); double intQuery = -1; String productGroupTemplateID = "{A47497B6-472C-4E19-ADC4-A93C3BC80860}"; String productQuery = String.Format("/sitecore/content//*[@@templateid='{0}']", productGroupTemplateID.ToString()); Boolean filterByNDC = false; if (double.TryParse(ProductName.Replace("-", ""), out intQuery)) { filterByNDC = true; if (!ProductName.Contains("-")) { String formattedProductName = String.Format("{0}-{1}-{2}", ProductName.Substring(0, 5), ProductName.Substring(5, 3), ProductName.Substring(8, 2)); if (!String.IsNullOrWhiteSpace(formattedProductName)) { ProductName = formattedProductName; } } productQuery = String.Format("/sitecore/content//*[contains(@_NDC, '{0}')]/ancestor::*", ProductName.ToString()); } List <Item> lstProductGroup = new List <Item>(); List <Item> lstProductGroupNew = new List <Item>(); Item[] productGroup = masterDB.SelectItems(productQuery); foreach (Item productGrp in productGroup) { if (productGrp.TemplateID.ToString() == productGroupTemplateID.ToString()) { lstProductGroup.Add(productGrp); } } foreach (Item product in lstProductGroup) { string value = string.Empty; if (!filterByNDC) { if (product.Fields["Product Group Name"].Value.ToLower().StartsWith(ProductName.Replace("[", "").Replace("]", "").ToLower())) { value = product.Fields["Product Group Name"].Value.ToString().Trim().Replace("<sup>", "").Replace("</sup>", ""); } } else { if (filterByNDC) { foreach (Item ndc in product.Children) { if (ndc.Fields["_NDC"].Value.ToString().StartsWith(ProductName.ToString())) { //value = ndc.Fields["_NDC"].Value.ToString().Trim().Replace("<sup>", "").Replace("</sup>", ""); value = product.Fields["Product Group Name"].Value.ToString().Trim().Replace("<sup>", "").Replace("</sup>", ""); break; } } } } if (!String.IsNullOrWhiteSpace(value)) { lstProductGroupNew.Add(product); } } foreach (Item product in lstProductGroupNew) { foreach (Item ndc in product.Children) { DataRow dRow = dt.NewRow(); dRow["NDC"] = ndc.Fields["_NDC"]; dRow["NumericNDC"] = GetNumericChars(ndc.Fields["_NDC"].Value.ToString()); if (ndc.Fields["_xAttrWarnings"] != null) { dRow["AttrWarnings"] = createWarningImages(ndc.Fields["_xAttrWarnings"].Value.ToString()); } if (product.Fields["PrescribingInformationLink"] != null) { dRow["InfoPrescribingInformationLink"] = product.Fields["PrescribingInformationLink"].Value.ToString(); } if (product.Fields["Product Group Name"] != null) { dRow["ShortIdentifier"] = "prod_" + replaceSpecialChars(product.ID.ToString()); } if (product.Fields["Product Group Name"] != null) { dRow["ProductName"] = product.Fields["Product Group Name"].Value.ToString(); dRow["ProductNameNoSpaces"] = product.Fields["Product Group Name"].Value.ToString().Replace(" ", "").ToLower(); } if (ndc != null) { dRow["ProductID"] = ndc.ID.ToString(); } dRow["WholeSaler"] = String.Empty; dRow["WholeSalerName"] = String.Empty; if (!String.IsNullOrWhiteSpace(WholeSaler)) { dRow["WholeSalerName"] = WholeSaler; if ((ndc.Fields[WholeSaler] != null) && (!String.IsNullOrWhiteSpace(ndc.Fields[WholeSaler].Value.ToString()))) { dRow["WholeSaler"] = ndc.Fields[WholeSaler].Value.ToString(); } } dt.Rows.Add(dRow); } } DataView dv = new DataView(dt); dv.Sort = "NumericNDC ASC, ProductNameNoSpaces ASC, NumericNDC ASC"; return(dv.ToTable(true)); }