Exemplo n.º 1
0
        /// <summary>
        /// 获取所有发货模版
        /// </summary>
        /// <returns></returns>
        public List <ShippingModeInfo> GetAllShippingMode()
        {
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand("SELECT *,ModeId=-1,Name='',Description='',DisplaySequence=-1 from Ecshop_ShippingTemplates;");

            sqlStringCommand.CommandText += "SELECT * FROM Ecshop_ShippingTypeGroups;";
            sqlStringCommand.CommandText += "SELECT * FROM Ecshop_ShippingRegions;";

            List <ShippingModeInfo> modes = new List <ShippingModeInfo>();

            using (IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                while (dataReader.Read())
                {
                    modes.Add(DataMapper.PopulateShippingMode(dataReader));
                }
                dataReader.NextResult();
                while (dataReader.Read())
                {
                    int templateId;
                    int.TryParse(dataReader["TemplateId"].ToString(), out templateId);
                    ShippingModeInfo shippingModeInfo = modes.FirstOrDefault(p => p.TemplateId == templateId);
                    if (shippingModeInfo == null)
                    {
                        continue;
                    }
                    shippingModeInfo.ModeGroup.Add(new ShippingModeGroupInfo
                    {
                        AddPrice   = (decimal)dataReader["AddPrice"],
                        Price      = (decimal)dataReader["Price"],
                        TemplateId = (int)dataReader["TemplateId"],
                        GroupId    = (int)dataReader["GroupId"]
                    });
                }
                dataReader.NextResult();
                while (dataReader.Read())
                {
                    int templateId;
                    int.TryParse(dataReader["TemplateId"].ToString(), out templateId);
                    int groupId;
                    int.TryParse(dataReader["GroupId"].ToString(), out groupId);
                    ShippingModeInfo shippingModeInfo = modes.FirstOrDefault(p => p.TemplateId == templateId);
                    if (shippingModeInfo == null)
                    {
                        continue;
                    }
                    ShippingModeGroupInfo shippingModeGroupInfo = shippingModeInfo.ModeGroup.FirstOrDefault(p => p.GroupId == groupId);
                    if (shippingModeGroupInfo == null)
                    {
                        continue;
                    }
                    shippingModeGroupInfo.ModeRegions.Add(new ShippingRegionInfo
                    {
                        GroupId    = shippingModeGroupInfo.GroupId,
                        TemplateId = shippingModeGroupInfo.TemplateId,
                        RegionId   = (int)dataReader["RegionId"]
                    });
                }
            }
            return(modes);
        }
Exemplo n.º 2
0
        public ShippingModeInfo GetShippingMode(int modeId, bool includeDetail)
        {
            ShippingModeInfo info             = null;
            DbCommand        sqlStringCommand = this.database.GetSqlStringCommand("SELECT * FROM Hishop_ShippingTypes st INNER JOIN Hishop_ShippingTemplates temp ON st.TemplateId=temp.TemplateId Where ModeId =@ModeId");

            if (includeDetail)
            {
                sqlStringCommand.CommandText = sqlStringCommand.CommandText + " SELECT * FROM Hishop_TemplateRelatedShipping Where ModeId =@ModeId";
                sqlStringCommand.CommandText = sqlStringCommand.CommandText + " SELECT * FROM Hishop_ShippingTypeGroups WHERE TemplateId = (SELECT TemplateId FROM Hishop_ShippingTypes WHERE ModeId =@ModeId )";
            }
            this.database.AddInParameter(sqlStringCommand, "ModeId", DbType.Int32, modeId);
            using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand))
            {
                if (reader.Read())
                {
                    info = DataMapper.PopulateShippingMode(reader);
                }
                if (!includeDetail)
                {
                    return(info);
                }
                reader.NextResult();
                while (reader.Read())
                {
                    if (reader["ExpressCompanyName"] != DBNull.Value)
                    {
                        info.ExpressCompany.Add((string)reader["ExpressCompanyName"]);
                    }
                }
                reader.NextResult();
                while (reader.Read())
                {
                    ShippingModeGroupInfo item = new ShippingModeGroupInfo {
                        AddPrice   = (decimal)reader["AddPrice"],
                        Price      = (decimal)reader["Price"],
                        TemplateId = (int)reader["TemplateId"],
                        GroupId    = (int)reader["GroupId"]
                    };
                    info.ModeGroup.Add(item);
                }
                string str = "";
                foreach (ShippingModeGroupInfo info3 in info.ModeGroup)
                {
                    str = "SELECT RegionId FROM Hishop_ShippingRegions WHERE GroupId = " + info3.GroupId;
                    using (IDataReader reader2 = this.database.ExecuteReader(CommandType.Text, str))
                    {
                        while (reader2.Read())
                        {
                            ShippingRegionInfo info4 = new ShippingRegionInfo {
                                GroupId    = info3.GroupId,
                                TemplateId = info3.TemplateId,
                                RegionId   = (int)reader2["RegionId"]
                            };
                            info3.ModeRegions.Add(info4);
                        }
                    }
                }
            }
            return(info);
        }
Exemplo n.º 3
0
        private void btnUpdate_Click(object sender, System.EventArgs e)
        {
            decimal num;
            decimal?nullable;
            decimal num2;
            decimal?nullable2;

            if (this.ValidateRegionValues(out num, out nullable, out num2, out nullable2))
            {
                new System.Collections.Generic.List <ShippingModeGroupInfo>();
                ShippingModeInfo shippingMode = new ShippingModeInfo
                {
                    Name       = Globals.HtmlEncode(this.txtModeName.Text.Trim()),
                    Weight     = num,
                    AddWeight  = nullable,
                    Price      = num2,
                    AddPrice   = nullable2,
                    TemplateId = this.templateId
                };
                foreach (System.Web.UI.WebControls.GridViewRow row in this.grdRegion.Rows)
                {
                    decimal result = 0m;
                    decimal num3   = 0m;
                    decimal.TryParse(((System.Web.UI.WebControls.TextBox)row.FindControl("txtModeRegionPrice")).Text, out result);
                    decimal.TryParse(((System.Web.UI.WebControls.TextBox)row.FindControl("txtModeRegionAddPrice")).Text, out num3);
                    ShippingModeGroupInfo item = new ShippingModeGroupInfo
                    {
                        Price    = result,
                        AddPrice = num3
                    };
                    System.Web.UI.WebControls.TextBox box = (System.Web.UI.WebControls.TextBox) this.grdRegion.Rows[row.RowIndex].FindControl("txtRegionvalue_Id");
                    if (!string.IsNullOrEmpty(box.Text))
                    {
                        string[] array = box.Text.Split(new char[]
                        {
                            ','
                        });
                        for (int i = 0; i < array.Length; i++)
                        {
                            string             str   = array[i];
                            ShippingRegionInfo info3 = new ShippingRegionInfo
                            {
                                RegionId = System.Convert.ToInt32(str.Trim())
                            };
                            item.ModeRegions.Add(info3);
                        }
                    }
                    shippingMode.ModeGroup.Add(item);
                }
                if (SalesHelper.UpdateShippingTemplate(shippingMode))
                {
                    this.Page.Response.Redirect("EditShippingTemplate.aspx?TemplateId=" + shippingMode.TemplateId + "&isUpdate=true");
                }
                else
                {
                    this.ShowMsg("您添加的地区有重复", false);
                }
            }
        }
Exemplo n.º 4
0
        private void btnCreate_Click(object sender, System.EventArgs e)
        {
            decimal weight;
            decimal?addWeight;
            decimal price;
            decimal?addPrice;

            if (!this.ValidateRegionValues(out weight, out addWeight, out price, out addPrice))
            {
                return;
            }
            new System.Collections.Generic.List <ShippingModeGroupInfo>();
            ShippingModeInfo shippingModeInfo = new ShippingModeInfo();

            shippingModeInfo.Name      = Globals.HtmlEncode(this.txtModeName.Text.Trim());
            shippingModeInfo.Weight    = weight;
            shippingModeInfo.AddWeight = addWeight;
            shippingModeInfo.Price     = price;
            shippingModeInfo.AddPrice  = addPrice;
            foreach (System.Web.UI.WebControls.GridViewRow gridViewRow in this.grdRegion.Rows)
            {
                decimal price2    = 0m;
                decimal addPrice2 = 0m;
                decimal.TryParse(((System.Web.UI.WebControls.TextBox)gridViewRow.FindControl("txtModeRegionPrice")).Text, out price2);
                decimal.TryParse(((System.Web.UI.WebControls.TextBox)gridViewRow.FindControl("txtModeRegionAddPrice")).Text, out addPrice2);
                ShippingModeGroupInfo shippingModeGroupInfo = new ShippingModeGroupInfo();
                shippingModeGroupInfo.Price    = price2;
                shippingModeGroupInfo.AddPrice = addPrice2;
                System.Web.UI.WebControls.TextBox textBox = (System.Web.UI.WebControls.TextBox) this.grdRegion.Rows[gridViewRow.RowIndex].FindControl("txtRegionvalue_Id");
                if (!string.IsNullOrEmpty(textBox.Text))
                {
                    string[] array = textBox.Text.Split(new char[]
                    {
                        ','
                    });
                    string[] array2 = array;
                    for (int i = 0; i < array2.Length; i++)
                    {
                        string             text = array2[i];
                        ShippingRegionInfo shippingRegionInfo = new ShippingRegionInfo();
                        shippingRegionInfo.RegionId = System.Convert.ToInt32(text.Trim());
                        shippingModeGroupInfo.ModeRegions.Add(shippingRegionInfo);
                    }
                }
                shippingModeInfo.ModeGroup.Add(shippingModeGroupInfo);
            }
            if (!SalesHelper.CreateShippingTemplate(shippingModeInfo))
            {
                this.ShowMsg("您添加的地区有重复", false);
                return;
            }
            if (!string.IsNullOrEmpty(this.Page.Request.QueryString["source"]) && this.Page.Request.QueryString["source"] == "add")
            {
                this.CloseWindow();
                return;
            }
            this.ClearControlValue();
            this.ShowMsg("成功添加了一个配送方式模板", true);
        }
Exemplo n.º 5
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            decimal num;
            decimal?nullable;
            decimal num2;
            decimal?nullable2;

            if (this.ValidateRegionValues(out num, out nullable, out num2, out nullable2))
            {
                new List <ShippingModeGroupInfo>();
                ShippingModeInfo shippingMode = new ShippingModeInfo {
                    Name      = Globals.HtmlEncode(this.txtModeName.Text.Trim()),
                    Weight    = num,
                    AddWeight = nullable,
                    Price     = num2,
                    AddPrice  = nullable2
                };
                foreach (GridViewRow row in this.grdRegion.Rows)
                {
                    decimal result = 0M;
                    decimal num4   = 0M;
                    decimal.TryParse(((TextBox)row.FindControl("txtModeRegionPrice")).Text, out result);
                    decimal.TryParse(((TextBox)row.FindControl("txtModeRegionAddPrice")).Text, out num4);
                    ShippingModeGroupInfo item = new ShippingModeGroupInfo {
                        Price    = result,
                        AddPrice = num4
                    };
                    TextBox box = (TextBox)this.grdRegion.Rows[row.RowIndex].FindControl("txtRegionvalue_Id");
                    if (!string.IsNullOrEmpty(box.Text))
                    {
                        foreach (string str in box.Text.Split(new char[] { ',' }))
                        {
                            ShippingRegionInfo info3 = new ShippingRegionInfo {
                                RegionId = Convert.ToInt32(str.Trim())
                            };
                            item.ModeRegions.Add(info3);
                        }
                    }
                    shippingMode.ModeGroup.Add(item);
                }
                if (SalesHelper.CreateShippingTemplate(shippingMode))
                {
                    if (!string.IsNullOrEmpty(this.Page.Request.QueryString["source"]) && (this.Page.Request.QueryString["source"] == "add"))
                    {
                        this.CloseWindow();
                    }
                    else
                    {
                        this.ClearControlValue();
                        this.ShowMsg("成功添加了一个配送方式模板", true);
                    }
                }
                else
                {
                    this.ShowMsg("您添加的地区有重复", false);
                }
            }
        }
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int     num;
            int?    nullable;
            decimal num2;
            decimal?nullable2;

            if (ValidateRegionValues(out num, out nullable, out num2, out nullable2))
            {
                new List <ShippingModeGroupInfo>();
                ShippingModeInfo info6 = new ShippingModeInfo();
                info6.Name       = Globals.HtmlEncode(txtModeName.Text.Trim());
                info6.Weight     = num;
                info6.AddWeight  = nullable;
                info6.Price      = num2;
                info6.AddPrice   = nullable2;
                info6.TemplateId = templateId;
                ShippingModeInfo target = info6;
                foreach (GridViewRow row in grdRegion.Rows)
                {
                    ShippingModeGroupInfo info5 = new ShippingModeGroupInfo();
                    info5.Price    = decimal.Parse(((TextBox)row.FindControl("txtModeRegionPrice")).Text);
                    info5.AddPrice = decimal.Parse(((TextBox)row.FindControl("txtModeRegionAddPrice")).Text);
                    ShippingModeGroupInfo item = info5;
                    TextBox box = (TextBox)grdRegion.Rows[row.RowIndex].FindControl("txtRegionvalue_Id");
                    foreach (string str in box.Text.Split(new char[] { ',' }))
                    {
                        ShippingRegionInfo info4 = new ShippingRegionInfo();
                        info4.RegionId = Convert.ToInt32(str.Trim());
                        ShippingRegionInfo info3 = info4;
                        item.ModeRegions.Add(info3);
                    }
                    target.ModeGroup.Add(item);
                }
                ValidationResults results = Hishop.Components.Validation.Validation.Validate <ShippingModeInfo>(target, new string[] { "ValShippingModeInfo" });
                string            msg     = string.Empty;
                if (!results.IsValid)
                {
                    foreach (ValidationResult result in (IEnumerable <ValidationResult>)results)
                    {
                        msg = msg + Formatter.FormatErrorMessage(result.Message);
                    }
                    ShowMsg(msg, false);
                }
                else if (SalesHelper.UpdateShippingTemplate(target))
                {
                    Page.Response.Redirect("EditShippingTemplate.aspx?TemplateId=" + target.TemplateId + "&isUpdate=true");
                }
                else
                {
                    ShowMsg("您添加的地区有重复", false);
                }
            }
        }
Exemplo n.º 7
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            decimal num;
            decimal?nullable;
            decimal num2;
            decimal?nullable2;

            if (this.ValidateRegionValues(out num, out nullable, out num2, out nullable2))
            {
                new List <ShippingModeGroupInfo>();
                ShippingModeInfo shippingMode = new ShippingModeInfo();
                shippingMode.Name       = Globals.HtmlEncode(this.txtModeName.Text.Trim());
                shippingMode.Weight     = num;
                shippingMode.AddWeight  = nullable;
                shippingMode.Price      = num2;
                shippingMode.AddPrice   = nullable2;
                shippingMode.TemplateId = this.templateId;
                foreach (GridViewRow row in this.grdRegion.Rows)
                {
                    decimal result = 0M;
                    decimal num4   = 0M;
                    decimal.TryParse(((TextBox)row.FindControl("txtModeRegionPrice")).Text, out result);
                    decimal.TryParse(((TextBox)row.FindControl("txtModeRegionAddPrice")).Text, out num4);
                    ShippingModeGroupInfo item = new ShippingModeGroupInfo();
                    item.Price    = result;
                    item.AddPrice = num4;
                    TextBox box = (TextBox)this.grdRegion.Rows[row.RowIndex].FindControl("txtRegionvalue_Id");
                    if (!string.IsNullOrEmpty(box.Text))
                    {
                        foreach (string str in box.Text.Split(new char[] { ',' }))
                        {
                            ShippingRegionInfo info3 = new ShippingRegionInfo();
                            info3.RegionId = Convert.ToInt32(str.Trim());
                            item.ModeRegions.Add(info3);
                        }
                    }
                    shippingMode.ModeGroup.Add(item);
                }
                if (SalesHelper.UpdateShippingTemplate(shippingMode))
                {
                    this.Page.Response.Redirect("EditShippingTemplate.aspx?TemplateId=" + shippingMode.TemplateId + "&isUpdate=true");
                }
                else
                {
                    this.ShowMsg("您添加的地区有重复", false);
                }
            }
        }
Exemplo n.º 8
0
        public static ShippingModeGroupInfo PopulateShippingModeGroup(IDataRecord reader)
        {
            if (reader == null)
            {
                return(null);
            }
            ShippingModeGroupInfo info = new ShippingModeGroupInfo {
                TemplateId = (int)reader["TemplateId"],
                GroupId    = (int)reader["GroupId"],
                Price      = (decimal)reader["Price"]
            };

            if (DBNull.Value != reader["AddPrice"])
            {
                info.AddPrice = (decimal)reader["AddPrice"];
            }
            return(info);
        }
Exemplo n.º 9
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            int     weight    = 0;
            int?    addWeight = 0;
            decimal price     = 0m;
            decimal?addPrice  = 0;

            if (ValidateRegionValues(out weight, out addWeight, out price, out addPrice))
            {
                new List <ShippingModeGroupInfo>();

                ShippingModeInfo shippingModeInfo = new ShippingModeInfo();

                shippingModeInfo.Name      = Globals.HtmlEncode(txtModeName.Text.Trim());
                shippingModeInfo.Weight    = weight;
                shippingModeInfo.AddWeight = addWeight;
                shippingModeInfo.Price     = price;
                shippingModeInfo.AddPrice  = addPrice;

                ShippingModeGroupInfo shippingModeGroupInfo = null;

                ShippingRegionInfo shippingRegionInfo = null;

                foreach (GridViewRow row in grdRegion.Rows)
                {
                    shippingModeGroupInfo = new ShippingModeGroupInfo();

                    shippingModeGroupInfo.Price    = decimal.Parse(((TextBox)row.FindControl("txtModeRegionPrice")).Text);
                    shippingModeGroupInfo.AddPrice = decimal.Parse(((TextBox)row.FindControl("txtModeRegionAddPrice")).Text);

                    TextBox box = (TextBox)grdRegion.Rows[row.RowIndex].FindControl("txtRegionvalue_Id");

                    foreach (string str in box.Text.Split(new char[] { ',' }))
                    {
                        shippingRegionInfo          = new ShippingRegionInfo();
                        shippingRegionInfo.RegionId = Convert.ToInt32(str.Trim());
                        shippingModeGroupInfo.ModeRegions.Add(shippingRegionInfo);
                    }

                    shippingModeInfo.ModeGroup.Add(shippingModeGroupInfo);
                }

                ValidationResults results = Hishop.Components.Validation.Validation.Validate <ShippingModeInfo>(shippingModeInfo, "ValShippingModeInfo");

                string msg = string.Empty;

                if (!results.IsValid)
                {
                    foreach (ValidationResult result in (IEnumerable <ValidationResult>)results)
                    {
                        msg = msg + Formatter.FormatErrorMessage(result.Message);
                    }
                    ShowMsg(msg, false);
                }
                else if (SalesHelper.CreateShippingTemplate(shippingModeInfo))
                {
                    ClearControlValue();
                    ShowMsg("成功添加了一个配送方式模板", true);
                }
                else
                {
                    ShowMsg("您添加的地区有重复", false);
                }
            }
        }