Example #1
0
        public ActionResult Create(string shopData)
        {
            ShopModel shopModel = new ShopModel();
            var jser = new System.Web.Script.Serialization.JavaScriptSerializer();
            ShopEditorObject shopDataObj = jser.Deserialize<ShopEditorObject>(shopData);
            ShopWithSAObject newShopInfo = shopDataObj.ShopBaseInfo;
            UserModel userModel = new UserModel();
            UserInfo userInfo = userModel.GetUserInfo(User.Identity.Name);

            Shop shopInfo = new Shop();
            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.CreateTime = DateTime.Now;
            shopInfo.LastModifyAt = shopInfo.CreateTime;
            shopInfo.CreateBy = userInfo.Id;
            shopInfo.LastModifyBy = shopInfo.CreateBy;
            shopInfo.Hidden = true;
            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.Add(shopInfo);
            shopModel.Save();

            int shopId = shopInfo.Id;

            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();
            }
            try
            {
                shopModel.DeleteDisheCategories(shopId);
                shopModel.DeleteDishes(shopId);
                double totalPrice = 0;
                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);
                        totalPrice += dishe.Price;
                    }
                    shopModel.Save();
                }

                ShopRankingAttribute rankingAttribute = new ShopRankingAttribute();
                rankingAttribute.ShopId = shopId;
                rankingAttribute.Stars = 0;
                rankingAttribute.AveragePayMoney = (short)(totalPrice / disheWithCats.Select(r => r.Dishes.Count).Sum(r => r));
                rankingAttribute.DeliveryTime = 30;
                shopModel.Add(rankingAttribute);
            }
            catch(Exception ex)
            {
                return Json(new { status = 0, data = ex.InnerException }, JsonRequestBehavior.AllowGet);
            }

            return Json(new { status = 1, url = "/shop/detail/" + shopId }, JsonRequestBehavior.AllowGet);
        }
Example #2
0
 /// <summary>
 /// 用于向 ShopRankingAttribute EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
 /// </summary>
 public void AddToShopRankingAttribute(ShopRankingAttribute shopRankingAttribute)
 {
     base.AddObject("ShopRankingAttribute", shopRankingAttribute);
 }
Example #3
0
 public void Add(ShopRankingAttribute rankingAttr)
 {
     db.ShopRankingAttribute.AddObject(rankingAttr);
     Save();
 }
Example #4
0
 /// <summary>
 /// 创建新的 ShopRankingAttribute 对象。
 /// </summary>
 /// <param name="id">Id 属性的初始值。</param>
 /// <param name="shopId">ShopId 属性的初始值。</param>
 /// <param name="stars">Stars 属性的初始值。</param>
 /// <param name="averagePayMoney">AveragePayMoney 属性的初始值。</param>
 /// <param name="deliveryTime">DeliveryTime 属性的初始值。</param>
 /// <param name="visits">Visits 属性的初始值。</param>
 public static ShopRankingAttribute CreateShopRankingAttribute(global::System.Int32 id, global::System.Int32 shopId, global::System.Int16 stars, global::System.Int16 averagePayMoney, global::System.Int16 deliveryTime, global::System.Int16 visits)
 {
     ShopRankingAttribute shopRankingAttribute = new ShopRankingAttribute();
     shopRankingAttribute.Id = id;
     shopRankingAttribute.ShopId = shopId;
     shopRankingAttribute.Stars = stars;
     shopRankingAttribute.AveragePayMoney = averagePayMoney;
     shopRankingAttribute.DeliveryTime = deliveryTime;
     shopRankingAttribute.Visits = visits;
     return shopRankingAttribute;
 }