Esempio n. 1
0
        /// <summary>
        /// 更新SEO维护
        /// </summary>
        /// <param name="item"></param>
        public void UpdateSEOInfo(SEOItem item)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("SEO_UpdateSEOMetadata");

            dc.SetParameterValue <SEOItem>(item);
            dc.ExecuteNonQuery();
        }
Esempio n. 2
0
        /// <summary>
        /// 加载SEO
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public virtual SEOItem LoadSEOInfo(int sysNo)
        {
            SEOItem item = seoDA.LoadSEOInfo(sysNo);

            item.ProductList  = seoDA.GetProductRangeBySeoSysNo(sysNo);
            item.CategoryList = seoDA.GetCategoryRangeBySeoSysNo(sysNo);
            return(item);
        }
Esempio n. 3
0
        /// <summary>
        /// 添加SEO维护
        /// </summary>
        /// <param name="item"></param>
        public SEOItem AddSEOInfo(SEOItem item)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("SEO_InsertSEOMetadata");

            dc.SetParameterValue <SEOItem>(item);
            dc.ExecuteNonQuery();
            item.SysNo = Convert.ToInt32(dc.GetParameterValue("@SysNo"));
            return(item);
        }
Esempio n. 4
0
        /// <summary>
        /// 扩展生效
        /// </summary>
        /// <param name="item"></param>
        public List <SEOItem> GetCategoryMetadataByC3SysNo(SEOItem item)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("SEO_GetSEOMetadataByC3SysNo");

            dc.SetParameterValue("@PageType", item.PageType);
            dc.SetParameterValue("@C3SysNo", item.PageID);
            dc.SetParameterValue("@CompanyCode", item.CompanyCode);
            return(dc.ExecuteEntityList <SEOItem>());
        }
Esempio n. 5
0
        /// <summary>
        /// 加载SEO
        /// </summary>
        /// <param name="sysNo"></param>
        /// <returns></returns>
        public SEOItem LoadSEOInfo(int sysNo)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("SEO_GetSEOMetadata");

            dc.SetParameterValue("@SysNo", sysNo);
            DataTable dt   = dc.ExecuteDataTable <ADStatus>("Status");
            SEOItem   item = DataMapper.GetEntity <SEOItem>(dt.Rows[0]);

            return(item);
        }
Esempio n. 6
0
        /// <summary>
        /// 创建SEO的日志
        /// </summary>
        /// <param name="item"></param>
        public virtual void CreateCategoryMetadataLog(SEOItem item)
        {
            CategoryMetadataLog log = new CategoryMetadataLog();

            log.CompanyCode = item.CompanyCode;
            log.Operation   = "Create";
            log.Description = item.PageDescription.Content;
            log.CategoryMetadataInfoSysNo = item.SysNo;
            seoDA.CreateCategoryMetadataLog(log);
        }
Esempio n. 7
0
        /// <summary>
        /// 扩展生效
        /// </summary>
        /// <param name="item"></param>
        public virtual void Category3ExtendValid(SEOItem item)
        {
            var relatedECCategory3List = ObjectFactory <IECCategoryDA> .Instance.GetRelatedECCategory3SysNo(item.PageID.Value);

            foreach (var rc3 in relatedECCategory3List)
            {
                item.PageID = rc3.C3SysNo;
                if (!seoDA.CheckSEOItem(item))
                {
                    seoDA.AddSEOInfo(item);
                }
            }
        }
Esempio n. 8
0
        public string GetCNameFromCategory3(SEOItem item)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("SEO_GetCNameFromCategory3");

            cmd.SetParameterValue <SEOItem>(item);
            DataTable dt = cmd.ExecuteDataTable();

            if (dt != null && dt.Rows.Count > 0)
            {
                return(dt.Rows[0][0].ToString());
            }

            return(string.Empty);
        }
Esempio n. 9
0
        /// <summary>
        /// 判断是否存在该需要创建的对象
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool CheckSEOItem(SEOItem item)
        {
            DataCommand dc;

            if (item.SysNo > 0)
            {
                dc = DataCommandManager.GetDataCommand("SEO_CheckSEOItemByUpdate");
            }
            else
            {
                dc = DataCommandManager.GetDataCommand("SEO_CheckSEOItem");
            }

            dc.SetParameterValue <SEOItem>(item);
            return(dc.ExecuteScalar() != null);
        }
Esempio n. 10
0
        //readonly SEOCommon _seo = new SEOCommon();
        //[MinifyHtmlFilter] // nén nội dung html
        public ActionResult Index(int?pageId, int cateId = 0, string slug = "home", string tag = "")
        {
            //var domain = Request.Url.Authority;
            //if (!string.IsNullOrEmpty(domain) && "localhost:2163" != domain)
            //{
            //    var lw = domain.Split('.');
            //    var key = lw[0];
            //    var address8 = new Uri(Request.Url.AbsoluteUri);
            //    if (key.ToLower() == "www")
            //    {
            //        var u = "https://" + domain.Substring(4, domain.Length - 4) + Request.Url.AbsolutePath;
            //        return Redirect(u);
            //    }
            //    if (Uri.UriSchemeHttps != address8.Scheme)
            //    {
            //        var u = "https://" + domain + Request.Url.AbsolutePath;
            //        return Redirect(u);
            //    }
            //}
            var seo = new SEOItem();

            if (tag.Equals("tag"))
            {
                seo    = _selBL.GetSeoTag(slug);
                pageId = int.Parse(WebConfig.NewsId);
            }
            if (slug == "home")
            {
                seo = _selBL.GetSeoPage(2);
            }

            var model = pageId != null?_pageDa.GetById((int)pageId) : _pageDa.GetBykey(slug);

            model.SeoItem = seo;
            //if (model == null || !WebConfig.LstLang.Contains(lang))
            //{
            //    return Redirect("/");
            //}
            //Config.BeginRequest(lang);
            return(PartialView(model));
        }
Esempio n. 11
0
 public virtual void UpdateSEOInfo(SEOItem item)
 {
     seoItemAppService.UpdateSEOInfo(item);
 }
Esempio n. 12
0
        public virtual QueryResult QuerySEO(SEOQueryFilter filter)
        {
            int       totalCount;
            DataTable dataTable = ObjectFactory <ISEOQueryDA> .Instance.QuerySEO(filter, out totalCount);

            List <CodeNamePair> pair = ObjectFactory <PageTypeAppService> .Instance.GetPageType(filter.CompanyCode, filter.ChannelID.ToString(), ModuleType.SEO);

            //foreach (DataRow dr in dataTable.Rows)
            //{
            //    foreach (CodeNamePair p in pair)
            //    {
            //        if (dr["PageType"].ToString() == p.Code)
            //        {

            //            PageResult pr = ObjectFactory<PageTypeAppService>.Instance.GetPage(filter.CompanyCode, filter.ChannelID.ToString(), ModuleType.SEO, p.Code);
            //            if(pr.PageList!=null && pr.PageList.Count>0)
            //                dr["PageIDName"] = pr.PageList[0].PageName;
            //            dr["PageTypeName"] = p.Name;
            //            //还需要转换页面名称
            //        }
            //    }
            //}

            foreach (DataRow dr in dataTable.Rows)
            {
                SEOItem item = new SEOItem();
                item.PageType    = int.Parse(dr["PageType"].ToString());
                item.PageID      = int.Parse(dr["PageID"].ToString());
                item.CompanyCode = dr["CompanyCode"].ToString();
                foreach (CodeNamePair p in pair)
                {
                    if (dr["PageType"].ToString() == p.Code)
                    {
                        dr["PageTypeName"] = p.Name;
                    }
                }
                switch (int.Parse(dr["PageType"].ToString()))
                {
                case 1:
                    dr["PageIDName"] = seoItemAppService.GetCNameFromCategory1(item);
                    break;

                case 2:
                    dr["PageIDName"] = seoItemAppService.GetCNameFromCategory2(item);
                    break;

                case 3:
                    dr["PageIDName"] = seoItemAppService.GetCNameFromCategory3(item);
                    break;

                case 4:
                    dr["PageIDName"] = seoItemAppService.GetBrandName(item);
                    break;

                case 5:
                    dr["PageIDName"] = seoItemAppService.GetSaleAdvertisement(item);
                    break;

                case 9:
                    dr["PageIDName"] = seoItemAppService.GetBrandNameSpe(item);
                    break;

                case 29:
                    dr["PageIDName"] = seoItemAppService.GetVendorName(item);
                    break;
                }
            }
            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
Esempio n. 13
0
        /// <summary>
        /// 添加SEO维护
        /// </summary>
        /// <param name="item"></param>
        public virtual void AddSEOInfo(SEOItem item)
        {
            if (item == null)
            {
                throw new BizException(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_CreatedObjectISNull"));
            }
            else if (item.PageType.Value == 0)
            {
                item.PageID = 0;
            }
            if (!string.IsNullOrEmpty(item.PageTitle) && item.PageTitle.Length > 500)
            {
                throw new BizException(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_MaxTitleLength"));
            }
            else if (!string.IsNullOrEmpty(item.PageKeywords.Content) && item.PageKeywords.Content.Length > 1000)
            {
                throw new BizException(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_MaxPageKeywordsLength"));
            }
            else if (!string.IsNullOrEmpty(item.PageAdditionContent) && item.PageAdditionContent.Length > 2000)
            {
                throw new BizException(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_MaxPageAdditionContentLength"));
            }
            else if (!string.IsNullOrEmpty(item.PageDescription.Content) && item.PageDescription.Content.Length > 2000)
            {
                throw new BizException(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_MaxPageDescriptionLength"));
            }
            if (item.PageType != 25)
            {
                if (item.Status == ADStatus.Active && seoDA.CheckSEOItem(item))
                {
                    throw new BizException(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_ExsitTheObject"));
                }
            }

            using (TransactionScope scope = new TransactionScope())
            {
                List <SeoCategory>    CategordList = new List <SeoCategory>();
                List <SeoProductItem> productList  = new List <SeoProductItem>();
                int pageid = item.PageID.Value;
                if (item.IsExtendValid == true && item.Status == ADStatus.Active && item.PageType.Value == 3 && item.PageID.Value != -1)
                {
                    Category3ExtendValid(item);
                }
                item.PageID = pageid;
                item        = seoDA.AddSEOInfo(item);
                CreateCategoryMetadataLog(item);
                seoDA.DeletetProductRangeBySysNo(item.SysNo);
                foreach (var c in item.CategoryList)
                {
                    if (seoDA.IsExistsCategory(c.SysNo))
                    {
                        seoDA.CreateProductRange(item.SysNo, item.User.UserName, CategorySysNo: c.SysNo);
                    }
                    else
                    {
                        CategordList.Add(c);
                    }
                }
                foreach (var p in item.ProductList)
                {
                    if (seoDA.IsExistsProductByProductId(p.ProductId))
                    {
                        seoDA.CreateProductRange(item.SysNo, item.User.UserName, productId: p.ProductId);
                    }
                    else
                    {
                        productList.Add(p);
                    }
                }
                if (productList.Count > 0)
                {
                    //throw new BizException(string.Format("商品{0}不存在!", (from p in productList select p.ProductId).ToList().Join("\r")));
                    throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_NotExsitTheProduct"), (from p in productList select p.ProductId).ToList().Join("\r")));
                }
                if (CategordList.Count > 0)
                {
                    //throw new BizException(string.Format("类别{0}不存在!", (from p in CategordList select p.CategoryName).ToList().Join("\r")));
                    throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.SEOInfo", "SEOInfo_NotExsitTheCategory"), (from p in CategordList select p.CategoryName).ToList().Join("\r")));
                }
                scope.Complete();
            }
        }
Esempio n. 14
0
 public virtual string GetCNameFromCategory3(SEOItem item)
 {
     return(seoDA.GetCNameFromCategory3(item));
 }
Esempio n. 15
0
 public virtual string GetBrandName(SEOItem item)
 {
     return(ObjectFactory <SEOItemProcessor> .Instance.GetBrandName(item));
 }
Esempio n. 16
0
 public virtual string GetSaleAdvertisement(SEOItem item)
 {
     return(seoDA.GetSaleAdvertisement(item));
 }
Esempio n. 17
0
 public virtual string GetVendorName(SEOItem item)
 {
     return(seoDA.GetVendorName(item));
 }
Esempio n. 18
0
 /// <summary>
 /// 添加SEO维护
 /// </summary>
 /// <param name="item"></param>
 public void AddSEOInfo(SEOItem item)
 {
     ObjectFactory <SEOItemProcessor> .Instance.AddSEOInfo(item);
 }
Esempio n. 19
0
        /// <summary>
        /// 更新SEO维护
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="callback"></param>
        public void UpdateSEOInfo(SEOItem item, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            string relativeUrl = "/MKTService/SEOInfo/UpdateSEOInfo";

            restClient.Update(relativeUrl, item, callback);
        }
Esempio n. 20
0
 /// <summary>
 /// 更新SEO维护
 /// </summary>
 /// <param name="item"></param>
 public void UpdateSEOInfo(SEOItem item)
 {
     ObjectFactory <SEOItemProcessor> .Instance.UpdateSEOInfo(item);
 }
Esempio n. 21
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (!ValidationManager.Validate(this.LayoutRoot))
            {
                return;
            }
            //vm = LayoutRoot.DataContext as SEOMetadataVM;
            vm.PageType = ucPageType.PageType;
            if (vm.PageType == 0)
            {
                vm.PageID = ucPageType.PageID ?? 0;
            }
            else
            {
                vm.PageID = ucPageType.PageID ?? -1;
            }

            vm.IsExtendValid = ucPageType.IsExtendValid;
            //if (vm.PageType > 0 && (vm.PageID == null||vm.PageID==-1)&&vm.PageType!=25)
            //{
            //    CPApplication.Current.CurrentPage.Context.Window.Alert("没有选择页面!",MessageType.Error);
            //    return;
            //}
            if (vm.PageType.HasValue)
            {
                SEOItem item = EntityConvertorExtensions.ConvertVM <SEOMetadataVM, SEOItem>(vm, (v, t) =>
                {
                    t.PageDescription = new BizEntity.LanguageContent(ConstValue.BizLanguageCode, v.PageDescription);
                    t.PageKeywords    = new BizEntity.LanguageContent(ConstValue.BizLanguageCode, v.PageKeywords);
                });
                if (!CheckCategoryInput(seoProductDetail.CategoryResult))
                {
                    CPApplication.Current.CurrentPage.Context.Window.Alert("类别输入格式不正确!\r格式为:[正整数]字符,ps:[123]abc!");
                    return;
                }
                item.ProductList  = new List <SeoProductItem>();
                item.CategoryList = GetSeoCategoryList(seoProductDetail.CategoryResult);
                seoProductDetail.ProductResult.Split('\r').ToList().ForEach(s => { if (!string.IsNullOrEmpty(s))
                                                                                   {
                                                                                       item.ProductList.Add(new SeoProductItem()
                        {
                            ProductId = s
                        });
                                                                                   }
                                                                            });
                item.CompanyCode = CPApplication.Current.CompanyCode;
                item.User        = new BizEntity.Common.UserInfo()
                {
                    UserName = CPApplication.Current.LoginUser.LoginName, SysNo = CPApplication.Current.LoginUser.UserSysNo
                };
                if (isAdd)
                {
                    facade.AddSEOInfo(item, (obj, args) =>
                    {
                        if (args.FaultsHandle())
                        {
                            return;
                        }
                        CloseDialog(DialogResultType.OK);
                        CPApplication.Current.CurrentPage.Context.Window.Alert(ResNewsInfo.Information_CreateSuccessful, Newegg.Oversea.Silverlight.Controls.Components.MessageType.Information);
                    });
                }
                else
                {
                    item.SysNo = SysNo;
                    facade.UpdateSEOInfo(item, (obj, args) =>
                    {
                        if (args.FaultsHandle())
                        {
                            return;
                        }
                        CloseDialog(DialogResultType.OK);
                        CPApplication.Current.CurrentPage.Context.Window.Alert(ResNewsInfo.Information_UpdateSuccessful, Newegg.Oversea.Silverlight.Controls.Components.MessageType.Information);
                    });
                }
            }
            else
            {
                CPApplication.Current.CurrentPage.Context.Window.Alert(ResNewsInfo.Information_NeedPageType, Newegg.Oversea.Silverlight.Controls.Components.MessageType.Information);
            }
        }
Esempio n. 22
0
 public virtual string GetCNameFromCategory3(SEOItem item)
 {
     return(ObjectFactory <SEOItemProcessor> .Instance.GetCNameFromCategory3(item));
 }
Esempio n. 23
0
 public virtual void AddSEOInfo(SEOItem item)
 {
     seoItemAppService.AddSEOInfo(item);
 }
Esempio n. 24
0
 public virtual string GetBrandName(SEOItem item)
 {
     return(seoDA.GetBrandName(item));
 }
Esempio n. 25
0
 public virtual string GetSaleAdvertisement(SEOItem item)
 {
     return(ObjectFactory <SEOItemProcessor> .Instance.GetSaleAdvertisement(item));
 }