Esempio n. 1
0
    public static void GetTaxMain(Model_PostTaxonomy parameters)
    {
        //Model_Post p = new Model_Post { PostTypeID = 1 };
        List <Model_PostTaxonomy> ret = parameters.GetTaxonomyByIDMain(parameters);


        AppTools.SendResponse(HttpContext.Current.Response, ret.ObjectToJSON());
    }
Esempio n. 2
0
    protected void linkrestore_Click(object sender, EventArgs e)
    {
        int TaxID = int.Parse(Request.QueryString["TaxID"]);

        Model_PostTaxonomy tax = new Model_PostTaxonomy();

        if (tax.UPdateTaxonomyTrash(TaxID, true))
        {
            Response.Redirect(Request.Url.ToString());
        }
    }
Esempio n. 3
0
    protected void linktrash_Click(object sender, EventArgs e)
    {
        int  TaxTypeID     = int.Parse(this.TaxTypeID);
        byte intPostTypeID = byte.Parse(this.PostTypeID);
        int  TaxID         = int.Parse(Request.QueryString["TaxID"]);

        Model_PostTaxonomy tax = new Model_PostTaxonomy();

        if (tax.UPdateTaxonomyTrash(TaxID, false))
        {
            Response.Redirect("TaxonomyEdit?PostTypeID=" + intPostTypeID + "&TaxTypeID=" + TaxTypeID);
        }
    }
Esempio n. 4
0
    public static void UpdateTaxPri(dynamic parameters)
    {
        bool ret = false;

        var dd = HttpUtility.ParseQueryString(parameters["formreq"]);

        // string data = parameters["formreq"];

        //dynamic dd =  JsonHelper.JsonTODynamic(data);

        var dict = HttpUtility.ParseQueryString(parameters["formreq"]);

        var check = dict["check_pri"];

        if (!string.IsNullOrEmpty(check))
        {
            Model_PostTaxonomy cTax = new Model_PostTaxonomy();

            string[] arrcheck = check.Split(',');
            foreach (string i in arrcheck)
            {
                ret = cTax.UpdateTaxonomyPri(int.Parse(i), int.Parse(dict["pri_" + i]));
            }
        }



        bool   success = false;
        string msg     = "no";

        if (ret)
        {
            success = true;
            msg     = "Insert Completed";
        }


        string res = (new BaseWebMethodAJax
        {
            success = success,
            msg = msg
        }).ObjectToJSON();

        AppTools.SendResponse(HttpContext.Current.Response, res);
    }
Esempio n. 5
0
    public void InsertMode()
    {
        int lv     = 0;
        int Taxref = int.Parse(dropParent.SelectedValue);

        if (Taxref > 0)
        {
            Model_PostTaxonomy t = new Model_PostTaxonomy();
            lv = t.GetTaxonomyByID(Taxref).Lv + 1;
        }
        else
        {
            lv = Taxref + 1;
        }

        Model_PostTaxonomy tax = new Model_PostTaxonomy
        {
            PostTypeID         = byte.Parse(this.PostTypeID),
            TaxTypeID          = byte.Parse(this.TaxTypeID),
            Title              = txtTitle.Text.Trim(),
            RefID              = Taxref,
            Lv                 = lv,
            Slug               = txtTitle.Text.GenerateSlug(),
            DateSubmit         = DatetimeHelper._UTCNow(),
            UserID             = this.UserActive.UserID,
            DatePublish        = DatetimeHelper._UTCNow(),
            BodyContent        = txtContent.Text.Trim(),
            BodyContentBuilder = txtContentBuilder.Text.Trim(),
            Status             = true,
            BannerTypeID       = byte.Parse(CoverType.Value),
            ShowMasterSlider   = bool.Parse(radioshowmMS.SelectedValue),
            ViewCount          = 0,
        };

        int TaxID = tax.InsertTaxonomy(tax);

        if (TaxID > 0)
        {
            Response.Redirect("Taxonomy.aspx?TaxTypeID=" + this.TaxTypeID + "&PostTypeID=" + this.PostTypeID + "&Mode=Edit&TaxID=" + TaxID);
        }
    }
    private string GenerateHeaderBannerAndSlider(Model_Post post, Model_PostTaxonomy tax = null)
    {
        string ret = string.Empty;

        //case Post
        //The Post Can Manange Show Master Slide Or Type of Banner cover page.
        if (post != null)
        {
            if (post.ShowMasterSlider)
            {
                ret = Slider();
            }
            else
            {
                ret = breadcrumb(post.BannerTypeID);
            }
            if (post.BannerTypeID == 1)
            {
                ret = ret.Replace("<!--##THE_TITLE##-->", post.Title);
            }

            List <Model_PostMedia> pml = post.PostMedia;

            Model_PostMedia pm = pml.SingleOrDefault(m => m.PostMediaTypeID == PostMediaType.CoverImage);
            if (pm != null)
            {
                ret = ret.Replace("<!--##THE_COVER##-->", pm.MediaFullPath);
            }
        }
        else
        {
            //case Archive Page
            // Can display Title postype name only.
            if (tax != null)
            {
                if (tax.ShowMasterSlider)
                {
                    ret = Slider();
                }
                else
                {
                    ret = breadcrumb(tax.BannerTypeID);
                }

                if (tax.BannerTypeID == 1)
                {
                    ret = ret.Replace("<!--##THE_TITLE##-->", tax.Title);
                }

                List <Model_TaxMedia> pml = tax.TaxMedia;

                Model_TaxMedia pm = pml.SingleOrDefault(m => m.TaxMediaTypeID == TaxMediaType.CoverImage);
                if (pm != null)
                {
                    ret = ret.Replace("<!--##THE_COVER##-->", pm.MediaFullPath);
                }
            }
            else
            {
                ret = breadcrumb(2);
            }
        }


        return(ret);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //Response.Write(HttpUtility.UrlDecode(Request.Url.AbsolutePath)));Response.End();
        if (!this.Page.IsPostBack)
        {
            string Pagetitle       = string.Empty;
            string Pagedescription = string.Empty;
            string canonical       = string.Empty;
            string fb_localte      = string.Empty;
            string fb_type         = string.Empty;
            string fb_title        = string.Empty;
            string fb_des          = string.Empty;
            string fb_url          = string.Empty;
            string fb_site_name    = string.Empty;
            string fb_image        = string.Empty;

            string tw_card  = string.Empty;
            string tw_title = string.Empty;
            string tw_des   = string.Empty;
            string tw_image = string.Empty;


            string analytic        = string.Empty;
            bool   Metarobotfollow = false;

            Model_SiteInfo    st      = new Model_SiteInfo();
            Model_MainSetting setting = new Model_MainSetting();
            setting = setting.GetMainSetting();



            Model_PageEngine PageEngine = new Model_PageEngine();
            PageEngine.SiteInfo    = st.GetSiteInfo();
            PageEngine.MainSetting = setting;
            Model_PostType     cPostType   = new Model_PostType();
            Model_Post         post        = new Model_Post();
            Model_Menu         m           = new Model_Menu();
            Model_PostTaxonomy tax         = new Model_PostTaxonomy();
            List <Model_Post>  postArchive = new List <Model_Post>();
            Model_Archive      archive     = new Model_Archive();

            PageEngine.NavMenu    = m.GetMenuAll(1);
            PageEngine.FooterMenu = m.GetMenuAll(2);

            //string[] dd = { "fixed-sidebar", "no-skin-config", "full-height-layout" };
            //StyleCore dd = new StyleCore();
            //StyleCore.arrayClass = dd;


            //Set Setting to MasterPage Class
            Master.PageEngine = PageEngine;



            byte   bytPostTypeID = 0;
            string StrPost_slug  = string.Empty;
            int    intPostID     = 0;


            string RouteSlug_1       = Page.RouteData.Values["Param1"] as string;
            string RouteSlug_2       = Page.RouteData.Values["Param2"] as string;
            string RouteSlug_3       = Page.RouteData.Values["Param3"] as string;
            string RouteSlug_4       = Page.RouteData.Values["Param4"] as string;
            string RouteSlug_5       = Page.RouteData.Values["Param5"] as string;
            Model_PostCustomItem pct = new Model_PostCustomItem();

            //Case Route Slug
            if (!string.IsNullOrEmpty(RouteSlug_1))
            {
                //1. Check Is Archive

                archive = archive.GetPostArchive(RouteSlug_1);


                if (archive != null)
                {
                    //Is Archive
                    bytPostTypeID = archive.PostTypeID;
                    StrPost_slug  = (string.IsNullOrEmpty(archive.Slug) ? archive.PostTypeSlug : archive.Slug);

                    //postArchive = CmsController.GetPostArchive(bytPostTypeID);

                    //Check  PostType Archive
                    switch (StrPost_slug)
                    {
                    case "hotelworld-products":
                        //check Route Param2
                        if (string.IsNullOrEmpty(RouteSlug_2))
                        {
                            //Case Product Page Archive
                            SectionProductArchive.Visible = true;

                            cPostType = cPostType.GetPostTypeBySlug(StrPost_slug);
                            if (cPostType != null)
                            {
                                //product-type = 24
                                this.TaxForPostType = tax.FrontGetTaxonomyByID(24);

                                if (this.TaxForPostType != null)
                                {
                                    this.TaxList = tax.FrontGetTaxonomyByRefID(24);
                                }
                            }
                        }
                        else
                        {
                            //check Is Paging of Product Page Archive
                            if (RouteSlug_2 == "page")
                            {
                                //Case Archive Paging
                                SectionProductArchive.Visible = true;
                                string pageno = RouteSlug_3;
                            }
                            else if (RouteSlug_2 == "category" || RouteSlug_2 == "tag")
                            {
                                //Tax Archive

                                tax = tax.GetTaxBySlugAndPostType(RouteSlug_3, bytPostTypeID);
                                if (tax != null)
                                {
                                    //case Tax approve
                                    SectionProductTaxArchive.Visible = true;
                                    this.TaxForPostType = tax;
                                    this.TaxList        = tax.GetTaxonomyTaxTypeAndPostType_withcountpost(bytPostTypeID, (byte)PostTaxonomyType.Categories);
                                    this.ContentBody    = tax.BodyContent;
                                    //Case tax Archive Paging
                                    if (RouteSlug_4 == "page")
                                    {
                                        string pageno = RouteSlug_5;

                                        //Do something with paging
                                    }
                                }
                            }
                            else
                            {
                                //Check Product SinglePage
                                post = CmsController.GetPostSlug(RouteSlug_2, PostType.Products);
                                if (post != null)
                                {
                                    SectionProductSingle.Visible = true;
                                    this.PostDataUI       = post;
                                    this.ContentBody      = post.BodyContent;
                                    this.PageContentTitle = post.Title;
                                    this.CTF = pct.GetItemCustomByPostID(post.PostID);
                                }
                            }
                        }


                        break;

                    case "ข่าวสาร":

                        //check Route Param2
                        if (string.IsNullOrEmpty(RouteSlug_2))
                        {
                            //Case Product Page Archive
                            SectionBlogPageArchive.Visible = true;
                        }
                        else
                        {
                            //check Is Paging of Product Page Archive
                            if (RouteSlug_2 == "page")
                            {
                                //Case Archive Paging
                                SectionBlogPageArchive.Visible = true;
                                string pageno = RouteSlug_3;
                            }
                            else if (RouteSlug_2 == "category" || RouteSlug_2 == "tag")
                            {
                                //Tax Archive

                                tax = tax.GetTaxBySlugAndPostType(RouteSlug_3, bytPostTypeID);
                                if (tax != null)
                                {
                                    //case Tax approve
                                    //Same layout with blog archive
                                    // SectionBlogPageTaxArchive.Visible = true;
                                    SectionBlogPageArchive.Visible = true;

                                    //Case tax Archive Paging
                                    if (RouteSlug_4 == "page")
                                    {
                                        string pageno = RouteSlug_5;

                                        //Do something with paging
                                    }
                                }
                            }
                            else
                            {
                                //Check Product SinglePage
                                post = CmsController.GetPostSlug(RouteSlug_2, PostType.Blog);
                                if (post != null)
                                {
                                    SectionBlogPageSingle.Visible = true;
                                }
                            }
                        }

                        break;
                    }
                    HeaderSection.Text = GenerateHeaderBannerAndSlider(post, tax);
                }
                else
                {
                    //Case PostType Page
                    StrPost_slug = RouteSlug_1;
                    post         = CmsController.GetPostSlug(StrPost_slug, PostType.Pages);

                    if (post != null)
                    {
                        bytPostTypeID = post.PostTypeID;
                        intPostID     = post.PostID;

                        //page_header.Visible = true;

                        if (StrPost_slug == "checkout")
                        {
                            section_checkout_page.Visible = true;
                        }
                        else
                        {
                            page_content.Visible = true;
                        }



                        HeaderSection.Text    = GenerateHeaderBannerAndSlider(post);
                        this.PostDataUI       = post;
                        this.ContentBody      = post.BodyContent;
                        this.PageContentTitle = post.Title;
                    }
                }


                // content.Text = post.BodyContent;
            }
            else
            {
                //Case HomePage No Slug
                //Get PostID From Setting HomePage Slug

                intPostID = setting.HomePagePostID;
                post      = CmsController.GetPostByID(intPostID);

                if (post != null)
                {
                    StrPost_slug = post.Slug;

                    bytPostTypeID      = post.PostTypeID;
                    HeaderSection.Text = GenerateHeaderBannerAndSlider(post);


                    this.CTF = pct.GetItemCustomByPostID(intPostID);


                    // content.Text = post.BodyContent;
                    this.PostDataUI           = post;
                    this.ContentBody          = post.BodyContent;
                    this.PageContentTitle     = post.Title;
                    section_page_home.Visible = true;


                    home_content.Text = this.ContentBody;
                }
            }

            //= null;
            Model_PostSeo posttype_postseo = new Model_PostSeo();
            Model_PostSeo tax_postseo      = new Model_PostSeo();
            Model_PostSeo post_postseo     = new Model_PostSeo();
            if (bytPostTypeID != 0)
            {
                cPostType        = cPostType.GetPostTypeByID(bytPostTypeID);
                posttype_postseo = cPostType.PosTypetSEO;
            }


            if (tax != null)
            {
                tax_postseo = tax.TaxSEO;
            }

            if (post != null)
            {
                post_postseo = post.PostSEO;
            }


            Pagetitle       = checklv(posttype_postseo, tax_postseo, post_postseo, "SEOTitle");
            Pagedescription = checklv(posttype_postseo, tax_postseo, post_postseo, "MetaDescription");
            canonical       = checklv(posttype_postseo, tax_postseo, post_postseo, "CanonicalUrl");
            fb_localte      = setting.htmlTagSiteLang;
            fb_type         = "website";
            fb_title        = checklv(posttype_postseo, tax_postseo, post_postseo, "FaceBookTitle");
            fb_des          = checklv(posttype_postseo, tax_postseo, post_postseo, "FacebookDescription");
            fb_url          = Request.Url.ToString();
            fb_site_name    = PageEngine.SiteInfo.Slogan;
            fb_image        = checklv(posttype_postseo, tax_postseo, post_postseo, "FacebookImage");
            tw_card         = "summary";
            tw_title        = checklv(posttype_postseo, tax_postseo, post_postseo, "TwitterTitle");
            tw_des          = checklv(posttype_postseo, tax_postseo, post_postseo, "TwitterDescription");
            tw_image        = checklv(posttype_postseo, tax_postseo, post_postseo, "TwitterImages");

            analytic = checklv(posttype_postseo, tax_postseo, post_postseo, "GoogleAnalytic");

            Metarobotfollow = checklv_bool(posttype_postseo, tax_postseo, post_postseo, "Metarobotsfollow");

            this.Page.Title = string.IsNullOrEmpty(Pagetitle) ? setting.WebSiteTitle : Pagetitle;

            var MetaDescription = new HtmlMeta {
                Name = "description", Content = Pagedescription
            };
            Header.Controls.Add(MetaDescription);

            var MetaFB_locate = new HtmlMeta {
                Name = "og:locale", Content = fb_localte
            };
            Header.Controls.Add(MetaFB_locate);

            var MetaFB_Type = new HtmlMeta {
                Name = "og:type", Content = fb_type
            };
            Header.Controls.Add(MetaFB_Type);

            var MetaFB_title = new HtmlMeta {
                Name = "og:title", Content = !string.IsNullOrEmpty(fb_title)? fb_title :   string.IsNullOrEmpty(Pagetitle) ? setting.WebSiteTitle : Pagetitle
            };
            Header.Controls.Add(MetaFB_title);


            var MetaFB_Des = new HtmlMeta {
                Name = "og:description", Content = !string.IsNullOrEmpty(fb_des) ? fb_des: Pagedescription
            };
            Header.Controls.Add(MetaFB_Des);

            var MetaFB_Url = new HtmlMeta {
                Name = "og:url", Content = fb_url
            };
            Header.Controls.Add(MetaFB_Url);

            var MetaFB_SiteName = new HtmlMeta {
                Name = "og:site_name", Content = fb_site_name
            };
            Header.Controls.Add(MetaFB_SiteName);

            var MetaFB_image = new HtmlMeta {
                Name = "og:image", Content = fb_image
            };
            Header.Controls.Add(MetaFB_image);

            var MetaTW_Card = new HtmlMeta {
                Name = "twitter:card", Content = tw_card
            };
            Header.Controls.Add(MetaTW_Card);

            var MetaTW_Des = new HtmlMeta {
                Name = "twitter:description", Content = tw_des
            };
            Header.Controls.Add(MetaTW_Des);
            var MetaTW_Title = new HtmlMeta {
                Name = "twitter:title", Content = tw_title
            };
            Header.Controls.Add(MetaTW_Title);
            var Meta_Image = new HtmlMeta {
                Name = "twitter:image", Content = tw_image
            };
            Header.Controls.Add(Meta_Image);
        }
    }
Esempio n. 8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Page.IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["PostID"]))
            {
                int        PostID = int.Parse(Request.QueryString["PostID"]);
                Model_Post p      = new Model_Post();

                p = p.GetPostByID(PostID);
                if (p != null)
                {
                    //string btnEdit = "<select name=\"content_status\" class=\"form-control\"><option "+ (p.Status ? "Selected=\"Selected\"" : "") + " value=\"True\" >Publish</option><option "+ (!p.Status ? "Selected=\"Selected\"" : "") + " value=\"False\">Draft</option></select>";
                    dropStatus.SelectedValue = p.Status.ToString();
                    //"<label>" + (p.Status ? "Published" : "Draft") + "</label>" +

                    lbldatepublish.Text = p.DatePublish.ToThaiDateTime().ToString("dd MMM yyyy HH:mm tt");

                    txtTitle.Text   = p.Title;
                    txtContent.Text = p.BodyContent;

                    txtContentBuilder.Text = p.BodyContentBuilder;
                    //Model_MainSetting setting = new Model_MainSetting();
                    //setting = setting.GetMainSetting();

                    url.Text       = this.MainSetting.WebSiteURL + (p.PostTypeID != 1 ? p.PostTypeClass.Slug + "/" : string.Empty);
                    slug.Text      = p.Slug;
                    viewcount.Text = p.ViewCount.ToString();

                    if (p.Trash)
                    {
                        linktrash.Visible   = true;
                        linkrestore.Visible = false;
                    }
                    else
                    {
                        linktrash.Visible   = false;
                        linkrestore.Visible = true;
                    }



                    CoverType.Value            = p.BannerTypeID.ToString();
                    radioshowmMS.SelectedValue = p.ShowMasterSlider.ToString();

                    if (p.PostSEO != null)
                    {
                        Model_PostSeo seo = p.PostSEO;

                        seotitle.Text           = seo.SEOTitle;
                        metades.Text            = seo.MetaDescription;
                        Canonical.Text          = seo.CanonicalUrl;
                        droprebot.SelectedValue = seo.Metarobotsfollow.ToString();
                        facebookTitle.Text      = seo.FaceBookTitle;
                        facebookDes.Text        = seo.FacebookDescription;
                        facebookImg.Value       = seo.FacebookImage;
                        twTitle.Text            = seo.TwitterTitle;
                        twDes.Text    = seo.TwitterDescription;
                        twimg.Value   = seo.TwitterImages;
                        analytic.Text = seo.GoogleAnalytic;
                    }

                    if (p.PostMedia.Count > 0)
                    {
                        Model_PostMedia cover = p.PostMedia.FirstOrDefault(r => r.PostID == PostID && r.PostMediaTypeID == PostMediaType.CoverImage);
                        if (cover != null)
                        {
                            hd_MID.Value      = cover.MID.ToString();
                            CoverImage1.Value = cover.MediaFullPath;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();
                        }

                        Model_PostMedia feature = p.PostMedia.FirstOrDefault(r => r.PostID == PostID && r.PostMediaTypeID == PostMediaType.FeatureImage);
                        if (feature != null)
                        {
                            feature_image_mid.Value = feature.MID.ToString();
                            feature_image_url.Value = feature.MediaFullPath;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();
                        }
                    }


                    //Chcek Defaul Postype Field Charactor
                    //if PostType = product
                    if (p.PostTypeID == (byte)PostType.Products)
                    {
                        Model_TaxMap        ctm     = new Model_TaxMap();
                        List <Model_TaxMap> ctm_cat = ctm.GetTaxByPostIDandTaxType(PostID, (byte)PostTaxonomyType.Categories);
                        List <Model_TaxMap> ctm_tag = ctm.GetTaxByPostIDandTaxType(PostID, (byte)PostTaxonomyType.Tags);

                        pn_product_default.Visible = true;
                        Model_PostTaxonomy pt = new Model_PostTaxonomy
                        {
                            PostTypeID = p.PostTypeID,
                            TaxTypeID  = (byte)PostTaxonomyType.Categories
                        };
                        List <Model_PostTaxonomy> Taxlist = pt.GetTaxonomyActiveOnly(pt);
                        CategoryTax.Text = getCatProduct(Taxlist, ctm_cat);
                        Model_PostTaxonomy pttags = new Model_PostTaxonomy
                        {
                            PostTypeID = p.PostTypeID,
                            TaxTypeID  = (byte)PostTaxonomyType.Tags
                        };
                        List <Model_PostTaxonomy> TaxlistTags = pt.GetTaxonomyActiveOnly(pttags);
                        TagsTax.Text = getTagsProductList(TaxlistTags, ctm_tag);

                        List <Model_PostMedia> gall = p.PostMedia.Where(r => r.PostID == PostID && r.PostMediaTypeID == PostMediaType.Gallery).ToList();
                        if (gall.Count() > 0)
                        {
                            string ele = string.Empty;
                            foreach (Model_PostMedia m in gall)
                            {
                                string mid = m.MID.ToString();


                                ele += "<div class=\"media_item_box_gall\" id=\"media_item_box_gall_" + mid + "\" style=\"margin-top:5px;\">";
                                ele += "<label class=\"box_media_fucus_block\" onclick=\"return false;\" style=\"background-image: url(" + m.MediaFullPath + ");\"><button data-idmediab=\"media_item_box_8\" onclick=\"removeMedia_gall(this);\" class=\"btn btn-warning btn-circle btn-media-focus\" type=\"button\"><i class=\"fa fa-times\"></i></button></label>";
                                ele += "<input type=\"checkbox\" checked=\"checked\" name=\"checkGall\" style=\"display:none;\"  value=\"" + mid + "\">";
                                ele += "<input type=\"hidden\" name=\"p_gall_" + mid + "\" id=\"p_gall_" + mid + "\" value=\"" + m.MediaFullPath + "\">";
                                ele += "<input type=\"hidden\" name=\"p_gall_mid" + mid + "\" id=\"p_gall_mid" + mid + "\" value=\"" + mid + "\">";
                                ele += "<input type=\"hidden\" name=\"p_gall_pri" + mid + "\" id=\"p_gall_pri" + mid + "\"value=\"" + m.Priority + "\">";
                                ele += "</div>";
                            }

                            //hd_MID.Value = cover.MID.ToString();
                            //CoverImage1.Value = this.MainSetting.WebSiteURL + cover.MediaFullPath;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();

                            gal_server.Text = ele;
                        }


                        //check price for product
                        Model_PostPricing        pp  = new Model_PostPricing();
                        List <Model_PostPricing> ppl = pp.GetPostPriceAllByPostID(PostID);
                        if (ppl.Count < 1)
                        {
                            pp.PostID     = PostID;
                            pp.Isvat      = true;
                            pp.Price      = 0.0m;
                            pp.PostTypeID = (byte)PostType.Products;
                            pp.Title      = string.Empty;
                            int priceid = pp.InsertPrice(pp);
                            hd_productPrice_id.Value = priceid.ToString();
                            pp = pp.GetPostPriceAllByID(priceid);
                            priceVat.SelectedValue = pp.Isvat.ToString();
                            txtPriceTitle.Text     = pp.Title;
                            txtProductPrice.Text   = pp.Price.ToString("#,##0.00");
                        }
                        else
                        {
                            pp = ppl[0];
                            hd_productPrice_id.Value = pp.PriceID.ToString();
                            priceVat.SelectedValue   = pp.Isvat.ToString();
                            txtProductPrice.Text     = pp.Price.ToString("#,##0.00");
                            txtPriceTitle.Text       = pp.Title;
                            if (pp.PriceOPtion.Count > 0)
                            {
                                droppriceOPtion.DataSource     = pp.PriceOPtion;
                                droppriceOPtion.DataValueField = "Title";
                                droppriceOPtion.DataTextField  = "PriceOptionID";
                                droppriceOPtion.DataBind();


                                dropOptionQty.DataSource     = pp.PriceOPtionQty;
                                dropOptionQty.DataValueField = "QtyOPtionDrop";
                                dropOptionQty.DataTextField  = "QtyID";
                                dropOptionQty.DataBind();
                            }
                        }
                    }



                    //Check Cutom Post Field
                    Model_PostCustomGroup        pct     = new Model_PostCustomGroup();
                    List <Model_PostCustomGroup> pctList = pct.getCustomByPostID(PostID);

                    foreach (Model_PostCustomGroup pci in pctList)
                    {
                        switch (pci.PcGroupName)
                        {
                        case "HomeGroup":
                            pn_home_custom.Visible = true;
                            List <Model_PostCustomItem> itemList  = pci.CustomItem;
                            Model_PostCustomItem        bannerAnn = itemList.SingleOrDefault(r => r.PcName == "banner-announce");
                            if (bannerAnn != null)
                            {
                                b1_url.Value       = bannerAnn.URL;
                                b1_id.Value        = bannerAnn.MID.ToString();
                                banner_home_1.Text = bannerAnn.Caption1;
                            }



                            Model_PostCustomItem bannerright = itemList.SingleOrDefault(r => r.PcName == "banner-announce-right");
                            if (bannerright != null)
                            {
                                b2_url.Value       = bannerright.URL;
                                b2_id.Value        = bannerright.MID.ToString();
                                banner_home_2.Text = bannerright.Caption1;
                            }

                            //"banner-announce"
                            //banner-announce-right
                            //banner-client
                            drop_b_client_ret.DataSource = itemList.Where(r => r.PcName == "banner-client");
                            //drop_b_client_ret.DataTextFormatString = "{0} - {1}";
                            drop_b_client_ret.DataTextField = "MID";
                            //drop_b_client_ret.DataTextField = "Caption1";

                            drop_b_client_ret.DataValueField = "DropTextFile";
                            drop_b_client_ret.DataBind();
                            break;


                        case "ProductGroup":
                            pn_product_custom.Visible = true;
                            main_post_content.Visible = false;

                            //TagsTax



                            //bing
                            //product_detail = 1,
                            //product_information = 2,
                            //product_b_announce = 3,
                            //product_b_rigth = 4
                            //product_code = 5,
                            //product_quantity = 6,
                            //product_price_per_unit = 7

                            List <Model_PostCustomItem> ProductitemList = pci.CustomItem;
                            Model_PostCustomItem        PbannerAnn      = ProductitemList.SingleOrDefault(r => r.PcName == "product-b-announce");

                            if (PbannerAnn != null)
                            {
                                p_banner_ann_8.Value      = PbannerAnn.URL;
                                p_banner_ann_mid_8.Value  = PbannerAnn.MID.ToString();
                                p_banner_ann_caption.Text = PbannerAnn.Caption1;
                            }



                            Model_PostCustomItem Pbannerright = ProductitemList.SingleOrDefault(r => r.PcName == "product-b-rigth");
                            if (Pbannerright != null)
                            {
                                p_banner_9.Value     = Pbannerright.URL;
                                p_banner_mid_9.Value = Pbannerright.MID.ToString();
                                p_banner_rigth.Text  = Pbannerright.Caption1;
                            }


                            Model_PostCustomItem P_pro_de = ProductitemList.SingleOrDefault(r => r.PcName == "product-detail");
                            if (P_pro_de != null)
                            {
                                ProductDetail.Text = P_pro_de.ContentHTML;
                            }

                            Model_PostCustomItem P_pro_info = ProductitemList.SingleOrDefault(r => r.PcName == "product-information");
                            if (P_pro_info != null)
                            {
                                ProductInformation.Text = P_pro_info.ContentHTML;
                            }


                            //xtData = @TextData,PriceData = @PriceData,NumData = @NumData
                            Model_PostCustomItem P_pro_code = ProductitemList.SingleOrDefault(r => r.PcName == "product-code");
                            if (P_pro_code != null)
                            {
                                txtProductCode.Text = P_pro_code.TextData;
                            }
                            Model_PostCustomItem P_pro_quan = ProductitemList.SingleOrDefault(r => r.PcName == "product-quantity");
                            if (P_pro_quan != null)
                            {
                                txtProductQuantity.Text = P_pro_quan.NumData.HasValue ? P_pro_quan.NumData.ToString() : string.Empty;
                            }
                            //Model_PostCustomItem P_pro_price = ProductitemList.SingleOrDefault(r => r.PcName == "product-price-per-unit");
                            //if (P_pro_price != null)
                            //{
                            //    txtProductPrice.Text = P_pro_price.PriceData.HasValue ? ((decimal)P_pro_price.PriceData).ToString("#,###.00") : string.Empty;
                            //}


                            break;
                        }
                    }
                }
            }
        }
    }
Esempio n. 9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Page.IsPostBack)
        {
            if (this.TaxTypeID == "2")
            {
                taxParent.Visible = false;
            }

            byte intPostTypeID = byte.Parse(this.PostTypeID);
            byte intTaxTypeID  = byte.Parse(this.TaxTypeID);

            Model_PostTaxonomy pt = new Model_PostTaxonomy
            {
                PostTypeID = intPostTypeID,
                TaxTypeID  = intTaxTypeID
            };
            List <Model_PostTaxonomy> Taxlistdrop = new List <Model_PostTaxonomy>();

            List <Model_PostTaxonomy> Taxlist = pt.GetTaxonomyActiveOnly(pt);

            foreach (Model_PostTaxonomy i in Taxlist.Where(g => g.RefID == 0))
            {
                Taxlistdrop.Add(i);

                if (Taxlist.Where(f => f.RefID == i.TaxID).Count() > 0)
                {
                    Taxlistdrop.AddRange(getchild(Taxlist.Where(f => f.RefID == i.TaxID).ToList(), Taxlist, i.TaxID));
                }
            }

            Model_PostType cp = new Model_PostType();

            cp = cp.GetPostTypeByID(intPostTypeID);



            Literal hTitle = this.Page.Master.FindControl("PageTitleHeader") as Literal;
            hTitle.Text = ": " + cp.Title + "-" + (intTaxTypeID == 1 ? "Category" : "Tags");

            ListItem listitem = new ListItem("None", "0");
            if (!string.IsNullOrEmpty(this.Mode))
            {
                switch (this.Mode)
                {
                case "Add":

                    slug_form.Visible    = false;
                    btnPubish.Text       = "Add New Now";
                    tab_seo.Visible      = false;
                    tab_facebook.Visible = false;
                    tab_twitter.Visible  = false;
                    //form_status.Visible = false;
                    //form_publish.Visible = false;
                    //form_viewcount.Visible = false;
                    cover_img.Visible = false;
                    //cover_type.Visible = false;
                    //master_slider.Visible = false;



                    lbldatepublish.Text      = "----";
                    dropStatus.SelectedValue = "True";
                    viewcount.Text           = "0";


                    dropParent.DataSource     = Taxlistdrop;
                    dropParent.DataValueField = "TaxID";
                    dropParent.DataTextField  = "TitleLevel";
                    dropParent.DataBind();


                    linkrestore.Visible = false;
                    linktrash.Visible   = false;
                    dropParent.Items.Insert(0, listitem);
                    break;

                case "Edit":

                    HyperLink addTax = this.Page.Master.FindControl("AdnewBtn") as HyperLink;
                    addTax.Visible     = true;
                    addTax.NavigateUrl = "/admin/Post/Taxonomy.aspx?TaxTypeID=" + this.TaxTypeID + "&PostTypeID=" + this.PostTypeID + "&Mode=Add";


                    Model_PostTaxonomy tax = new Model_PostTaxonomy();
                    int TaxID = int.Parse(Request.QueryString["TaxID"]);
                    tax                      = tax.GetTaxonomyByID(int.Parse(Request.QueryString["TaxID"]));
                    slug.Text                = tax.Slug.Trim();
                    slug_form.Visible        = true;
                    viewcount.Text           = tax.ViewCount.ToString();
                    txtTitle.Text            = tax.Title.Trim();
                    lbldatepublish.Text      = tax.DatePublish.ToThaiDateTime().ToString("dd MMM yyyy HH:mm tt");
                    dropStatus.SelectedValue = tax.Status.ToString();



                    txtContentBuilder.Text = tax.BodyContentBuilder;
                    txtContent.Text        = tax.BodyContent;

                    if (tax.Trash)
                    {
                        linktrash.Visible   = true;
                        linkrestore.Visible = false;
                    }
                    else
                    {
                        linktrash.Visible   = false;
                        linkrestore.Visible = true;
                    }

                    if (tax.TaxSEO != null)
                    {
                        Model_PostSeo seo = tax.TaxSEO;
                        seotitle.Text           = seo.SEOTitle;
                        metades.Text            = seo.MetaDescription;
                        Canonical.Text          = seo.CanonicalUrl;
                        droprebot.SelectedValue = seo.Metarobotsfollow.ToString();
                        facebookTitle.Text      = seo.FaceBookTitle;
                        facebookDes.Text        = seo.FacebookDescription;
                        facebookImg.Value       = seo.FacebookImage;
                        twTitle.Text            = seo.TwitterTitle;
                        twDes.Text    = seo.TwitterDescription;
                        twimg.Value   = seo.TwitterImages;
                        analytic.Text = seo.GoogleAnalytic;
                    }

                    if (tax.TaxMedia.Count > 0)
                    {
                        Model_TaxMedia cover = tax.TaxMedia.FirstOrDefault(r => r.TaxID == TaxID && r.TaxMediaTypeID == TaxMediaType.CoverImage);
                        if (cover != null)
                        {
                            hd_MID.Value      = cover.MID.ToString();
                            CoverImage1.Value = cover.MediaFullPath;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();
                        }

                        Model_TaxMedia feature = tax.TaxMedia.FirstOrDefault(r => r.TaxID == TaxID && r.TaxMediaTypeID == TaxMediaType.FeatureImage);
                        if (feature != null)
                        {
                            feature_image_mid.Value = feature.MID.ToString();
                            feature_image_url.Value = feature.MediaFullPath;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();
                        }

                        Model_TaxMedia feature_full = tax.TaxMedia.FirstOrDefault(r => r.TaxID == TaxID && r.TaxMediaTypeID == TaxMediaType.Feature_Image_full_Width);
                        if (feature_full != null)
                        {
                            image_full_width_mid.Value = feature_full.MID.ToString();
                            image_full_width_url.Value = feature_full.MediaFullPath;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();
                        }

                        Model_TaxMedia upsell = tax.TaxMedia.FirstOrDefault(r => r.TaxID == TaxID && r.TaxMediaTypeID == TaxMediaType.Banner_Upsell);
                        if (upsell != null)
                        {
                            banner_upsale_mid.Value = upsell.MID.ToString();
                            banner_upsale_url.Value = upsell.MediaFullPath;
                            textCationUpsale.Text   = upsell.Caption;
                            //hd_postMeidaID.Value = cover.PostMediaID.ToString();
                        }
                    }


                    CoverType.Value            = tax.BannerTypeID.ToString();
                    radioshowmMS.SelectedValue = tax.ShowMasterSlider.ToString();

                    dropParent.DataSource     = Taxlistdrop.Where(r => r.TaxID != TaxID);
                    dropParent.DataValueField = "TaxID";
                    dropParent.DataTextField  = "TitleLevel";
                    dropParent.DataBind();



                    dropParent.Items.Insert(0, listitem);

                    dropParent.SelectedValue = tax.RefID.ToString();
                    break;
                }
            }
        }
    }
Esempio n. 10
0
    public void Update()
    {
        int TaxID = int.Parse(Request.QueryString["TaxID"]);


        int lv     = 0;
        int Taxref = int.Parse(dropParent.SelectedValue);

        if (Taxref > 0)
        {
            Model_PostTaxonomy t = new Model_PostTaxonomy();
            lv = t.GetTaxonomyByID(Taxref).Lv + 1;
        }
        else
        {
            lv = Taxref + 1;
        }


        Model_PostTaxonomy tax = new Model_PostTaxonomy
        {
            TaxID              = TaxID,
            Lv                 = lv,
            Title              = txtTitle.Text.Trim(),
            RefID              = Taxref,
            Slug               = slug.Text.GenerateSlug(),
            BodyContent        = txtContent.Text.Trim(),
            BodyContentBuilder = txtContentBuilder.Text.Trim(),
            Status             = bool.Parse(dropStatus.SelectedValue),
            BannerTypeID       = byte.Parse(CoverType.Value),
            ShowMasterSlider   = bool.Parse(radioshowmMS.SelectedValue),
        };


        Model_TaxSEOMap seomap = new Model_TaxSEOMap();

        seomap = seomap.GetSEOID(TaxID);

        Model_PostSeo seo = new Model_PostSeo
        {
            SEOTitle            = seotitle.Text.Trim(),
            MetaDescription     = metades.Text.Trim(),
            CanonicalUrl        = Canonical.Text.Trim(),
            Metarobotsfollow    = bool.Parse(droprebot.SelectedValue),
            FaceBookTitle       = facebookTitle.Text.Trim(),
            FacebookDescription = facebookDes.Text.Trim(),
            FacebookImage       = facebookImg.Value,
            TwitterTitle        = twTitle.Text.Trim(),
            TwitterDescription  = twDes.Text.Trim(),
            TwitterImages       = twimg.Value,
            GoogleAnalytic      = analytic.Text.Trim(),
        };

        if (seomap != null)
        {
            seo.PSID = seomap.PSID;
            seo.UpdateSEO(seo);
        }
        else
        {
            int PSID = seo.InsertSEO_step1(seo);
            if (PSID > 0)
            {
                seomap = new Model_TaxSEOMap
                {
                    TaxID = TaxID,
                    PSID  = PSID
                };

                seomap.InsertMApSeo(seomap);
            }
        }

        if (!string.IsNullOrEmpty(hd_MID.Value))
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.CoverImage,
                TaxID          = TaxID,
                MID            = int.Parse(hd_MID.Value)
            };

            pm.insertMediaPost(pm);
        }
        else
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.CoverImage,
                TaxID          = TaxID
            };
            pm.DeleteTaxMedia(pm);
        }


        //Feature image
        if (!string.IsNullOrEmpty(feature_image_mid.Value))
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.FeatureImage,
                TaxID          = TaxID,
                MID            = int.Parse(feature_image_mid.Value)
            };

            pm.insertMediaPost(pm);
        }
        else
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.FeatureImage,
                TaxID          = TaxID
            };

            pm.DeleteTaxMedia(pm);
        }

        //Feature image full
        if (!string.IsNullOrEmpty(image_full_width_mid.Value))
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.Feature_Image_full_Width,
                TaxID          = TaxID,
                MID            = int.Parse(image_full_width_mid.Value)
            };

            pm.insertMediaPost(pm);
        }
        else
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.Feature_Image_full_Width,
                TaxID          = TaxID
            };

            pm.DeleteTaxMedia(pm);
        }

        //Banner Upsell
        if (!string.IsNullOrEmpty(banner_upsale_mid.Value))
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.Banner_Upsell,
                TaxID          = TaxID,
                MID            = int.Parse(banner_upsale_mid.Value),
                Caption        = textCationUpsale.Text
            };

            pm.insertMediaPost(pm);
        }
        else
        {
            Model_TaxMedia pm = new Model_TaxMedia
            {
                TaxMediaTypeID = TaxMediaType.Banner_Upsell,
                TaxID          = TaxID
            };

            pm.DeleteTaxMedia(pm);
        }


        bool ret = tax.UpdateTaxonomy(tax);

        if (ret)
        {
            Response.Redirect("Taxonomy.aspx?TaxTypeID=" + this.TaxTypeID + "&PostTypeID=" + this.PostTypeID + "&Mode=Edit&TaxID=" + TaxID);
        }
    }
    public static bool InsertMenu(dynamic parameters)
    {
        string cmd = parameters["cmd"];

        // int cmdarg = (int)parameters["cmdarg"];

        string strpost = parameters["strpost"];

        string strarch = parameters["strarch"];

        string strtax = parameters["strtax"];

        string CustomURl    = parameters["url"];
        string CustomURlTxt = parameters["txt"];

        string MenuGroupID = parameters["GroupID"];



        Model_PostType cpt = new Model_PostType();



        string Title = string.Empty;

        if (!string.IsNullOrEmpty(cmd))
        {
            switch (cmd)
            {
            case "menu_post":

                if (!string.IsNullOrEmpty(strarch))
                {
                    byte           PostTypeID = byte.Parse(strarch);
                    Model_PostType cPt        = new Model_PostType();
                    cpt = cpt.GetPostTypeByID(PostTypeID);

                    Model_Menu cme = new Model_Menu();
                    cme.MGID        = int.Parse(MenuGroupID);
                    cme.Title       = "All " + cpt.Title;
                    cme.TitleOrigin = cpt.Slug;
                    cme.Slug        = cpt.Slug;
                    cme.CustomUrl   = "";
                    cme.Status      = true;
                    cme.MenuRefID   = 0;
                    cme.Lv          = 1;
                    cme.Priority    = 1;
                    cme.MCategory   = (byte)MenuCategory.Archive;
                    cme.PostTypeID  = cpt.PostTypeID;
                    cme.InsertMenuFirst(cme);

                    Model_Archive ma = new Model_Archive();
                    ma.inSertArchiveMap(cpt.PostTypeID, cpt.Slug);
                }

                if (!string.IsNullOrEmpty(strpost))
                {
                    foreach (string post in strpost.Split(','))
                    {
                        int        postID = int.Parse(post);
                        Model_Post cP     = new Model_Post();
                        cP = cP.GetPostByID(postID);


                        Model_Menu cme = new Model_Menu();
                        cme.MGID        = int.Parse(MenuGroupID);
                        cme.Title       = cP.Slug;
                        cme.TitleOrigin = cP.Slug;
                        cme.Slug        = cP.Slug;
                        cme.CustomUrl   = "";
                        cme.Status      = true;
                        cme.MenuRefID   = 0;
                        cme.Lv          = 1;
                        cme.Priority    = 1;
                        cme.MCategory   = (byte)MenuCategory.Post;
                        cme.PostID      = cP.PostID;
                        cme.InsertMenuFirst(cme);
                    }
                }


                break;

            case "menu_Tax":

                if (!string.IsNullOrEmpty(strtax))
                {
                    foreach (string tax in strtax.Split(','))
                    {
                        int TaxId             = int.Parse(tax);
                        Model_PostTaxonomy mp = new Model_PostTaxonomy();
                        mp = mp.GetTaxonomyByID(TaxId);

                        //if Tax Need to Check PostypeParent and Make Defaul Archive Page as well
                        Model_PostType cPt = new Model_PostType();
                        cpt = cpt.GetPostTypeByID(mp.PostTypeID);

                        Model_Menu cme = new Model_Menu();
                        cme.MGID        = int.Parse(MenuGroupID);
                        cme.Title       = mp.Slug;
                        cme.TitleOrigin = mp.Slug;
                        cme.Slug        = mp.Slug;
                        cme.CustomUrl   = "";
                        cme.Status      = true;
                        cme.MenuRefID   = 0;
                        cme.Lv          = 1;
                        cme.Priority    = 1;
                        cme.MCategory   = (byte)MenuCategory.Taxonomy;
                        cme.TaxID       = mp.TaxID;
                        cme.PostTypeID  = mp.PostTypeID;
                        cme.InsertMenuFirst(cme);



                        Model_Archive ma = new Model_Archive();
                        ma.inSertArchiveMap(cpt.PostTypeID, cpt.Slug);
                    }
                }
                // mCat = MenuCategory.Taxonomy;
                break;

            case "menu_custom":

                if (!string.IsNullOrEmpty(CustomURl) && !string.IsNullOrEmpty(CustomURlTxt))
                {
                    Model_Menu cme = new Model_Menu();
                    cme.MGID        = int.Parse(MenuGroupID);
                    cme.Title       = CustomURlTxt;
                    cme.TitleOrigin = CustomURlTxt;
                    cme.Slug        = CustomURlTxt;
                    cme.CustomUrl   = CustomURl;
                    cme.Status      = true;
                    cme.MenuRefID   = 0;
                    cme.Lv          = 1;
                    cme.Priority    = 1;
                    cme.MCategory   = (byte)MenuCategory.CustomLink;
                    cme.PostTypeID  = cpt.PostTypeID;
                    cme.InsertMenuFirst(cme);
                }

                // mCat = MenuCategory.CustomLink;
                break;
            }
        }


        //Model_Menu cme = new Model_Menu
        //{

        //    Title = "",
        //    TitleOrigin = "",
        //    Slug="",
        //    CustomUrl = "",
        //    Status = true,
        //    MenuRefID= 0,
        //    Lv = 1,
        //    IsCustomUrl = true,
        //    Priority=1,
        //    MCategory = (byte)mCat,
        //    TaxID=1,
        //    PostTypeID=1,
        //    PostID = 1
        //};

        return(true);
    }