/// <summary> /// 购买页面 /// </summary> /// <returns></returns> public ActionResult Buy(int addressId = 0) { var token = Member.Token; var carts = YunClient.Instance.Execute(new GetShoppingCartsRequest(), token).Items; if (carts != null && carts.Any()) { //代金券信息 ViewData["cashCoupons"] = YunClient.Instance.Execute( new GetMyCashCouponsRequest { HasExpired = false, HasUsed = false, TradePrice = carts.Sum(e => e.Quantity * e.ItemInfo.Price.TryTo(0.0)), ItemPriceJson = carts.Select( e => new GetMyCashCouponItemPriceJson { item_id = e.ItemInfo.ItemId, item_total_price = e.Quantity * e.ItemInfo.Price.TryTo(0.0) }).ToList() }, token) .CashCoupons; } //默认收货地址 var address = addressId > 0 ? YunClient.Instance.Execute(new GetAddressRequest { Id = addressId }, token).Result : YunClient.Instance.Execute(new GetDefaultAddressRequest(), token).Result; ViewData["defaultAddress"] = address; ViewData["ExpressPrice"] = "0.00"; if (carts != null && carts.Any()) { var template = YunClient.Instance.Execute(new GetTheMostExpensiveTemplateRequest { ItemIds = string.Join(",", carts.Select(e => e.ItemInfo.ItemId)) }).Result; if (address != null) { ViewData["ExpressPrice"] = SystemCity.GetExpressPrice(4, (int)carts.Sum(e => e.Quantity), string.Format("{0}{1}{2}{3}", address.Province, address.City, address.Area, address.Street), carts.Sum(e => e.Quantity * e.ItemInfo.Price.TryTo(0.0)), carts.Sum(e => e.Quantity * e.ItemInfo.Weight), carts.Sum(e => e.Quantity * e.ItemInfo.Volume), template).ToString("f2"); } } //购物车内商品信息 return(View(carts)); }
/// <summary> /// 修改地址 View /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult ModifyAddress(int id) { var trade = YunClient.Instance.Execute(new GetTradeRequest { Id = id }).Trade; if (trade != null) { var splitAddress = trade.Address.Split(' '); //获取省的数据 var provinces = SystemCity.GetCities(0); ViewData["Provinces"] = provinces.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(splitAddress[0], StringComparison.Ordinal) >= 0 }); //获取市的数据 var cities = SystemCity.GetCities(provinces.Single(e => e.Name.IndexOf(splitAddress[0], StringComparison.Ordinal) >= 0).Id); ViewData["Cities"] = cities.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(splitAddress[1], StringComparison.Ordinal) >= 0 }); //获取区的数据 var areas = SystemCity.GetCities(cities.Single(e => e.Name.IndexOf(splitAddress[1], StringComparison.Ordinal) >= 0).Id); ViewData["Areas"] = areas.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(splitAddress[2], StringComparison.Ordinal) >= 0 }); return(View(trade)); } return(Content("订单不存在")); }
public ActionResult GetExpressPrice(int addressId) { var token = Member.Token; var carts = YunClient.Instance.Execute(new GetShoppingCartsRequest(), token).Items; //如果购物车内没有商品,则直接返回0 if (carts == null || !carts.Any()) { return(Content("0")); } var template = YunClient.Instance.Execute(new GetTheMostExpensiveTemplateRequest { ItemIds = string.Join(",", carts.Select(e => e.ItemInfo.ItemId)) }).Result; if (template == null) { return(Content("0")); } //默认收货地址 var address = addressId > 0 ? YunClient.Instance.Execute(new GetAddressRequest { Id = addressId }, token).Result : YunClient.Instance.Execute(new GetDefaultAddressRequest(), token).Result; if (address != null) { var price = SystemCity.GetExpressPrice(4, (int)carts.Sum(e => e.Quantity), address.Province + address.City + address.Area, carts.Sum(e => e.Quantity * e.ItemInfo.Price.TryTo(0.0)), carts.Sum(e => e.Quantity * e.ItemInfo.Weight), carts.Sum(e => e.Quantity * e.ItemInfo.Volume), template); return(Content(price.ToString("f2"))); } return(Content("0.00")); }
private void SetUserLocationData(string province, string city, string area) { //获取省的数据 var provinces = SystemCity.GetCities(0); ViewData["Provinces"] = provinces.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = !string.IsNullOrEmpty(province) && e.Name.IndexOf(province, StringComparison.Ordinal) >= 0 }); //获取市的数据 if (string.IsNullOrEmpty(province)) { var t = ((IEnumerable <SelectListItem>)ViewData["Provinces"]).ToList(); t.Insert(0, new SelectListItem { Text = "-请选择省-", Value = "" }); ViewData["Provinces"] = t; ViewData["Cities"] = new List <SelectListItem> { new SelectListItem { Text = "-请选择城市-", Value = "" } }; ViewData["Areas"] = new List <SelectListItem> { new SelectListItem { Text = "-请选择地区-", Value = "" } }; } else { var cities = SystemCity.GetCities( provinces.Single(e => e.Name.IndexOf(province, StringComparison.Ordinal) >= 0).Id); ViewData["Cities"] = cities.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = !string.IsNullOrEmpty(city) && e.Name.IndexOf(city, StringComparison.Ordinal) >= 0 }); if (string.IsNullOrEmpty(city)) { ViewData["Areas"] = new List <SelectListItem> { new SelectListItem { Text = "-请选择地区-", Value = "" } }; } else { //获取区的数据 var areas = SystemCity.GetCities( cities.Single(e => e.Name.IndexOf(city, StringComparison.Ordinal) >= 0).Id); ViewData["Areas"] = areas.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = !string.IsNullOrEmpty(area) && e.Name.IndexOf(area, StringComparison.Ordinal) >= 0 }); } } }
public ActionResult AdderssEdit(int id = 0) { var provinces = SystemCity.GetCities(0); var dataProvinces = new List <SelectListItem>(); var dataCities = new List <SelectListItem>(); var dataAreas = new List <SelectListItem>(); UserAddress address = null; if (id > 0) { address = YunClient.Instance.Execute(new GetAddressRequest { Id = id }, Member.Token).Result; dataProvinces.AddRange(provinces.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(address.Province, StringComparison.CurrentCultureIgnoreCase) >= 0 })); var cities = SystemCity.GetCities( provinces.Single( e => e.Name.IndexOf(address.Province, StringComparison.CurrentCultureIgnoreCase) >= 0).Id); dataCities.AddRange(cities.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(address.City, StringComparison.CurrentCultureIgnoreCase) >= 0 })); dataAreas.AddRange(SystemCity.GetCities( cities.Single(e => e.Name.IndexOf(address.City, StringComparison.CurrentCultureIgnoreCase) >= 0).Id) .Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(address.Area, StringComparison.CurrentCultureIgnoreCase) >= 0 })); } else { dataProvinces.Add(new SelectListItem { Text = "-请选择省-" }); dataCities.Add(new SelectListItem { Text = "-请选择城市-" }); dataAreas.Add(new SelectListItem { Text = "-请选择地区-" }); dataProvinces.AddRange(provinces.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, })); } ViewData["ProvincesList"] = dataProvinces; ViewData["CitiesList"] = dataCities; ViewData["AreasList"] = dataAreas; return(View(address)); }
public ActionResult MyAccount() { var banks = YunClient.Instance.Execute(new GetBandBanksRequest(), Member.Token).Banks; var provinces = SystemCity.GetCities(0); var dataProvinces = new List <SelectListItem>(); var dataCities = new List <SelectListItem>(); var dataAreas = new List <SelectListItem>(); if (banks != null && banks.Any()) { var location = banks[0].Location.Split(','); dataProvinces.AddRange(provinces.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(location[0], StringComparison.CurrentCultureIgnoreCase) >= 0 })); var cities = SystemCity.GetCities( provinces.Single( e => e.Name.IndexOf(location[0], StringComparison.CurrentCultureIgnoreCase) >= 0).Id); dataCities.AddRange(cities.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(location[1], StringComparison.CurrentCultureIgnoreCase) >= 0 })); dataAreas.AddRange(SystemCity.GetCities( cities.Single(e => e.Name.IndexOf(location[1], StringComparison.CurrentCultureIgnoreCase) >= 0).Id) .Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, Selected = e.Name.IndexOf(location[2], StringComparison.CurrentCultureIgnoreCase) >= 0 })); } else { dataProvinces.Add(new SelectListItem { Text = "-请选择省-" }); dataCities.Add(new SelectListItem { Text = "-请选择城市-" }); dataAreas.Add(new SelectListItem { Text = "-请选择地区-" }); dataProvinces.AddRange(provinces.Select(e => new SelectListItem { Text = e.Name, Value = e.Name + "-" + e.Id, })); } ViewData["ProvincesList"] = dataProvinces; ViewData["CitiesList"] = dataCities; ViewData["AreasList"] = dataAreas; return(View(banks != null && banks.Any()?banks[0]:null)); }
public ActionResult CiyiesData(int parentId) { return(Json(new { data = SystemCity.GetCities(parentId) }, JsonRequestBehavior.AllowGet)); }
public ActionResult FreightTables() { return(PartialView(SystemCity.GetAdminClientCities())); }
public ActionResult AddTemplate(string id) { ViewData["AllCitys"] = SystemCity.GetAdminClientCities(); var ps = new DeliveryTemplateFreight { kuaidi = new List <PostfareDetail>(), ziti = new List <PostfareDetail>(), shangjia = new List <PostfareDetail>(), FareFreeConditions = new List <FareFreeCondition>() }; int templateid; var model = new DeliveryTemplate(); if (int.TryParse(id, out templateid)) { var r = YunClient.Instance.Execute(new GetExpressTemplateRequest { Id = templateid }, Token); model = r.Result; if (model.Freight.Any(e => e.DeliveryId == 4 && (e.Cities == null || !e.Cities.Any()))) { var m = model.Freight.First(e => e.DeliveryId == 4 && (e.Cities == null || !e.Cities.Any())); ps.kuaidi1 = m.BaseQuantity.ToString(); ps.kuaidi2 = m.BasePrice.ToString(); ps.kuaidi3 = m.AddQuantity.ToString(); ps.kuaidi4 = m.AddPrice.ToString(); } foreach (var a in model.Freight.Where(e => e.DeliveryId == 4 && (e.Cities != null && e.Cities.Any()))) { ps.kuaidi.Add(a); } if (model.Freight.Any(e => e.DeliveryId == 419 && (e.Cities == null || !e.Cities.Any()))) { var m = model.Freight.First(e => e.DeliveryId == 419 && (e.Cities == null || !e.Cities.Any())); ps.ziti1 = m.BaseQuantity.ToString(); ps.ziti2 = m.BasePrice.ToString(); ps.ziti3 = m.AddQuantity.ToString(); ps.ziti4 = m.AddPrice.ToString(); } foreach (var a in model.Freight.Where(e => e.DeliveryId == 419 && (e.Cities != null && e.Cities.Any()))) { ps.ziti.Add(a); } if (model.Freight.Any(e => e.DeliveryId == 2 && (e.Cities == null || !e.Cities.Any()))) { var m = model.Freight.First(e => e.DeliveryId == 2 && (e.Cities == null || !e.Cities.Any())); ps.shangjia1 = m.BaseQuantity.ToString(); ps.shangjia2 = m.BasePrice.ToString(); ps.shangjia3 = m.AddQuantity.ToString(); ps.shangjia4 = m.AddPrice.ToString(); } foreach (var a in model.Freight.Where(e => e.DeliveryId == 2 && (e.Cities != null && e.Cities.Any()))) { ps.shangjia.Add(a); } } ViewBag.Prices = ps; return(View(model)); }