public ActionResult Search(ProductSearchModel model)
        {
            try
            {
                int totalRow   = 0;
                var lstProduct = _productBo.GetList(model.KeyWord, out totalRow, model.PageIndex, model.PageSize).ToList();
                if (lstProduct.Any())
                {
                    var lstModel = lstProduct.Select(x => new ProductViewModel(x));
                    var pager    = new Pager {
                        CurrentPage = model.PageIndex, PageSize = model.PageSize, TotalItem = totalRow
                    };
                    Msg.Obj = new { Data = lstModel, Pager = pager };

                    Msg.Error = false;
                }
                else
                {
                    Msg.Obj = new { Data = lstProduct, Pager = new Pager() };
                }
            }
            catch (Exception ex)
            {
                Msg.Obj   = null;
                Msg.Error = true;
            }

            return(AuthorizeJson(Msg));
        }
Example #2
0
        public ActionResult Update(string encryptId)
        {
            OrderFullViewModel model = new OrderFullViewModel();
            int id = !string.IsNullOrEmpty(encryptId) ? EncryptUtility.DecryptId(encryptId) : 0;
            //List<EnumInfo> listOrderType = GetEnumValuesAndDescriptions<OrderTypeEnum>();
            //List<EnumInfo> listSourceType = GetEnumValuesAndDescriptions<SourceTypeEnum>();
            List <OrderDetailViewModel> listOrderDetail = new List <OrderDetailViewModel>();
            int            totalRow    = 0;
            List <Product> listProduct = (List <Product>)_productBo.GetList("", out totalRow);

            if (listProduct != null && listProduct.Count > 0)
            {
                foreach (Product product in listProduct)
                {
                    OrderDetailViewModel orderDetailViewModel = new OrderDetailViewModel(product);
                    listOrderDetail.Add(orderDetailViewModel);
                }
            }
            if (id > 0)
            {
                model = _orderBo.GetByFullValueById(id);
                model.lstOrderDetailViewModel = listOrderDetail;
                model.ListProductViewModel    = _orderBo.GetByOrderId(id).ToList();
                model.ListDistrict            = (List <District>)_districtBoCached.GetAll();
                model.ListWard = (List <Ward>)_wardBoCached.GetByDistrictId(model.DistrictId);
                if (model.DeliverDate == DateTime.MinValue)
                {
                    model.DeliverDate = DateTime.Now;
                }
                else
                {
                }
                model.DeliverDateStr = model.DeliverDate.ToString("dd/MM/yyyy HH:mm");

                ViewBag.Title = "Sửa đơn hàng";
            }
            else
            {
                var             result       = new Order();
                List <District> listDistrict = (List <District>)_districtBoCached.GetAll();
                List <Ward>     listWard     = new List <Ward>();

                model = new DVG.WIS.PublicModel.OrderFullViewModel(result, new District(), new Ward(), listOrderDetail);
                model.ListDistrict = listDistrict;
                //model.ListOrderType = listOrderType;
                model.DeliverDate          = DateTime.Now;
                model.DeliverDateStr       = DateTime.Now.ToString("dd/MM/yyyy HH:mm");
                model.ListProductViewModel = new List <OrderDetailViewModel>();
                model.OrderType            = -1;
                model.SourceType           = -1;

                ViewBag.Title = "Tạo đơn hàng";
            }
            model.ProductViewModelItem = new OrderDetailViewModel();
            model.CityCode             = "SG";

            return(View(model));
        }
Example #3
0
        public ActionResult Search(ProductSearchModel model)
        {
            ResponseData responseData = new ResponseData();

            responseData.Success = false;
            try
            {
                int totalRow   = 0;
                var lstProduct = _productBo.GetList(model.KeyWord, out totalRow, model.PageIndex, model.PageSize).ToList();
                if (lstProduct.Any())
                {
                    var lstModel = lstProduct.Select(x => new ProductViewModel(x));
                    responseData.Data     = lstModel;
                    responseData.TotalRow = totalRow;
                    responseData.Success  = true;
                }
            }
            catch (Exception ex)
            {
                responseData.Data = null;
            }

            return(Json(responseData));
        }
        public ActionResult Index(string alias, string textSearch, int pageIndex = 1)
        {
            int cateId = 0;

            if (!string.IsNullOrEmpty(textSearch))
            {
                textSearch = textSearch.Replace('-', ' ');
                textSearch = StringUtils.UnicodeToUnsignChar(textSearch);
            }

            SearchProduct searchInfo = new SearchProduct()
            {
                CateId     = cateId,
                TextSearch = textSearch,
                OrderBy    = CookieManager.Instance.Get <int>(Const.ArrangeProduct).ToInt(0),
                PageIndex  = pageIndex,
                PageSize   = Const.PageSizeProduct
            };

            #region Redirect Permanent 301

            string standardUrl = _buildLinkBo.ParserProductUrl(alias, ref searchInfo);

            string url301     = standardUrl;
            string currentUrl = Request.RawUrl;

            if (currentUrl.Contains("?utm_source"))
            {
                string strUtm = currentUrl.Substring(currentUrl.IndexOf("?utm_source"), currentUrl.Length - currentUrl.IndexOf("?utm_source"));
                url301 = string.Concat(url301, strUtm);
            }
            if (!currentUrl.Equals(url301))
            {
                return(Redirect301(url301));
            }

            #endregion

            ProductListModel model = new ProductListModel();
            int totalRows          = _productBo.GetListCount(searchInfo);
            if (totalRows > 0)
            {
                model.ProductList = _productBo.GetList(searchInfo);

                #region paging

                Pagings pageModel = new Pagings
                {
                    PageIndex = pageIndex,
                    Count     = totalRows,
                    LinkSite  = Utils.GetCurrentURL(standardUrl, pageIndex),
                    PageSize  = Const.PageSizeProduct
                };
                model.PagingInfo       = pageModel;
                ViewBag.MetaPagination = SEO.MetaPagination(pageModel.Count, pageIndex, pageModel.PageSize, pageModel.LinkSite);

                #endregion
            }
            if (pageIndex > 1 && totalRows > 0 && (model.ProductList == null || model.ProductList.Count == 0))
            {
                return(Redirect(model.PagingInfo.LinkSite));
            }

            model.SearchInfo = searchInfo;

            #region Meta

            //string titlePage = Const.MetaMainTitle;
            //string metaTitle = titlePage;
            //string metaDescription = Const.MetaMainDescription;
            //string metaKeyword = Const.MetaMainKeyword;

            MetaModel metaTag  = _buildLinkBo.BuildMetaProduct(searchInfo);
            string    metaTags = SEO.Instance.BindingMeta(standardUrl, metaTag.MetaTitle, metaTag.MetaDescription, metaTag.MetaKeyword);

            model.TitlePage   = metaTag.TitlePage;
            ViewBag.MetaTitle = metaTag.MetaTitle;
            ViewBag.Meta      = metaTags;

            #endregion

            return(View(model));
        }