示例#1
0
        /// <summary>
        /// 获得前几行数据
        /// </summary>
        public IList <Wuyiju.Model.ProductFrontend> GetListWithAttr(Wuyiju.Model.Product.Query query, int?limit = null)
        {
            using (var db = new DataContext())
            {
                var records = GetDao(db).GetList(query, limit);

                var attrDao = unity.GetInstance <IProductAttrDAL>(db);

                var lst = new List <ProductFrontend>();

                foreach (var record in records)
                {
                    var product  = new ProductFrontend(record);
                    var attrDict = new Dictionary <int, string>();
                    product.Attrs = attrDao.GetList(new ProductAttr.Query {
                        Product_Id = product.Id
                    });


                    lst.Add(product);
                }

                return(lst);
            }
        }
示例#2
0
        public Paged <ProductFrontend> GetPagedWithAttr(PagedQuery <Wuyiju.Model.Product.Query> query)
        {
            using (var db = new DataContext())
            {
                var paged = this.GetDao(db).GetPaged(query);

                var attrDao = unity.GetInstance <IProductAttrDAL>(db);

                var lst = new List <ProductFrontend>();

                foreach (var record in paged.Records)
                {
                    var product  = new ProductFrontend(record);
                    var attrDict = new Dictionary <int, string>();
                    product.Attrs = attrDao.GetList(new ProductAttr.Query {
                        Product_Id = product.Id
                    });


                    lst.Add(product);
                }

                return(new Paged <ProductFrontend>(lst, paged.RecordsTotal, paged.PageStart, paged.PageSize));
            }
        }
示例#3
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public ProductFrontend GetProductWithAttr(int id)
        {
            if (id == 0)
            {
                throw new ApplicationException("参数不能为空");
            }

            using (var db = new DataContext())
            {
                var obj = this.GetDao(db).Get(id);

                ProductFrontend product;

                if (obj != null)
                {
                    product = new ProductFrontend(obj);
                    var attrDao = unity.GetInstance <IProductAttrDAL>(db);
                    product.Attrs = attrDao.GetList(new ProductAttr.Query {
                        Product_Id = obj.Id, Type = 0
                    });

                    return(product);
                }

                return(null);
            }
        }
示例#4
0
        public static string GetArray(this ProductFrontend obj, string key, int index)
        {
            var str = GetValue(obj, key);

            if (!str.IsNullOrWhiteSpace())
            {
                var arr = str.Split(',');
                if (index < arr.Length)
                {
                    return(arr[index]);
                }
            }

            return(null);
        }
示例#5
0
        public static string GetValue(this ProductFrontend obj, string key)
        {
            var jss = new JavaScriptSerializer();

            if (!obj.Score.IsNullOrWhiteSpace())
            {
                try
                {
                    var map = jss.Deserialize <Dictionary <string, string> >(obj.Score);
                    return(map[key]);
                }
                catch
                {
                    return(null);
                }
            }

            return(null);
        }
示例#6
0
        protected override void OnLoad(EventArgs e)
        {
            var shopId = Request.QueryString["id"];

            if (shopId.IsNullOrEmpty())
            {
                Response.Redirect("/");
            }

            var productServcie = unity.GetInstance <IProductService>();

            Model = productServcie.GetProductWithAttr(shopId.TryParseToInt32());

            Page.Title = Model.Name;

            if (Model.IsNull() || Model.Status != 1)
            {
                Response.Redirect("/");
            }

            var adminService = unity.GetInstance <IAdminService>();
            var userService  = unity.GetInstance <IUserService>();

            Admin = adminService.GetAdmin(Model.Admin_Id);
            if (Admin != null)
            {
                TeamMaster = adminService.GetAdmin(Admin.Parent_Id);
                if (TeamMaster != null)
                {
                    Manager = adminService.GetAdmin(TeamMaster.Parent_Id);
                }
            }

            Seller = userService.GetUser(Model.Seller_Id);

            if (!Model.Picture.IsNullOrWhiteSpace())
            {
                var            images = Model.Picture.Split(',');
                IList <string> imgs   = new List <string>();

                if (images != null)
                {
                    foreach (var img in images)
                    {
                        if (!img.IsNullOrWhiteSpace())
                        {
                            imgs.Add(img);
                        }
                    }
                }

                ProductImgs = imgs;

                ProductImages.DataSource = imgs;
                ProductImages.DataBind();
            }

            rptAttrs.DataSource = Model.Attrs;
            rptAttrs.DataBind();

            rptKeywords.DataSource = Model.Keywords.IsNullOrWhiteSpace() ? null: Model.Keywords.Split('/');
            rptKeywords.DataBind();

            rptSimilar1.DataSource = productServcie.GetList(new Product.Query {
                Cat_Id = Model.Category_Id.ToString(), Status = 1
            }, 3);
            rptSimilar1.DataBind();

            rptSimilar2.DataSource = productServcie.GetList(new Product.Query {
                Cat_Id = Model.Category_Id.ToString(), Status = 1
            }, 4);
            rptSimilar2.DataBind();
        }
示例#7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ShopId = Request.QueryString["pid"].TryParseToInt32(0);

            if (Page.IsPostBack)
            {
                return;
            }

            var unity = new UnityContext();
            var svr   = unity.GetInstance <IAttributeService>();

            attributes = svr.GetList(new Model.Attribute.Query {
                Status = 1
            });


            if ("GET".Equals(Request.RequestType))
            {
            }
            else if ("POST".Equals(Request.RequestType))
            {
                var productService = unity.GetInstance <IProductService>();

                var shop = new ProductFrontend();

                shop.Type = Request.Form["type"].TryParseToInt32();
                //shop.Status = Request.Form["status"].TryParseToInt32();
                shop.Name        = Request.Form["spTitle"].TryParseToString();
                shop.Brief       = Request.Form["spBrief"].TryParseToString();
                shop.Url         = Request.Form["spUrl"].TryParseToString();
                shop.Subname     = Request.Form["spAdmin"].TryParseToString();
                shop.Start_Time  = Request.Form["shopHours"].TryParseToInt32(0);
                shop.Price       = Request.Form["shopsPrice"].TryParseToDecimal();
                shop.Category_Id = Request.Form["category_id"].TryParseToInt32(0);
                shop.Area        = Request.Form["area"].TryParseToString();

                var attrs = Request.Form.GetValues("attr[]");



                var productAttrs = new List <ProductAttr>();



                //处理Input=1
                foreach (var attr in attrs)
                {
                    var strAry = attr.Split('_');

                    if (strAry.Count() != 3)
                    {
                        continue;
                    }

                    var productAttr = new ProductAttr();
                    productAttr.Attr_Pid   = ShopId;
                    productAttr.Attr_Value = strAry[2];
                    productAttr.Attr_Id    = strAry[1].TryParseToInt32();
                    productAttr.Input      = strAry[0].TryParseToInt32();

                    productAttrs.Add(productAttr);
                }

                //处理Input=2,3
                foreach (var attr in attributes.Where(d => d.Pid == ShopId).ToList())
                {
                    if (attr.Input == 2 || attr.Input == 3)
                    {
                        var attrValues = Request.Form.GetValues(string.Format("input[{0}][{1}][]", attr.Input, attr.Id));

                        if (attrValues != null)
                        {
                            foreach (var attrVal in attrValues)
                            {
                                var productAttr = new ProductAttr();
                                productAttr.Attr_Pid   = ShopId;
                                productAttr.Attr_Value = attrVal;
                                productAttr.Attr_Id    = attr.Id;
                                productAttr.Input      = attr.Input;

                                productAttrs.Add(productAttr);
                            }
                        }
                    }
                }

                //shop = Request.Form["input"];
                // shop. = Request.Form["attr_id"];
                shop.Address_Id = Request.Form["address_id"].TryParseToInt32(0);

                var user = new UserConsignee();
                user.User_Id       = LoggedUser.Id;
                user.Consignee     = Request.Form["utruename"] ?? "";
                user.Mobile        = Request.Form["umobile"] ?? "";
                user.Phone         = Request.Form["utel"] ?? "";
                user.Qq            = Request.Form["uqq"] ?? "";
                user.Address       = "";
                user.Zip           = "";
                user.Email         = "";
                user.Fax           = "";
                user.Is_Def        = 1;
                user.Region_Values = "";

                shop.Content          = "";
                shop.Filename         = "";
                shop.Video            = "";
                shop.Buyer_Protection = "";
                shop.Mobile           = LoggedUser.Mobile;


                shop.UserConsignee = user;
                shop.Attrs         = productAttrs;

                shop.Admin_Id    = 1;
                shop.Guanlian_Id = 1;
                shop.Seller_Id   = LoggedUser.Id;

                productService.Add(shop);
                ViewState["Message"] = "发布网店成功";
            }
        }