public static object ApiPaySaveAddress(IRequest context) { var siteId = context.GetPostInt("siteId"); var sessionId = context.GetPostString("sessionId"); var deliveryId = context.GetPostInt("deliveryId"); var addressInfo = context.GetPostObject <AddressInfo>("addressInfo"); var isEdit = context.GetPostBool("isEdit"); addressInfo.UserName = context.UserName; addressInfo.SessionId = sessionId; if (isEdit) { AddressDao.Update(addressInfo); } else { addressInfo.Id = AddressDao.Insert(addressInfo); } AddressDao.SetDefault(context.UserName, sessionId, addressInfo.Id); var cartInfoList = CartDao.GetCartInfoList(siteId, context.UserName, sessionId); var deliveryInfo = DeliveryDao.GetDeliveryInfo(deliveryId); var deliveryFee = Utils.GetDeliveryFee(cartInfoList, addressInfo, deliveryInfo); return(new { addressInfo, deliveryFee }); }
public static object ApiPayGet(IRequest context) { var siteId = context.GetPostInt("siteId"); var sessionId = context.GetPostString("sessionId"); if (context.IsUserLoggin) { CartDao.UpdateUserName(siteId, sessionId, context.UserName); } var addressInfoList = AddressDao.GetAddressInfoList(context.UserName, sessionId); var cartInfoList = CartDao.GetCartInfoList(siteId, context.UserName, sessionId); AddressInfo addressInfo = null; foreach (var addInfo in addressInfoList) { if (addInfo.IsDefault) { addressInfo = addInfo; } } if (addressInfo == null && addressInfoList.Count > 0) { addressInfo = addressInfoList[0]; } var deliveryInfoList = DeliveryDao.GetDeliveryInfoList(siteId); DeliveryInfo deliveryInfo = null; if (deliveryInfoList.Count > 0) { deliveryInfo = deliveryInfoList[0]; } var totalCount = 0; decimal totalFee = 0; var deliveryFee = Utils.GetDeliveryFee(cartInfoList, addressInfo, deliveryInfo); foreach (var cartInfo in cartInfoList) { totalCount += cartInfo.Count; totalFee += cartInfo.Fee * cartInfo.Count; } return(new { addressInfoList, addressId = addressInfo?.Id ?? 0, deliveryInfoList, deliveryId = deliveryInfo?.Id ?? 0, cartInfoList, totalCount, totalFee, deliveryFee }); }
public static object ApiPaySetAddressAndDelivery(IRequest context) { var siteId = context.GetPostInt("siteId"); var sessionId = context.GetPostString("sessionId"); var addressId = context.GetPostInt("addressId"); var deliveryId = context.GetPostInt("deliveryId"); AddressDao.SetDefault(context.UserName, sessionId, addressId); var cartInfoList = CartDao.GetCartInfoList(siteId, context.UserName, sessionId); var addressInfo = AddressDao.GetAddressInfo(addressId); var deliveryInfo = DeliveryDao.GetDeliveryInfo(deliveryId); var deliveryFee = Utils.GetDeliveryFee(cartInfoList, addressInfo, deliveryInfo); return(new { deliveryFee }); }