コード例 #1
0
        public ActionResult AddComment(FormCollection formCollection)
        {
            int shopId = int.Parse(formCollection.Get("ShopId"));
            string star = formCollection.Get("CommentStar");
            string payMoney = formCollection.Get("PayMoney");
            string deliveryTime = formCollection.Get("DeliveryTime");
            string content = formCollection.Get("CommentContent");
            string requestUrl = formCollection.Get("RequestUrl");

            UserModel userModel = new UserModel();
            ShopModel shopModel = new ShopModel();

            UserInfo userInfo = userModel.GetUserInfo(User.Identity.Name);

            ShopComment shopComment = new ShopComment();
            shopComment.ShopId = shopId;
            shopComment.UserId = userInfo.Id;
            shopComment.Stars = String.IsNullOrWhiteSpace(star) ? (short)0 : short.Parse(star);
            shopComment.PayMoney = String.IsNullOrWhiteSpace(payMoney) ? (short)0 : short.Parse(payMoney);
            shopComment.DeliveryTime = String.IsNullOrWhiteSpace(deliveryTime) ? (short)0 : short.Parse(deliveryTime);
            shopComment.Comment = content;
            shopComment.CreateTime = DateTime.Now;
            shopModel.Add(shopComment);

            short shopAvgStars = (short)Math.Round(shopModel.GetShopComments(shopComment.ShopId).Average(r => r.Stars));
            short shopAvgPayMoney = (short)Math.Round(shopModel.GetShopComments(shopComment.ShopId).Average(r => r.PayMoney));
            short shopAvgDeliveryTime = (short)Math.Round(shopModel.GetShopComments(shopComment.ShopId).Average(r => r.DeliveryTime));

            ShopRankingAttribute shopRankingAttr = shopModel.GetShopRankingAttribute(shopId);
            shopRankingAttr.Stars = shopAvgStars;
            shopRankingAttr.AveragePayMoney = shopAvgPayMoney;
            shopRankingAttr.DeliveryTime = shopAvgDeliveryTime;
            shopModel.Save();

            Shop shopInfo = shopModel.GetShop(shopId);
            userModel.AddUserPoint(userInfo.Id, "对店铺 <a href=\"/shop/detail/" + shopId + "\">" + shopInfo.Name + "</a> 发表评论", 2);
            userModel.AddUserMessage(userInfo.Id, "积分动态", "您因对店铺 <a href=\"/shop/detail/" + shopId + "\">" + shopInfo.Name + "</a>进行了评论而获得了" + 2 + "点积分。");

            return Redirect(requestUrl);
        }
コード例 #2
0
        public ActionResult CheckOut()
        {
            HttpCookie orderCookie = Request.Cookies.Get("u_order");
            var jser = new System.Web.Script.Serialization.JavaScriptSerializer();
            Order order = jser.Deserialize<Order>(HttpUtility.UrlDecode(orderCookie.Value));

            List<string> takeoutTimes = new List<string>();
            DateTime timeStart = DateTime.Parse(DateTime.Now.ToString("HH:mm"));
            int minuteNow = timeStart.Minute;
            if(minuteNow < 15)
                timeStart = timeStart.AddMinutes(15 - minuteNow);
            else if(minuteNow < 30)
                timeStart = timeStart.AddMinutes(30 - minuteNow);
            else if(minuteNow < 45)
                timeStart = timeStart.AddMinutes(45 - minuteNow);
            else
                timeStart = timeStart.AddMinutes(60 - minuteNow);

            ShopModel shopModel = new ShopModel();
            Shop shopInfo = shopModel.GetShop(order.ShopId);
            if(TimeSpan.Compare(shopInfo.OfficeTimeBegin, timeStart.TimeOfDay) > 0)
                timeStart = DateTime.Parse(shopInfo.OfficeTimeBegin.ToString("HH:00"));

            while(timeStart.TimeOfDay <= shopInfo.OfficeTimeEnd && timeStart.Day <= DateTime.Now.Day)
            {
                takeoutTimes.Add(timeStart.ToString("HH:mm"));
                timeStart = timeStart.AddMinutes(15);
            }
            ViewBag.TakeoutTime = takeoutTimes;

            return View(order);
        }
コード例 #3
0
 public int ToggleShopHidden(int shopId)
 {
     bool hidden = false;
     try
     {
         ShopModel shopModel = new ShopModel();
         Shop shop = shopModel.GetShop(shopId);
         hidden = shop.Hidden = shop.Hidden ? false : true;
         shopModel.Save();
     }
     catch
     {
         return 0;
     }
     return hidden ? 1 : 0;
 }
コード例 #4
0
        public ActionResult Edit(string shopData)
        {
            UserModel userModel = new UserModel();
            UserInfo userInfo = userModel.GetUserInfo(User.Identity.Name);
            ShopModel shopModel = new ShopModel();
            var jser = new System.Web.Script.Serialization.JavaScriptSerializer();
            ShopEditorObject shopDataObj = jser.Deserialize<ShopEditorObject>(shopData);
            ShopWithSAObject newShopInfo = shopDataObj.ShopBaseInfo;
            int shopId = newShopInfo.Id;

            Shop shopInfo = shopModel.GetShop(shopId);
            if(userInfo.UserGradeCategory.GradeLevel != 9 && userInfo.Id != shopInfo.CreateBy)
                return Redirect("/");
            shopInfo.Name = newShopInfo.Name;
            shopInfo.Address = newShopInfo.Address;
            shopInfo.PhoneNumber = newShopInfo.PhoneNumber;
            shopInfo.CategoryId = newShopInfo.CategoryId;
            shopInfo.OfficeTimeBegin = newShopInfo.OfficeTimeBegin;
            shopInfo.OfficeTimeEnd = newShopInfo.OfficeTimeEnd;
            shopInfo.UpSendPrice = newShopInfo.UpSendPrice;
            shopInfo.Remark = newShopInfo.Remark;
            shopInfo.Latitude = newShopInfo.Latitude;
            shopInfo.Longitude = newShopInfo.Longitude;
            shopInfo.LastModifyAt = DateTime.Now;
            shopInfo.LastModifyBy = userInfo.Id;

            if (!String.IsNullOrWhiteSpace(newShopInfo.Logo))
            {
                string sourcePath = Server.MapPath(newShopInfo.Logo);
                string fileName = Path.GetFileName(sourcePath);
                if (!System.IO.File.Exists(Server.MapPath("~/Contents/ShopImages/") + fileName))
                    System.IO.File.Move(sourcePath, Server.MapPath("~/Contents/ShopImages/") + fileName);
                newShopInfo.Logo = fileName;
            }
            else
                newShopInfo.Logo = new Random().Next(1, 7) + ".jpg";
            shopInfo.Logo = newShopInfo.Logo;
            shopModel.Save();

            ShopModifyLog editLog = new ShopModifyLog();
            editLog.ShopId = shopId;
            editLog.ModifyBy = userInfo.Id;
            editLog.ModifyAt = DateTime.Now;
            shopModel.Add(editLog);

            shopModel.DeleteShopServiceAreas(shopId);
            if (newShopInfo.ServiceAreas != null)
            {
                foreach (int saItem in newShopInfo.ServiceAreas)
                {
                    ShopServiceArea shopServiceArea = new ShopServiceArea();
                    shopServiceArea.ShopId = shopId;
                    shopServiceArea.AreaId = saItem;
                    shopModel.AddWithoutSave(shopServiceArea);
                }
                shopModel.Save();
            }

            shopModel.DeleteDisheCategories(shopId);
            shopModel.DeleteDishes(shopId);
            List<DisheWithCategoryDetailObject> disheWithCats = shopDataObj.DisheWithCategoryDetail;
            foreach (DisheWithCategoryDetailObject dwcItem in disheWithCats)
            {
                ShopDisheCategory disheCategory = new ShopDisheCategory();
                disheCategory.ShopId = shopId;
                disheCategory.Value = dwcItem.CategoryName;
                shopModel.Add(disheCategory);

                foreach (ShopDishe disheItem in dwcItem.Dishes)
                {
                    ShopDishe dishe = disheItem;
                    dishe.ShopId = shopId;
                    dishe.CategoryId = disheCategory.Id;
                    shopModel.AddWithoutSave(dishe);
                }
                shopModel.Save();
            }

            return Json(new { status = 1, url = "/shop/detail/" + shopId }, JsonRequestBehavior.AllowGet);
        }
コード例 #5
0
        public ActionResult Edit(int id)
        {
            ShopModel shopModel = new ShopModel();
            Shop shopBaseInfo = shopModel.GetShop(id);
            UserModel userModel = new UserModel();
            UserInfo userInfo = userModel.GetUserInfo(User.Identity.Name);
            if(userInfo.UserGradeCategory.GradeLevel != 9 && shopBaseInfo.CreateBy != userInfo.Id)
                return Redirect("/");
            List<V_ShopDisheWithCategory> shopDisheWithCategory = shopModel.GetShopDishesWithCategory(id).OrderByDescending(r => r.DisheCategoryOrder).ToList();

            var shopCategories = shopModel.GetShopCategories();

            SelectList shopCategoryList = new SelectList(shopCategories, "Id", "Value");
            List<SelectListItem> shopCategorySelectList = shopCategoryList.ToList();

            for(int i = 0; i < shopCategorySelectList.Count; i++)
                if(shopCategorySelectList[i].Value == shopBaseInfo.CategoryId.ToString())
                {
                    shopCategorySelectList[i].Selected = true;
                    break;
                }
            ViewBag.ShopCategorySelectList = shopCategorySelectList;

            BaseDataModel baseDataModel = new BaseDataModel();
            var cityDistricts = baseDataModel.GetLocationsByParentId(214);
            ViewBag.CityDistrictSelectList = (new SelectList(cityDistricts, "Id", "Value")).ToList();

            List<ServiceArea> shopServiceAraes = shopModel.GetShopServiceAreas(id).ToList()
                .Select(r => new ServiceArea() { Id = r.AreaId, ParentId = r.ParentId, Value = r.ServiceArea, AreaType = r.AreaType }).ToList();
            ViewBag.ServiceAreaSelectList = shopServiceAraes;

            ViewBag.ShopDisheCategoryList = shopDisheWithCategory.GroupBy(r => new { r.CategoryId, r.CategoryValue })
                .Select(r => new SelectListItem() { Value = r.Key.CategoryId.ToString(), Text = r.Key.CategoryValue }).ToList();

            ViewBag.ShopLogo = Url.Content(shopImagePath + shopBaseInfo.Logo);
            ViewBag.OffsetTime = offsetTime;
            return View(new ShopDetailEditorModel(shopBaseInfo, shopDisheWithCategory));
        }