918博天堂

Server : Microsoft-IIS/10.0
System : Windows NT EBS-6136 10.0 build 17763 (Windows Server 2016) i586
User : jxgj ( 0)
PHP Version : 7.0.33
Disable Function : passthru,exec,system,shell_exec,proc_open,popen,pcntl_exec,socket_bind,stream_socket_server
Directory :  D:/tmp_aspnet/root/dc15253c/377bd30d/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : D:/tmp_aspnet/root/dc15253c/377bd30d/App_Web_7dsc66iy.29.cs
?#pragma checksum "D:\wwwroot\jmxbaogao\wwwroot\Counter\NewOrderCarInfo.ashx" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "C506C0F80B9A5F957DE6884E5ABC0C88"

#line 1 "D:\wwwroot\jmxbaogao\wwwroot\Counter\NewOrderCarInfo.ashx"


/****************************************
 * 版权所有:南昌金启软件有限公司
 * 网    址:www.21it.com
 ****************************************/
using System;
using System.Configuration;
using System.Data;
using System.Net.Mail;
using System.Reflection;
using System.Web;
using Com.Huji.DataBll;
using Com.Huji.DataModel;
using Com.Huji.DataTools;
using Com.Huji.Web.Pager;

namespace Com.Huji.Web.Counter
{
    public class NewOrderCarInfo : BaseHandler
    {
        private NewArticleBll dal = new NewArticleBll();
        public override void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/json";
            if (!ProcessRequestError()) return;
            try
            {
                switch (Converts.ToInt32(context.Request.Params["handler"]))
                {
                    case PublicParameters.OnePram: addDataItem(context); context.Response.Write("ok"); break;
                    case PublicParameters.TwoPram: updateDataItem(context); context.Response.Write("ok"); break;
                    case PublicParameters.ThreePram: deleteDataItem(context); context.Response.Write("ok"); break;
                    case PublicParameters.FourPram: context.Response.Write(Converts.ConvertDataTableToJson(getDataItem(context))); break;
                    case PublicParameters.FivePram: context.Response.Write(getCourier(context)); break;
                    case PublicParameters.SixPram: context.Response.Write(addOrder(context)); break;
                    case PublicParameters.SevenPram: context.Response.Write(getDiscount()); break;

                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.ToString());
                Converts.ResponseWriteEnd(context, "error");
            }
        }

        #region 会员提成
        private string getDiscount()
        {
            if (MemberData.MembersType != PublicParameters.ZeroPram)
            {
                NewMembersTypeData data = new NewMembersTypeBll().GetNewMembersTypeModel(MemberData.MembersType);
                if (data.Discount != PublicParameters.ZeroPram)
                    return data.Discount.ToString();
            }
            return "100";
        }
        #endregion

        #region 天生订单
        private string addOrder(HttpContext context)
        {
            if (GetMemberId == PublicParameters.ZeroPram.ToString())
                return "login";
            else
            {
                DataTable dt = getDataItem(context);
                if (dt != null && dt.Rows.Count != 0)
                {
                    NewOrderData data = new NewOrderData();
                    data.OrderNumber = DateTime.Now.ToString("yyyyMMddHHmmss") + (Converts.ToInt32(GetMemberId) + new Random().Next(1111, 9999)).ToString();
                    data.MembersId = Converts.ToInt32(GetMemberId);
                    data.GoodsPrice = Converts.ToDouble(context.Request.Params["goods_price"]);
                    data.CourierPrice = Converts.ToDouble(context.Request.Params["courier_price"]);
                    data.IsInvoice = Converts.ToInt32(context.Request.Params["is_invoice"]);
                    data.InvoicePrice = Converts.ToDouble(context.Request.Params["invoice_price"]);
                    data.InvoiceRemark = context.Request.Params["invoice_remark"];
                    data.GoodsPrice = Converts.ToDouble(context.Request.Params["goods_price"]);
                    data.CourierId = Converts.ToInt32(context.Request.Params["courier_id"]);
                    data.AreaId = Converts.ToInt32(context.Request.Params["area_id"]);
                    data.MembersAddressId = Converts.ToInt32(context.Request.Params["members_address_id"]);
                    foreach (DataRow row in dt.Rows)
                    {
                        data.Remark += row["article_id"] + "{[JQ]} ";
                        data.Remark += row["nums"] + "{[JQ]} ";
                        data.Remark += Converts.ToDouble(row["price"]) + "{[JQ]} ";
                        data.Remark += row["remark"] + "{[ROW]}";
                    }
                    int returnvalue = new NewOrderBll().UpdateNewOrderMember(data, Converts.ToInt32(GetMemberId));
                    switch (returnvalue)
                    {
                        case -1: return "error";
                        default:
                            string mails = "";
                            foreach (DataRow row in dt.Rows)
                            {
                                //凭据文章的颁布者,得到治理员的ID,
                                SysUsersData adata = new SysUsersBll().GetSysUsersModel(new NewArticleBll().GetNewArticleModel(Converts.ToInt32(row["article_id"])).UserId);
                                if (!String.IsNullOrEmpty(adata.ArticleMail))
                                    mails += adata.ArticleMail + ";";
                            }
                            if (!String.IsNullOrEmpty(mails))
                            {
                                SysCompanyData cdata = new SysCompanyBll().GetSysCompanyModel(Converts.ToInt32(ConfigurationManager.ConnectionStrings["CompanyId"].ConnectionString, 1));
                                StringText builder = new StringText();
                                string lanPath = new NewLanguageBll().GetNewLanguageModel(new NewLanguageBll().GetNewLanguageIsBgDefault(0)).LanguagePath;
                                builder.Append(1, "来自" + Converts.SubString(cdata.CompanyName, ";" + lanPath + "=\"", "\";") + "的订单提醒邮件<br>");
                                builder.Append(1, "客户天生一张订单,订单号:<a href=\"http://" + cdata.WebSite + "/21IT/Order/NewOrderRead.aspx?order_id=" + returnvalue + "\">" + data.OrderNumber + " </a>,请实时处置<br>");
                                MailUtil mail = new MailUtil(cdata.SMailUser, Decode(cdata.SMailPwd), cdata.SMailHost, Converts.ToInt32(cdata.SMailPort, 25));
                                try
                                {
                                    mail.SendMailWithGroupWithAttachmentForNet(
                                        cdata.SMailUser,
                                        Converts.SubString(cdata.SiteTitle, ";" + lanPath + "=\"", "\";"),
                                        mails,
                                        "来自" + Converts.SubString(cdata.SiteTitle, ";" + lanPath + "=\"", "\";") + "的订单提醒邮件",
                                        builder.ToString(),
                                        true,
                                        MailPriority.Normal,
                                        null);
                                }
                                catch (Exception ex)
                                {
                                    Logger.Error(ex.ToString());
                                }
                            }
                            context.Session["OrderCar"] = null;
                            return Encode(returnvalue.ToString());
                    }
                }
                else
                {
                    return "isnull";
                }
            }
        }
        #endregion

        #region 订单有关
        private void addDataItem(HttpContext context)
        {
            DataTable dt = getDataItem(context);
            DataRow[] dr = dt.Select("article_id='" + context.Request.Params["article_id"] + "'");
            if (dr.Length != 0)
            {
                dr[0]["nums"] = (Converts.ToInt32(dr[0]["nums"]) + Converts.ToInt32(context.Request.Params["num"])).ToString();
                dr[0]["price"] = context.Request.Params["price"];
                dr[0]["remark"] = context.Request.Params["remark"];
            }
            else
            {
                DataRow row = dt.NewRow();
                NewArticleData data = dal.GetNewArticleModel(Converts.ToInt32(context.Request.Params["article_id"]), LanguageId);
                row["article_id"] = context.Request.Params["article_id"];
                row["title_short"] = Converts.SubString(data.TitleShort, "\">", "</");
                row["images_url"] = Converts.SmallImageFilePath(data.ImagesUrl, "x_");
                row["remark"] = context.Request.Params["remark"];
                row["price"] = context.Request.Params["price"];
                row["nums"] = context.Request.Params["num"];
                dt.Rows.Add(row);
            }
            context.Session["OrderCar"] = dt;
        }

        private void updateDataItem(HttpContext context)
        {
            DataTable dt = getDataItem(context);
            DataRow[] dr = dt.Select("article_id='" + context.Request.Params["article_id"] + "'");
            if (dr.Length != 0)
            {
                dr[0]["nums"] = context.Request.Params["num"];
                //dr[0]["price"] = context.Request.Params["price"];
            }
            context.Session["OrderCar"] = dt;
        }

        private void deleteDataItem(HttpContext context)
        {
            DataTable dt = getDataItem(context);
            DataRow[] dr = dt.Select("article_id='" + context.Request.Params["article_id"] + "'");
            if (dr.Length != 0)
            {
                dt.Rows.Remove(dr[0]);
            }
            context.Session["OrderCar"] = dt;
        }

        private DataTable getDataItem(HttpContext context)
        {
            DataTable dt = (DataTable)context.Session["OrderCar"];
            if (dt == null || dt.Columns.Count == 0)
            {
                dt = new DataTable();
                dt.Columns.Add("article_id");
                dt.Columns.Add("title_short");
                dt.Columns.Add("images_url");
                dt.Columns.Add("remark");
                dt.Columns.Add("price");
                dt.Columns.Add("nums");
            }
            return dt;
        }
        #endregion

        #region 物流有关
        private string getCourier(HttpContext context)
        {
            DataTable dt = new NewCourierBll().GetNewCourier(BigPageSize, PublicParameters.OnePram, " and t.status=1 ", out TotalRecord);
            if (TotalRecord == PublicParameters.ZeroPram)
                return String.Empty;
            else
            {
                StringText builder = new StringText();
                builder.Append(2, "<div class=\"com_hotresults\">");
                builder.Append(3, "<div style=\"width: 100%;\">");

                builder.Append(4, "<ul class=\"abcsearch\">");
                for (int i = PublicParameters.ZeroPram; i < TotalRecord; i++)
                {
                    builder.Append(5, "<li onclick=\"selectCity(this," + dt.Rows[i]["courier_id"] + ");\" class=\"" + (dt.Rows[i]["courier_id"].ToString() == context.Request.Params["courier_id"].ToString() ? "action" : "") + "\">" + dt.Rows[i]["courier_name"] + "</li>");
                }
                builder.Append(5, "<a class=\"ac_close icon-common icon-common-close\" onclick=\"$('#cmsCourierList').hide();\" title=\"" + ShowLangInfo("CourierSelectClear", context) + "\"></a>");
                builder.Append(4, "</ul>");
                for (int i = PublicParameters.ZeroPram; i < TotalRecord; i++)
                {
                    DataTable dtArea = new NewCourierBll().GetNewCourierArea(Converts.ToInt32(dt.Rows[i]["courier_id"]), PublicParameters.TwoPram);
                    builder.Append(4, "<ul class=\"popcitylist\" style=\"display: " + (dt.Rows[i]["courier_id"].ToString() == context.Request.Params["courier_id"].ToString() ? "block" : "none") + ";\" index=" + dt.Rows[i]["courier_id"] + " >");
                    if (dtArea != null && dtArea.Rows.Count != 0)
                    {
                        foreach (DataRow s in dtArea.Rows)
                        {
                            builder.Append(5, "<li onmouseover='this.className=\"ac_over\";' onmouseout='this.className=\"ac_odd\";' onclick='seachCity(this);' courier_id='" + s["courier_id"] + "' courier_name='" + dt.Rows[i]["courier_name"] + "' area_id='" + s["area_id"] + "' area_name='" + s["area_name"] + "' courier_price='" + s["courier_price"] + "' class='ac_odd'>" + s["area_name"] + "</li>");
                        }
                    }

                    builder.Append(5, "<li onmouseover='this.className=\"ac_over\";' onmouseout='this.className=\"ac_odd\";' onclick='seachCity(this);' courier_id='" + dt.Rows[i]["courier_id"] + "' courier_name='" + dt.Rows[i]["courier_name"] + "' area_id='0' area_name=''courier_price='" + dt.Rows[i]["courier_price"] + "' class='ac_odd'>" + (dtArea != null && dtArea.Rows.Count != 0 ? ShowLangInfo("CourierOther", context) : dt.Rows[i]["courier_name"]) + "</li>");

                    builder.Append(4, "</ul>");
                }
                builder.Append(3, "</div>");
                builder.Append(2, "</div>");
                return builder.ToString();
            }
        }
        #endregion

    }
}

#line default
#line hidden