Example #1
0
        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);
            }
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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)
                                     ));
                }
            }
        }
Example #4
0
        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);
                        }
                    }
                }
            }
        }
Example #5
0
        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);
                        }
                    }
                }
            }
        }
Example #6
0
        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));
        }
Example #7
0
        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")
                                 ));
            }
        }
Example #8
0
 public static Item[] RunContentItemQuery(string query, Sitecore.Data.Database database)
 {
     return(database.SelectItems(query));
 }
Example #9
0
        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);
        }
Example #10
0
        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));
        }
Example #11
0
        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));
        }