예제 #1
0
    protected void btnPubish_Click(object sender, EventArgs e)
    {
        Model_Post p = new Model_Post
        {
            PostTypeID         = byte.Parse(Request.QueryString["PostTypeID"]),
            Title              = txtTitle.Text.Trim(),
            Short              = "",
            Slug               = txtTitle.Text.GenerateSlug(),
            DateSubmit         = DatetimeHelper._UTCNow(),
            UserID             = this.UserActive.UserID,
            DatePublish        = DatetimeHelper._UTCNow(),
            Status             = bool.Parse(dropStatus.SelectedValue),
            ShowComment        = false,
            BodyContent        = txtContent.Text.Trim(),
            BodyContentBuilder = "",
            BannerTypeID       = byte.Parse(CoverType.Value),
            ShowMasterSlider   = bool.Parse(radioshowmMS.SelectedValue),
            ViewCount          = 1
        };

        int postid = p.InsertPost(p);

        if (postid > 0 && byte.Parse(Request.QueryString["PostTypeID"]) == (byte)PostType.Products)
        {
            Model_PostPricing pp = new Model_PostPricing
            {
                PostID     = postid,
                Isvat      = true,
                Price      = 0.0m,
                PostTypeID = (byte)PostType.Products,
                Title      = string.Empty
            };
            pp.InsertPrice(pp);
        }

        if (postid > 0)
        {
            Response.Redirect("Post?PostID=" + postid);
        }

        //Response.Write(txtContent.Text);
        //Response.End();
    }
예제 #2
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;
                        }
                    }
                }
            }
        }
    }