Example #1
0
        public async Task <IActionResult> Index()
        {
            var pageIndex = 1;
            var pageSize  = 12;

            var boCollection = await _BoRepository.PaginateAsyn(pageIndex, pageSize, x => x.SortCode, null, x => x.SK_WM_GoodsCategory);

            var boVMCollection = new List <SK_WM_GoodsVM>();

            var orderNumber = 0;

            foreach (var bo in boCollection)
            {
                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                boVMCollection.Add(boVM);
            }
            var user = User.Identity;

            ViewBag.UserLogonInformation = "";
            if (user != null)
            {
                ViewBag.UserLogonInformation = user.Name;
            }

            return(View("Index", boVMCollection));
        }
Example #2
0
        /// <summary>
        ///  订单确认页面
        /// </summary>
        /// <returns></returns>
        //public async Task<IActionResult> CheckStand(List<SK_WM_OrderItem> orderItems, string orders)
        //{
        //    ////获取用户的姓名
        //    //ViewBag.UserLogonInformation = GetUserName();

        //    //var username = User.Identity.Name;
        //    //var user = await _UserManager.FindByNameAsync(username);
        //    //if (user == null)
        //    //{
        //    //    return View("../../Views/Home/Logon");
        //    //}
        //    //if (orders != "" || orders != null)
        //    //{
        //    //    orderItems = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SK_WM_OrderItem>>(orders);
        //    //}
        //    //else
        //    //{
        //    //    orderItems = null;
        //    //    return View();
        //    //}

        //    //ViewBag.GoodsShop = orderItems;

        //    //var orderItemVM = new List<SK_WM_OrderItemVM>();
        //    //foreach (var item in orderItems)
        //    //{
        //    //    var goods = _GoodsRepository.GetSingleBy(x => x.ID == Guid.Parse(item.GoodsID));
        //    //    var imgs = await _ImageRepository.FindByAsyn(x => x.RelevanceObjectID == goods.ID);
        //    //    var img = imgs.Where(x => x.IsForTitle == true).FirstOrDefault();
        //    //    var shop = _ShopRepository.GetSingleBy(x => x.ID == Guid.Parse(goods.BelongToShopID));


        //    //    item.GoodsID = goods.ID.ToString();
        //    //    item.ShopName = shop.Name;
        //    //    item.ImgPath = img.UploadPath;
        //    //    item.Price = goods.Price;
        //    //    item.TotalPrice = (Convert.ToDecimal(goods.Price) * item.Count).ToString();

        //    //    var orderItem = new SK_WM_OrderItemVM(item);
        //    //    orderItemVM.Add(orderItem);
        //    //}

        //    return View("../Home/OrderSure" /*orderItemVM*/);
        //}

        /// <summary>
        /// 店铺查询(客户访问)
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Shop(Guid id)
        {
            //获取用户的姓名
            ViewBag.UserLogonInformation = GetUserName();

            //获取所有的店铺 根据当前用户的ID查询当对应的店铺信息
            var shops = await _ShopRepository.GetAllIncludingAsyn(x => x.ShopForUser, x => x.ShopAvatar, x => x.ShopBanner, x => x.ShopForExecuteIllegal);

            var shopForCurrUser = shops.Where(x => x.ID == id && x.ShopForExecuteIllegal.ShopState == (SK_WM_ShopState.ShopState.已开启).ToString());
            var currShopID      = shopForCurrUser.FirstOrDefault().ID;

            ViewBag.CurrShop = shopForCurrUser.FirstOrDefault();

            //取出店铺对应的商品集合
            var goodsCollection = await _BoRepository.GetAllIncludingAsyn(x => x.Shop);

            var goodsCollectionForCurrShop = goodsCollection.Where(x => x.Shop.ID == currShopID);
            var goodsVMCollection          = new List <SK_WM_GoodsVM>();

            var orderNumber = 0;

            foreach (var bo in goodsCollectionForCurrShop)
            {
                var image = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID).FirstOrDefault();
                bo.GoodsIMG = image;
                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                goodsVMCollection.Add(boVM);
            }
            return(View("Shop", goodsVMCollection));
        }
Example #3
0
        public async Task <IActionResult> CreateOrEdit(Guid id)
        {
            var isNew = false;
            var bo    = await _BoRepository.GetSingleAsyn(id, x => x.SK_WM_GoodsCategory);

            if (bo == null)
            {
                bo             = new SK_WM_Goods();
                bo.Name        = "";
                bo.ShelvesTime = DateTime.Now;
                bo.ModifyTime  = DateTime.Now;
                bo.Description = "";
                //bo.IMG = "";
                isNew = true;
            }
            bo.ModifyTime = DateTime.Now;
            var boVM           = new SK_WM_GoodsVM(bo);
            var goodsCategorys = _BoRepository.EntitiesContext.SK_WM_GoodsCategory.ToList();

            var selectItems = new List <PlainFacadeItem>();

            foreach (var item in goodsCategorys)
            {
                selectItems.Add(new PlainFacadeItem()
                {
                    ID = item.ID.ToString(), Name = item.Name, SortCode = item.SortCode, DisplayName = item.Name
                });
            }
            boVM.GoodsCategoryCollection = selectItems;
            boVM.IsNew = isNew;

            return(View("../../Views/BusinessOrganization/AdminBG/CreateOrEdit", boVM));
        }
Example #4
0
        /// <summary>
        /// 店铺查询(店家访问)
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> ShopForBusiness()
        {
            if (GetUserName() == null)
            {
                return(View("../../Views/Home/Logon"));
            }
            //获取用户的姓名
            ViewBag.UserLogonInformation = GetUserName();

            //获取当前登录的用户信息
            var userName = User.Identity.Name;
            var user     = await _UserManager.FindByNameAsync(userName);


            //获取所有的店铺 根据当前用户的ID查询当对应的店铺信息
            var shops = await _ShopRepository.GetAllIncludingAsyn(x => x.ShopForUser, x => x.ShopAvatar, x => x.ShopBanner, x => x.ShopForExecuteIllegal);

            //店铺被封禁 暂时返回主页(未做其他处理)
            //var isIllegal = shops.Where(x => x.ShopForUser.Id == user.Id).FirstOrDefault().ShopForExecuteIllegal.ShopState;
            //if (shops.Where(x => x.ShopForUser.Id == user.Id).FirstOrDefault().ShopForExecuteIllegal.ShopState == (SK_WM_ShopState.ShopState.已停封).ToString())
            //{
            //    return Redirect("../../Home/Index");
            //}
            var shopForCurrUser = shops.Where(x => x.ShopForUser.Id == user.Id && x.ShopForExecuteIllegal.ShopState == (SK_WM_ShopState.ShopState.已开启).ToString());

            //判断当前用户是否已经开了店铺(如果没有则跳转至申请入驻页面)
            if (shopForCurrUser.Count() == 0)
            {
                return(Redirect("../ShopManager/Settled"));
            }
            var currShopID = shopForCurrUser.FirstOrDefault().ID;

            ViewBag.CurrShop = shopForCurrUser.FirstOrDefault();

            //取出店铺对应的商品集合
            var goodsCollection = await _BoRepository.GetAllIncludingAsyn(x => x.Shop);

            var goodsCollectionForCurrShop = goodsCollection.Where(x => x.Shop.ID == currShopID);
            var goodsVMCollection          = new List <SK_WM_GoodsVM>();

            var orderNumber = 0;

            foreach (var bo in goodsCollectionForCurrShop)
            {
                var image = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID).FirstOrDefault();
                bo.GoodsIMG = image;
                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                goodsVMCollection.Add(boVM);
            }
            return(View("Shop", goodsVMCollection));
        }
Example #5
0
        public async Task <IActionResult> ComDetail(Guid id)
        {
            ViewBag.UserLogonInformation = GetUserName();

            var goods = await _BoRepository.GetAllIncludingAsyn(x => x.Shop, x => x.ShopForUser, x => x.SK_WM_GoodsCategory, x => x.GoodsIMG);

            var bo     = goods.Where(x => x.ID == id).FirstOrDefault();
            var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);

            ViewBag.Imgs = images;
            var boVM = new SK_WM_GoodsVM(bo);

            return(View("ComDetail", boVM));
        }
Example #6
0
        public IActionResult SpecialtyExamine(string selectNnm)
        {
            ViewBag.UserLogonInformation = GetUserName();
            var listPagePara = new ListPageParameter()
            {
                ObjectTypeID     = "Order",    // 对应的归属类型ID
                PageIndex        = 1,          // 当前页码
                PageSize         = 1,          // 每页数据条数 为"0"时显示所有
                PageAmount       = 0,          // 相关对象列表分页处理分页数量
                ObjectAmount     = 0,          // 相关的对象的总数
                Keyword          = "",         // 当前的关键词
                SortProperty     = "SortCode", // 排序属性
                SortDesc         = "default",  // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend
                SelectedObjectID = "",         // 当前页面处理中处理的焦点对象 ID
                IsSearch         = false,      // 当前是否为检索
            };

            listPagePara.PageIndex = selectNnm != null?Convert.ToInt32(selectNnm) : 1;

            var user = User.Claims.FirstOrDefault();

            if (user.Value == new Guid().ToString())
            {
                return(View("../../Views/Home/Logon"));
            }
            var shop = _ShopRepository.GetSingleBy(x => x.ShopForUser.Id == user.Value);
            //查询订单详细所关联的商品列表
            var GoodsItems     = _GoodsRepository.FindBy(x => x.Shop.ID == shop.ID); //获取订单和订单对应的用户和商品
            var orVMCollection = new List <SK_WM_GoodsVM>();                         //存放用户所有订单

            var OrderAll = GoodsItems.AsQueryable <SK_WM_Goods>();
            var GoodsCollectionPageList = IQueryableExtensions.ToPaginatedList(OrderAll, listPagePara.PageIndex, listPagePara.PageSize);

            foreach (var order in GoodsCollectionPageList)
            {
                var omVM = new SK_WM_GoodsVM(order);
                orVMCollection.Add(omVM);
            }

            var pageGroup = PagenateGroupRepository.GetItem <SK_WM_Goods>(GoodsCollectionPageList, 3, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;

            return(View("../../Views/BusinessOrganization/BusinessBG/SpecialtyExamine", orVMCollection));
        }
Example #7
0
        /// <summary>
        /// 以局部页的方式的方式,构建明细数据的处理
        /// </summary>
        /// <param name="id">商品对象的ID属性值</param>
        public async Task <IActionResult> Detail(Guid id)
        {
            var bo = await _BoRepository.GetSingleAsyn(id, x => x.SK_WM_GoodsCategory);

            var images   = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);
            var imgCount = 0;

            foreach (var img in images)
            {
                bo.GoodsIMG = img;
                imgCount++;
            }
            ViewBag.imgCount   = imgCount;
            ViewBag.DetailImgs = images;
            var boVM = new SK_WM_GoodsVM(bo);

            ViewBag.UserLogonInformation = GetUserName();
            return(PartialView("../../Views/BusinessOrganization/PublicView/_Detail", boVM));
        }
Example #8
0
        public async Task <IActionResult> Index()
        {
            var pageIndex = 1;
            var pageSize  = 24;

            var boCollection = await _BoRepository.PaginateAsyn(pageIndex, pageSize, x => x.SortCode, null, x => x.SK_WM_GoodsCategory);

            var boVMCollection = new List <SK_WM_GoodsVM>();
            var goodsCategory  = _CateRepository.GetAll();
            var orderNumber    = 0;

            foreach (var bo in boCollection)
            {
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);

                foreach (var image in images)
                {
                    if (image.IsForTitle == true)
                    {
                        bo.GoodsIMG = image;
                    }
                }

                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                boVMCollection.Add(boVM);
            }

            //获取用户的姓名
            ViewBag.UserLogonInformation = GetUserName();
            //获取网站标题
            ViewBag.SiteTitle = SiteSettingsDetail().Name;

            GetGoodsForSearchHot();
            string[] colorStart = new string[] { "#6bdea7", "#ff9229", "#b474fe", "#ff90a0" };
            string[] colorEnd   = new string[] { "#68937f", "#d17b28", "#594e90", "#cf7986" };
            //ABOS_Admin();
            ViewBag.colorStart = colorStart;
            ViewBag.colorEnd   = colorEnd;

            //分类查询
            //小吃快餐
            var snVMCollection = new List <SK_WM_GoodsVM>();
            var snCollection   = boCollection.Where(x => x.SK_WM_GoodsCategory.Name == "小吃快餐").OrderByDescending(x => x.SalesVolume);

            foreach (var bo in snCollection)
            {
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);

                foreach (var image in images)
                {
                    if (image.IsForTitle == true)
                    {
                        bo.GoodsIMG = image;
                    }
                }

                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                snVMCollection.Add(boVM);
            }
            ViewBag.snackFood = snVMCollection;

            //烧烤烤肉
            var baVMCollection = new List <SK_WM_GoodsVM>();
            var baCollection   = boCollection.Where(x => x.SK_WM_GoodsCategory.Name == "烧烤烤肉").OrderByDescending(x => x.SalesVolume);

            foreach (var bo in baCollection)
            {
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);

                foreach (var image in images)
                {
                    if (image.IsForTitle == true)
                    {
                        bo.GoodsIMG = image;
                    }
                }

                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                baVMCollection.Add(boVM);
            }
            ViewBag.barbecue = baVMCollection;

            //甜点饮品
            var dsVMCollection = new List <SK_WM_GoodsVM>();
            var dsCollection   = boCollection.Where(x => x.SK_WM_GoodsCategory.Name == "甜点饮品").OrderByDescending(x => x.SalesVolume);

            foreach (var bo in dsCollection)
            {
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);

                foreach (var image in images)
                {
                    if (image.IsForTitle == true)
                    {
                        bo.GoodsIMG = image;
                    }
                }

                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                dsVMCollection.Add(boVM);
            }
            ViewBag.dessert = dsVMCollection;
            //其他美食
            var otVMCollection = new List <SK_WM_GoodsVM>();
            var otCollection   = boCollection.Where(x => x.SK_WM_GoodsCategory.Name == "其他美食").OrderByDescending(x => x.SalesVolume);

            foreach (var bo in otCollection)
            {
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);

                foreach (var image in images)
                {
                    if (image.IsForTitle == true)
                    {
                        bo.GoodsIMG = image;
                    }
                }

                var boVM = new SK_WM_GoodsVM(bo);
                boVM.OrderNumber = (++orderNumber).ToString();
                otVMCollection.Add(boVM);
            }
            ViewBag.otherDelicacies = otVMCollection;


            ViewBag.categorys = goodsCategory;
            return(View("Index", boVMCollection));
        }
Example #9
0
        public async Task <IActionResult> List(int pageIndex)
        {
            var listPagePara = new ListPageParameter()
            {
                ObjectTypeID     = "Goods",    // 对应的归属类型ID
                PageIndex        = pageIndex,  // 当前页码
                PageSize         = 8,          // 每页数据条数 为"0"时显示所有
                PageAmount       = 0,          // 相关对象列表分页处理分页数量
                ObjectAmount     = 0,          // 相关的对象的总数
                Keyword          = "",         // 当前的关键词
                SortProperty     = "SortCode", // 排序属性
                SortDesc         = "default",  // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend
                SelectedObjectID = "",         // 当前页面处理中处理的焦点对象 ID
                IsSearch         = false,      // 当前是否为检索
            };

            var typeID  = "";
            var keyword = "";

            if (!String.IsNullOrEmpty(listPagePara.ObjectTypeID))
            {
                typeID = listPagePara.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPagePara.Keyword))
            {
                keyword = listPagePara.Keyword;
            }

            var username = User.Identity.Name;
            var user     = await _UserManager.FindByNameAsync(username);

            if (user == null)
            {
                return(View("../../Views/Home/Logon"));
            }
            //var pageIndex = 1;
            //var pageSize = 50;
            //var boCollection = new List<SK_WM_Goods>();

            var boCollection = await _BoRepository.PaginateAsyn(listPagePara.PageIndex, listPagePara.PageSize, x => x.SortCode, null, x => x.SK_WM_GoodsCategory);


            var shop = await _ShopRepository.FindByAsyn(x => x.BelongToUserID == user.Id);

            var boVMCollection = new List <SK_WM_GoodsVM>();

            var orderNumber = 0;



            foreach (var bo in boCollection)
            {
                //if (bo.BelongToShopID == shop.FirstOrDefault().ID.ToString())
                //{
                var boVM   = new SK_WM_GoodsVM(bo);
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);
                if (images != null)
                {
                    foreach (var img in images)
                    {
                        if (img.IsForTitle == true)
                        {
                            boVM.AvatarPath = img.UploadPath;
                        }
                    }
                    //}
                    boVM.OrderNumber = (++orderNumber).ToString();
                    boVMCollection.Add(boVM);
                }
            }
            var pageGroup = PagenateGroupRepository.GetItem <SK_WM_Goods>(boCollection, 10, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            //return View("../../Views/BusinessOrganization/BusinessBG/Index", boVMCollection);
            //}
            return(PartialView("../../Views/BusinessOrganization/PublicView/_List", boVMCollection));
        }
Example #10
0
        public async Task <IActionResult> Save([Bind("ID,IsNew,Name,GoodsCategoryID,Description,SortCode,ShelvesTime,ModifyTime,Price,FacadePrice,Unit,SalesVolume,Stock,State")] SK_WM_GoodsVM boVM)
        {
            var validateMessage = new ValidateMessage();

            if (ModelState.IsValid)
            {
                var username = User.Identity.Name;
                var user     = await _UserManager.FindByNameAsync(username);

                var shop = await _ShopRepository.FindByAsyn(x => x.BelongToUserID == user.Id);

                var hasDuplicateNmaeGoods = await _BoRepository.HasInstanceAsyn(x => x.Name == boVM.Name);

                if (hasDuplicateNmaeGoods && boVM.IsNew)
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "Name", Message = "商品名重复,换一个试试看吧"
                    });
                    return(Json(validateMessage));
                }

                var bo = new SK_WM_Goods();
                if (!boVM.IsNew)
                {
                    bo = await _BoRepository.GetSingleAsyn(boVM.ID);

                    if (bo.BelongToUserID != user.Id)
                    {
                        validateMessage.IsOK = false;
                        validateMessage.ValidateMessageItems.Add(
                            new ValidateMessageItem()
                        {
                            IsPropertyName = false, MessageName = "Name", Message = "该商品不是你的,你没有权限编辑"
                        });
                        return(Json(validateMessage));
                    }
                }

                // 处理一般的属性数据
                boVM.MapToBo(bo);

                // 处理关联数据
                if (!String.IsNullOrEmpty(boVM.GoodsCategoryID))
                {
                    var skwmgclssID = Guid.Parse(boVM.GoodsCategoryID);
                    var skwmgclss   = _BoRepository.EntitiesContext.SK_WM_GoodsCategory.FirstOrDefault(x => x.ID == skwmgclssID);
                    bo.SK_WM_GoodsCategory = skwmgclss;
                }

                var saveStatus = false;

                //处理上传文件
                var  serverPath = "";
                long size       = 0;
                var  files      = Request.Form.Files;

                if (files.Count() > 0)
                {
                    int i = 0;
                    foreach (var file in files)
                    {
                        var fileName = ContentDispositionHeaderValue
                                       .Parse(file.ContentDisposition)
                                       .FileName
                                       .Trim('"')
                                       .Substring(files[0].FileName.LastIndexOf("\\") + 1);

                        fileName = bo.ID + "_" + fileName;

                        var boPath = "../../images/goodsImg/" + fileName;
                        fileName   = _HostingEnv.WebRootPath + $@"\images\goodsImg\{fileName}";
                        serverPath = fileName;
                        size      += file.Length;
                        using (FileStream fs = System.IO.File.Create(fileName))
                        {
                            file.CopyTo(fs);
                            fs.Flush();
                        }

                        var businessIamge = new BusinessImage()
                        {
                            DisplayName       = bo.Name,
                            RelevanceObjectID = bo.ID,
                            UploadPath        = boPath
                        };
                        if (i == 0)
                        {
                            businessIamge.IsForTitle = true;
                        }

                        bo.GoodsIMG = businessIamge;
                        i++;
                        await _ImageRepository.AddOrEditAndSaveAsyn(businessIamge);
                    }
                }

                bo.ShopForUser    = user;
                bo.BelongToUserID = user.Id;
                bo.BelongToShopID = shop.FirstOrDefault().ID.ToString();
                bo.Shop           = shop.FirstOrDefault();
                saveStatus        = await _BoRepository.AddOrEditAndSaveAsyn(bo);

                if (saveStatus)
                {
                    validateMessage.IsOK = true;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem
                    {
                        IsPropertyName = false,
                        MessageName    = "Succeed",
                        Message        = ""
                    });

                    return(Json(validateMessage));
                }
                else
                {
                    validateMessage.IsOK = false;
                    validateMessage.ValidateMessageItems.Add(
                        new ValidateMessageItem()
                    {
                        IsPropertyName = false, MessageName = "RemoteErr", Message = "数据保存异常"
                    });
                    return(Json(validateMessage));
                }
            }
            else
            {
                //return View("../../Views/BusinessOrganization/BusinessBG/CreateOrEdit", boVM);
                validateMessage.IsOK = false;
                var errCollection = from errKey in ModelState.Keys
                                    from errMessage in ModelState[errKey].Errors
                                    where ModelState[errKey].Errors.Count > 0
                                    select(new { errKey, errMessage.ErrorMessage });

                foreach (var errItem in errCollection)
                {
                    var vmItem = new ValidateMessageItem()
                    {
                        IsPropertyName = true,
                        MessageName    = errItem.errKey,
                        Message        = errItem.ErrorMessage
                    };
                    validateMessage.ValidateMessageItems.Add(vmItem);
                }
                return(Json(validateMessage));
            }
        }