Example #1
0
        public ActionResult <object> GetBack(int Product_ID)
        {
            var(pList, prList, paList, rpList) = this._repository.GetBack(Product_ID);
            b_productVM productVM = null;

            foreach (var p in pList)
            {
                productVM = p.ConvertToT <b_productVM>();
                productVM.product_resourcesList = prList.Select(pr => pr.ConvertToT <b_product_resourcesVM>()).ToList();
                productVM.product_attributeList = paList.Select(pa => pa.ConvertToT <b_product_attributeVM>()).ToList();
                //productVM.rel_productList = rpList.Select(rp => rp.ConvertToT<b_productVM>()).ToList();
                productVM.rel_productList = new List <b_productVM>();

                if (rpList != null && rpList.Count() > 0)
                {
                    var(r_pList, r_prList) = this._repository.GetProductListByIDs <b_product_Entity, b_product_resources_Entity>(rpList.Select(rp => rp.Product_ID));
                    foreach (var rp in r_pList)
                    {
                        b_productVM r_productVM = rp.ConvertToT <b_productVM>();
                        r_productVM.product_resourcesList = r_prList.Where(pr => pr.Product_ID == rp.Product_ID).Select(pr => pr.ConvertToT <b_product_resourcesVM>()).ToList();
                        productVM.rel_productList.Add(r_productVM);
                    }
                }

                break;
            }
            return(productVM.ResponseSuccess());
        }
Example #2
0
        public ActionResult <object> Update([FromBody] b_productVM model)
        {
            b_product_Entity entity = model.ConvertToT <b_product_Entity>();

            this.SetUpdateUserInfo(entity);
            CacheFactory.CacheInstance.RemovePrefix(Constant.Cache_Product_Prefix);
            return(this._repository.Update(entity, model.Product_ID).ResponseSuccess());
        }
Example #3
0
        public ActionResult <object> GetList([FromBody] b_productVM model, int pageindex = 1, int pagesize = 24)
        {
            b_product_Entity entity = model.ConvertToT <b_product_Entity>();

            var(list, total) = this._repository.GetList(entity, pageindex, pagesize);

            return(list.ResponseSuccess("", total));
        }
Example #4
0
        public ActionResult <object> GetNewProductList(Lang lang, int categoryID = -1, int pageindex = 1, int pagesize = 24)
        {
            string             key      = string.Format(Constant.Cache_ProductNewList, pageindex, pagesize, lang);
            string             totalKey = string.Format(Constant.Cache_ProductNewListTotal, pageindex, pagesize, lang);
            var                total    = CacheFactory.CacheInstance.Get <int>(totalKey);
            List <b_productVM> vmList   = CacheFactory.CacheInstance.Get <List <b_productVM> >(key) ?? new List <b_productVM>();

            if (vmList == null || vmList.Count <= 0)
            {
                var(ids, rows) = this._repository.GetProductIDList <int>(categoryID, "", 1, -1, -1, pageindex, pagesize);
                total          = rows;

                if (ids != null && ids.Count() > 0)
                {
                    var(pList, prList) = this._repository.GetProductListByIDs <b_product_Entity, b_product_resources_Entity>(ids);
                    foreach (var p in pList)
                    {
                        b_productVM productVM = p.ConvertToT <b_productVM>();
                        switch (lang)
                        {
                        case Lang.CHS:
                            productVM.Product_Name_HK = productVM.Product_Name_CH;
                            break;

                        case Lang.CHT:
                            productVM.Product_Name_CH = productVM.Product_Name_HK;
                            break;
                        }
                        productVM.product_resourcesList = prList.Where(pr => pr.Product_ID == p.Product_ID).Select(pr => pr.ConvertToT <b_product_resourcesVM>()).ToList();
                        vmList.Add(productVM);
                    }
                    CacheFactory.CacheInstance.Add(key, vmList);
                    CacheFactory.CacheInstance.Add(totalKey, total);
                }
            }
            return(vmList.ResponseSuccess("", total));
        }
Example #5
0
        public ActionResult <object> Get(Lang lang, int Product_ID)
        {
            string      key       = string.Format(Constant.Cache_Product, Product_ID, lang);
            b_productVM productVM = CacheFactory.CacheInstance.Get <b_productVM>(key);

            if (productVM == null)
            {
                var(pList, prList, paList, rpList) = this._repository.Get(Product_ID);
                foreach (var p in pList)
                {
                    productVM = p.ConvertToT <b_productVM>();
                    productVM.product_resourcesList = prList.Select(pr => pr.ConvertToT <b_product_resourcesVM>()).ToList();
                    productVM.product_attributeList = paList.Select(pa => pa.ConvertToT <b_product_attributeVM>()).ToList();
                    productVM.rel_productList       = new List <b_productVM>();
                    if (rpList != null && rpList.Count() > 0)
                    {
                        var(r_pList, r_prList) = this._repository.GetProductListByIDs <b_product_Entity, b_product_resources_Entity>(rpList.Select(rp => rp.Product_ID));
                        foreach (var rp in r_pList)
                        {
                            b_productVM r_productVM = rp.ConvertToT <b_productVM>();
                            switch (lang)
                            {
                            case Lang.CHS:
                                r_productVM.Product_Name_HK = r_productVM.Product_Name_CH;
                                break;

                            case Lang.CHT:
                                r_productVM.Product_Name_CH = r_productVM.Product_Name_HK;
                                break;
                            }
                            r_productVM.product_resourcesList = r_prList.Where(pr => pr.Product_ID == rp.Product_ID).Select(pr => pr.ConvertToT <b_product_resourcesVM>()).ToList();
                            productVM.rel_productList.Add(r_productVM);
                        }
                    }
                    switch (lang)
                    {
                    case Lang.CHS:
                        productVM.Product_Name_HK = productVM.Product_Name_CH;
                        if (productVM.product_attributeList != null)
                        {
                            foreach (var a in productVM.product_attributeList)
                            {
                                a.P_Attribute_Name_HK  = a.P_Attribute_Name_CH;
                                a.P_Attribute_Value_HK = a.P_Attribute_Value_CH;
                            }
                        }
                        if (productVM.rel_productList != null)
                        {
                            foreach (var pr in productVM.rel_productList)
                            {
                                p.Product_Name_HK = p.Product_Name_CH;
                            }
                        }
                        break;

                    case Lang.CHT:
                        productVM.Product_Name_CH = productVM.Product_Name_HK;
                        if (productVM.product_attributeList != null)
                        {
                            foreach (var a in productVM.product_attributeList)
                            {
                                a.P_Attribute_Name_CH  = a.P_Attribute_Name_HK;
                                a.P_Attribute_Value_CH = a.P_Attribute_Value_HK;
                            }
                        }
                        if (productVM.rel_productList != null)
                        {
                            foreach (var pr in productVM.rel_productList)
                            {
                                p.Product_Name_CH = p.Product_Name_HK;
                            }
                        }
                        break;
                    }
                    break;
                }
                CacheFactory.CacheInstance.Add(key, productVM);
            }
            return(productVM.ResponseSuccess());
        }