public MobileResponseWrapper GetSavedOptions([FromUri] PickUpRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "Location not found, request Null", "300404"); } string obj = JsonConvert.SerializeObject(request); request.Locale = Thread.CurrentThread.CurrentCulture.Name; var result = _iMobilePickUpProvider.GetSavedDeliveryOptions(request.MemberId, request.Locale); if (result != null) { var mobileResponseWrapper = new MobileResponseWrapper { Data = new PickUpListResponseViewModel { Pickup = result } }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, mobileResponseWrapper, request.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(mobileResponseWrapper); } return(new MobileResponseWrapper { Data = null, //Error = new ErrorViewModel {Code = "0404", Message = "No Data Available"} }); }
public MobileResponseWrapper Get(string memberId, string orderNumber, string paymentMethodName, Guid id) { var response = new MobileResponseWrapper { Data = new WechatQueryOrderResponseViewModel { Status = false }, }; var paymentResponse = PaymentGatewayInvoker.CheckOrderStatus(paymentMethodName, orderNumber); if (paymentResponse != null && paymentResponse.Status == PaymentGatewayRecordStatusType.OrderSubmitted) { response = new MobileResponseWrapper { Data = new WechatQueryOrderResponseViewModel { Status = true }, }; return(response); } if (paymentResponse != null && paymentResponse.Status == PaymentGatewayRecordStatusType.Unknown) { var approved = false; _mobileOrderProvider.CancelOrder(memberId, orderNumber, Thread.CurrentThread.CurrentCulture.Name, paymentMethodName, ref approved, id); response = new MobileResponseWrapper { Data = new WechatQueryOrderResponseViewModel { Status = approved }, }; return(response); } return(response); }
public MobileResponseWrapper Get([FromUri] PreferredCustomerRequestViewModel request) { try { string obj = JsonConvert.SerializeObject(request); var response = new MobileResponseWrapper { Data = _mobileCustomersProvider.GetPreferredCustomers(request) }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, request.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(response); } catch (Exception ex) { throw new Exception(ex.Message); } throw new Exception("Method Get on MobileCustomersController not return values."); }
public MobileResponseWrapper Get([FromUri] PickUpRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "Location not found, request Null", "300404"); } string obj = JsonConvert.SerializeObject(request); request.Locale = Thread.CurrentThread.CurrentCulture.Name; var result = _iMobilePickUpProvider.GetDeliveryOptions(request.Locale, new AddressViewModel { StateProvinceTerritory = request.State, City = request.City, Country = request.Country, PostalCode = request.PostalCode, CountyDistrict = request.District }); if (result != null) { if (request.City != null && !string.IsNullOrEmpty(request.City) && !string.IsNullOrWhiteSpace(request.City)) { result = result.FindAll(x => !string.IsNullOrEmpty(x.Address.City) ? x.Address.City.Trim() == request.City : x.Address.City == request.City); } if (request.State != null && !string.IsNullOrEmpty(request.State) && !string.IsNullOrWhiteSpace(request.State)) { result = result.FindAll(x => !string.IsNullOrEmpty(x.Address.StateProvinceTerritory) ? x.Address.StateProvinceTerritory.Trim() == request.State : x.Address.StateProvinceTerritory == request.State); } if (request.District != null && !string.IsNullOrEmpty(request.District) && !string.IsNullOrWhiteSpace(request.District)) { result = result.FindAll(x => !string.IsNullOrEmpty(x.Address.CountyDistrict) ? x.Address.CountyDistrict.Trim() == request.District : x.Address.CountyDistrict == request.District); } var mobileListResponseWrapper = new MobileResponseWrapper { Data = new PickUpListResponseViewModel { Pickup = result } }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, mobileListResponseWrapper, request.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(mobileListResponseWrapper); } throw CreateException(HttpStatusCode.InternalServerError, "Location not found", "300404"); }
public MobileResponseWrapper Get([FromUri] ExpireCatalogCacheRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "request is null", 500404); } request.Locale = Thread.CurrentThread.CurrentCulture.Name; var response = new MobileResponseWrapper { Data = _expireCatalogCacheProvider.ExpireCatalogCache(request.cacheName, request.inputCacheKey, request.Locale) }; return(response); }
public MobileResponseWrapper Get([FromUri] OrderTrackingRequestViewModel request) { try { request.Locale = Thread.CurrentThread.CurrentCulture.Name; if (request == null || request.MemberId == null || string.IsNullOrEmpty(request.MemberId) || string.IsNullOrWhiteSpace(request.MemberId) || request.Locale == null || string.IsNullOrEmpty(request.Locale) || string.IsNullOrWhiteSpace(request.Locale)) { throw CreateException(HttpStatusCode.BadRequest, "Get Order Tracking incomplete/invalid information sended", 210416); } string obj = JsonConvert.SerializeObject(request); var result = _iMobileOrderTrackingProvider.Get(request); if (result != null) { var response = new MobileResponseWrapper { Data = new OrderTrackingResponseViewModel { ExpressInfo = result, Locale = request.Locale, OrderId = request.OrderId, MemberId = request.MemberId } }; Object json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, string.Empty, request.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(response); } } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Order Tracking Express Info" + ex.Message, 166767); } throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Order Tracking Express Info", 210416); }
public MobileResponseWrapper Put(OrderRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "request is null", 166767); } string obj = JsonConvert.SerializeObject(request); SetOrderMemberId(request.Data); request.Data.Locale = Thread.CurrentThread.CurrentCulture.Name; var orderNumber = string.Empty; var isOrderSubmitted = false; if (_mobileQuoteHelper.CheckIfAnyOrderInProcessing(request.Data.MemberId, request.Data.Locale, ref orderNumber, ref isOrderSubmitted, request.Data.OrderNumber)) { throw CreateException(HttpStatusCode.NotAcceptable, "order still processing", 110406, orderNumber); } //If SR Pricing an order for PC then check whether the PC is expired or not. if (request.Data.Locale == "zh-CN" && !string.IsNullOrEmpty(request.Data.CustomerId) && request.Data.CustomerId != request.Data.MemberId && _mobileQuoteHelper.IsPCExpired(request)) { throw CreateException(HttpStatusCode.NotAcceptable, "PC membership is expired", 110421); } List <ValidationErrorViewModel> errors = null; var data = _iMobileQuoteProvider.Quote(request.Data, ref errors); var mobileResponseWrapper = new MobileResponseWrapper { Data = data, ValidationErrors = null != errors && errors.Any() ? errors : null }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, mobileResponseWrapper, request.Data.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Data.Locale); return(mobileResponseWrapper); }
public MobileResponseWrapper Get([FromUri] OrderSummaryRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "request is null", 500); } string obj = JsonConvert.SerializeObject(request); request.Locale = Thread.CurrentThread.CurrentCulture.Name; var mobileResponseWrapper = new MobileResponseWrapper { Data = _mobileSummaryProvider.GetOrderList(request) }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, mobileResponseWrapper, request.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(mobileResponseWrapper); }
public MobileResponseWrapper Get(Guid id, string memberId) { try { var locale = Thread.CurrentThread.CurrentCulture.Name; if (id == null || string.IsNullOrEmpty(memberId)) { throw CreateException(HttpStatusCode.BadRequest, "Get Addresses incomplete/invalid information sended", 210416); } var result = _iMobileAddressProvider.GetShippingMethods(memberId, id, locale); if (result != null) { var mobileResponseWrapper = new MobileResponseWrapper { Data = new ShippingMethodsResponseViewModel { ShippingMethods = result }, }; MobileActivityLogProvider.ActivityLog(string.Empty, mobileResponseWrapper, memberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), locale); return(mobileResponseWrapper); } } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get shippingMethods" + ex.Message, 166767); } throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get shippingMethods", 210416); }
public MobileResponseWrapper Get([FromUri] PayByPhoneRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "request is null", 500404); } string obj = JsonConvert.SerializeObject(request); request.Locale = Thread.CurrentThread.CurrentCulture.Name; var response = new MobileResponseWrapper { Data = _mobilePayByPhoneProvider.IsEligible(request.MemberId, request.Locale.Substring(3, 2)) }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, request.MemberId ?? string.Empty, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(response); }
public MobileResponseWrapper Get([FromUri] AnnouncementRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "request is null", 500404); } string obj = JsonConvert.SerializeObject(request); request.Locale = Thread.CurrentThread.CurrentCulture.Name; var response = new MobileResponseWrapper { Data = _IMobileAnnouncementProvider.GetAnnouncement(request) }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, string.Empty, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Locale); return(response); }
public MobileResponseWrapper Get([FromUri] FavouriteSKUItemViewModel query) { try { List <FavouriteSKUItemResponseViewModel> result = null; if (query == null) { throw CreateException(HttpStatusCode.BadRequest, "Invalid or Incomplete GetFavouriteSKU information", 999999); } string obj = JsonConvert.SerializeObject(query); query.Locale = Thread.CurrentThread.CurrentCulture.Name != null ? Thread.CurrentThread.CurrentCulture.Name : null; if (string.IsNullOrEmpty(query.MemberId) || string.IsNullOrEmpty(query.Locale)) { return(new MobileResponseWrapper { Data = new FavouriteSKUResponseViewModel { FavouriteSKUs = null, RecordCount = 0 } }); } GetFavouriteParam request = new GetFavouriteParam { DistributorID = query.MemberId, Locale = query.Locale }; result = _mobileFavouriteProvider.GetFavouriteSKUs(request); if (result != null) { var response = new MobileResponseWrapper { Data = new FavouriteSKUResponseViewModel { FavouriteSKUs = result, RecordCount = result.Count() } }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, query.DistributorID, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), query.Locale); return(response); } } catch (Exception ex) { LoggerHelper.Error(ex.ToString() + query.MemberId); throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Favourite SKUs" + ex.Message, 404); } var responseWrapper = new MobileResponseWrapper { Data = new FavouriteSKUResponseViewModel { FavouriteSKUs = null, RecordCount = 0 } }; MobileActivityLogProvider.ActivityLog(query, responseWrapper, query.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), query.Locale); return(responseWrapper); }
public MobileResponseWrapper GetBindedCards(string disID) { var result = new List <BindedCardswithBanklist>(); var phoneNumber = DistributorOrderingProfileProvider.GetPhoneNumberForCN(disID).Trim(); var cn99BillQuickPayProvider = new CN_99BillQuickPayProvider(); var tins = DistributorOrderingProfileProvider.GetTinList(disID, true); var tin = tins.Find(t => t.ID == "CNID"); PaymentInformation bindedCard = null; List <PaymentInformation> bindedCards = cn99BillQuickPayProvider.LoadStorableDataQuick(phoneNumber, disID); var usageDebit = BankUsage.UsedByQPDebit; var debitCards = BankInfoProvider.GetAvailableBanks(usageDebit); var usageCredit = BankUsage.UsedByQPCredit; var creditCards = BankInfoProvider.GetAvailableBanks(usageCredit); //QD if (debitCards != null && debitCards.Count > 0) { foreach (BankInformation item in debitCards) { if (bindedCards != null && bindedCards.Count > 0) { bindedCard = (from a in bindedCards where a.CardType.Trim() == "QD" && a.Alias.Trim() == item.BankCode.Trim() select a).FirstOrDefault(); } var currentBindedCard = new BindedCardswithBanklist() { BankCode = item.BankCode, BankName = item.BankName, CardType = "QD", }; if (bindedCard != null && bindedCard.CardHolder != null) { currentBindedCard.BindedCard = new BindedCardViewModel(); currentBindedCard.BindedCard.CardHolderName = bindedCard.CardHolder.First; currentBindedCard.BindedCard.CardNumber = bindedCard.CardNumber; } result.Add(currentBindedCard); bindedCard = null; } } //QC if (creditCards != null && creditCards.Count > 0) { foreach (BankInformation item in creditCards) { if (bindedCards != null && bindedCards.Count > 0) { bindedCard = (from a in bindedCards where a.CardType.Trim() == "QC" && a.Alias.Trim() == item.BankCode.Trim() select a).FirstOrDefault(); } var currentBindedCard = new BindedCardswithBanklist() { BankCode = item.BankCode, BankName = item.BankName, CardType = "QC", }; if (bindedCard != null && bindedCard.CardHolder != null) { currentBindedCard.BindedCard = new BindedCardViewModel(); currentBindedCard.BindedCard.CardHolderName = bindedCard.CardHolder.First; currentBindedCard.BindedCard.CardNumber = bindedCard.CardNumber; } result.Add(currentBindedCard); bindedCard = null; } } var response = new MobileResponseWrapper { Data = new BindedCardswithBanklistResponseVewModel { BankList = result, PhoneNumber = phoneNumber, CNID = tin.IDType.Key.Trim() }, }; return(response); }
public MobileResponseWrapper Get([FromUri] OrderSearchParameter query) { try { if (query == null) { throw CreateException(HttpStatusCode.BadRequest, "Invalid or Incomplete Order information", 101416); } string obj = JsonConvert.SerializeObject(query); query.Locale = Thread.CurrentThread.CurrentCulture.Name; var result = _mobileOrderSummaryProvider.GetOrders(query); if (result != null) { if (!string.IsNullOrEmpty(query.OrderNumber)) { result = result.FindAll(r => r.OrderNumber == query.OrderNumber); } var response = new MobileResponseWrapper { Data = new OrdersResponseViewModel { Orders = result, RecordCount = result != null && result.Any() ? result.Count : 0 } }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, query.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), query.Locale); return(response); } if (!string.IsNullOrEmpty(query.OrderNumber)) { var cartId = 0; var orderViewModel = _iMobileOrderProvider.GetOrderByOrderNumber(query.OrderNumber, query.MemberId, query.Locale, ref cartId); if (null != orderViewModel) { var mobResponseWrapper = new MobileResponseWrapper { Data = new OrdersResponseViewModel { Orders = new List <OrderViewModel> { orderViewModel }, RecordCount = 1 } }; JObject json1 = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json1, mobResponseWrapper, query.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), query.Locale); return(mobResponseWrapper); } } } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Orders" + ex.Message, 404); } var responseWrapper = new MobileResponseWrapper { Data = new OrdersResponseViewModel { Orders = null, RecordCount = 0 } }; MobileActivityLogProvider.ActivityLog(query, responseWrapper, query.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), query.Locale); return(responseWrapper); }
public MobileResponseWrapper Get([FromUri] DiscontinuedSkuItemViewModel query) { try { if (query == null) { throw CreateException(HttpStatusCode.BadRequest, "Invalid or Incomplete GetDiscontinuedSku information", 999999); } if (string.IsNullOrEmpty(query.ShoppingCartId) && (query.OrderId == Guid.Empty || string.IsNullOrEmpty(query.OrderNumber))) { return(new MobileResponseWrapper { Data = new DiscontinuedSkuResponseViewModel { DiscontinuedSkus = null, RecordCount = 0 } }); } query.Locale = Thread.CurrentThread.CurrentCulture.Name; GetDiscontinuedSkuParam request = new GetDiscontinuedSkuParam { DistributorId = query.DistributorId, Locale = query.Locale, }; var result = _getDisconinuedSkuProvider.GetDiscontinuedSkuRequest(request); if (result != null) { var response = new MobileResponseWrapper { Data = new DiscontinuedSkuResponseViewModel { DiscontinuedSkus = result, RecordCount = result.Count } }; MobileActivityLogProvider.ActivityLog(query, response, query.DistributorId, true, Request.RequestUri.ToString(), Request.Headers.ToString(), Request.Headers.UserAgent.ToString(), query.Locale); return(response); } } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Discontinued SKUs" + ex.Message, 404); } var responseWrapper = new MobileResponseWrapper { Data = new DiscontinuedSkuResponseViewModel { DiscontinuedSkus = null, RecordCount = 0 } }; MobileActivityLogProvider.ActivityLog(query, responseWrapper, query.DistributorId, true, Request.RequestUri.ToString(), Request.Headers.ToString(), Request.Headers.UserAgent.ToString(), query.Locale); return(responseWrapper); }
public MobileResponseWrapper Post(WechatPrepayIdRequestViewModel request, string memberId) { if (request == null || request.Data == null || request.Data.Prepay == null || request.Data.Order == null) { throw CreateException(HttpStatusCode.BadRequest, "request is null", 500404); } string obj = JsonConvert.SerializeObject(request); SetOrderMemberId(request.Data.Order); request.Data.Prepay.Locale = Thread.CurrentThread.CurrentCulture.Name; request.Data.Prepay.MemberId = memberId; var authToken = Guid.Empty; if (null != Request && null != Request.Headers && Request.Headers.Any()) { if (Request.Headers.Contains("X-HLUSER-TOKEN")) { var authTokenValue = Request.Headers.GetValues("X-HLUSER-TOKEN").FirstOrDefault(); if (!string.IsNullOrEmpty(authTokenValue)) { Guid.TryParse(authTokenValue, out authToken); } } } WechatPrepayIdResponseViewModel result = null; var errors = new List <ValidationErrorViewModel>(); if (null != request.Data.Order) { request.Data.Order.Locale = Thread.CurrentThread.CurrentCulture.Name; var amount = decimal.Zero; var id = _mobileWechatProvider.InsertToPaymentGatewayRecord(request.Data.Order, authToken == Guid.Empty ? Guid.NewGuid() : authToken, ref amount); if (id == 0) { errors.Add(new ValidationErrorViewModel { Code = 101416, Reason = "InsertToPaymentGatewayRecord failed" }); } if (!string.IsNullOrEmpty(request.Data.Order.OrderNumber) && amount > 0) { bool isLockedeach = true; bool isLocked = true; string lockfailed = string.Empty; if (request.Data.Order.pcLearningPointOffSet > 0M && request.Data.Order.CategoryType != "ETO") { isLockedeach = OrderProvider.LockPCLearningPoint(request.Data.Prepay.MemberId, request.Data.Order.OrderNumber, request.Data.Order.OrderMonth, request.Data.Order.pcLearningPointOffSet, HLConfigManager.Platform); if (!isLockedeach) { lockfailed = "PC Learning Point"; isLocked = false; } } else if (request.Data.Order.pcLearningPointOffSet > 0M) { isLockedeach = OrderProvider.LockETOLearningPoint( request.Data.Order.OrderItems.Select(s => s.Sku), request.Data.Prepay.MemberId, request.Data.Order.OrderNumber, request.Data.Order.OrderMonth, request.Data.Order.pcLearningPointOffSet, HLConfigManager.Platform); if (!isLockedeach) { lockfailed = "ETO Learning Point"; isLocked = false; } } var shoppingcart = ShoppingCartProvider.GetShoppingCart(request.Data.Prepay.MemberId, request.Data.Prepay.Locale, true, false); if (shoppingcart.HastakenSrPromotion) { isLockedeach = ChinaPromotionProvider.LockSRPromotion(shoppingcart, request.Data.Order.OrderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", SR Promotion"; isLocked = false; } } if (shoppingcart.HastakenSrPromotionGrowing) { isLockedeach = ChinaPromotionProvider.LockSRQGrowingPromotion(shoppingcart, request.Data.Order.OrderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", SR Query Growing"; isLocked = false; } } if (shoppingcart.HastakenSrPromotionExcelnt) { isLockedeach = ChinaPromotionProvider.LockSRQExcellentPromotion(shoppingcart, request.Data.Order.OrderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", SR Query Excellent"; isLocked = false; } } if (shoppingcart.HastakenBadgePromotion) { isLockedeach = ChinaPromotionProvider.LockBadgePromotion(shoppingcart, request.Data.Order.OrderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", BadgePromotion"; isLocked = false; } } if (shoppingcart.HastakenNewSrpromotion) { isLockedeach = ChinaPromotionProvider.LockNewSRPromotion(shoppingcart, request.Data.Order.OrderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", NewSrPromotion"; isLocked = false; } } if (shoppingcart.HasBrochurePromotion) { isLockedeach = ChinaPromotionProvider.LockBrochurePromotion(shoppingcart, request.Data.Order.OrderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", BrochurePromotion"; isLocked = false; } } if (isLocked) { result = _mobileWechatProvider.GetPrepayId(request.Data.Prepay, request.Data.Order.OrderNumber, amount); } else { errors.Add(new ValidationErrorViewModel { Code = 101417, Reason = lockfailed.TrimStart(',') + " locking failed" }); } } } var response = new MobileResponseWrapper { Data = result, ValidationErrors = errors.Any() ? errors : null }; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, memberId ?? string.Empty, true, Request.RequestUri.ToString(), Request.Headers.ToString(), Request.Headers.UserAgent.ToString(), request.Data.Prepay.Locale); return(response); }