public static string GetCriteoCustomerId(IResultResponse response) { var result = string.Empty; var match = CriteoCustomerIdRegex.Match(response.RawData); if (match.Success) { result = match.Groups["customerId"].Value; } return(result); }
/// <summary> /// 推送克隆命令 /// </summary> /// <param name="accessToken"></param> /// <returns></returns> public static IResultResponse PushCloneCommand(SysParameter para) { IResultResponse resultResponse = OpsUtil.VerifyAccessToken(para); if (!resultResponse.Success) { return(resultResponse); } Sdk.AccessToken accessToken = resultResponse.Content as Sdk.AccessToken; if (accessToken.UpConnectorId == 0) { return(ResultResponse.ExceptionResult("上下游关系没生效,请重新登录!")); } try { string key = accessToken.Id + "_" + accessToken.UpConnectorId; if (!IsSendCmd(key)) { return(ResultResponse.ExceptionResult("三分钟之内发送次过多")); } //克隆权限 var cloneAuthority = new ProductRelationBusiness(para.dapperFactory).CloneAuthority(accessToken.Id, accessToken.UpConnectorId); if (!cloneAuthority) { return(ResultResponse.ExceptionResult("你已经克隆过了!")); } long re = DistributePubSub.RedisPub("product_clone", new Dictionary <string, int>() { { "upId", accessToken.UpConnectorId }, { "downId", accessToken.Id }, }); //bool sendCmd = WebSocketClient.SendCommand("Clone", "data.clone.push.command", new object[] { accessToken.Id, accessToken.UpConnectorId }, true); if (re == -1) { return(ResultResponse.ExceptionResult("命令已发送失败!")); } //插入发送记录 new CloneResultBusiness(para.dapperFactory).Insert(accessToken); //设置发送时间 SetSendCmd(key); return(ResultResponse.GetSuccessResult("命令已发送成功,请稍后!")); } catch (Exception ex) { new Exceptions(ex, "clone"); return(ResultResponse.ExceptionResult(ex.Message)); } }
public IResponseBase Execute(IRequestParameter parameters) { var communicationRequest = BuildUrl(); //4/23/2015, JAY: they added a new McAfee symbol which contained malformed html //CustomStreamReaderProcess removes the junk; commenting this out for now because they supposedly fixed it. //communicationRequest.OptionalStreamReaderProcess = ParsingHelper.CustomStreamReaderProcess; _response = Communicate(communicationRequest); var result = ProcessCart(_response, parameters); return(result); }
public IResponseBase ProcessResponse(IResultResponse response, IRequestParameter parameters) { var result = new Response <CheckoutResponse>(); result.resultset = _request.CheckoutResponse; try { //check data first for valid json if (!response.RawData.Contains("<")) { var dto = JsonConvert.DeserializeObject <SavedCardDTO>(response.RawData); var cardInfo = result.resultset.PaymentInfo.CardInfo; var savedCards = result.resultset.SavedCards; cardInfo.Id = dto.MaskedNumber; cardInfo.Type = dto.Type; cardInfo.NameOnCard = dto.Holder; cardInfo.Number = dto.MaskedFourDigit; cardInfo.ExpirationMonth = dto.ExpirationMonth; cardInfo.ExpirationYear = dto.ExpirationYear; cardInfo.Cvv = string.Empty; savedCards.ForEach(card => card.IsSelected = card.Value == _request.CardId); if (!_errors.Any()) { var session = new PaylessSession(_core); session.SetCheckout(result.resultset); } } else { //this call returns the home page when you call it after the session has timed out //this solution sucks, but works for now. //tell the front end to time out _errors.Add(new SiteError() { Source = "SessionTimeout" }); } } catch (Exception ex) { _errors.Add(ex.Handle("CheckoutUpdateCreditCardInfo.ProcessResponse", ErrorSeverity.FollowUp, ErrorType.BuildUrl)); } return(result); }
public BlogHomeResponse ParseBlogHome(IResultResponse response, IRequestParameter parameters) { var result = new BlogHomeResponse { FeaturedPost = GetFeaturedPost(response.XDocument), RecentPosts = GetHomeRecentPosts(response.XDocument), LatestTweets = GetLatestTweets(response.XDocument), TrendAlert = GetTrendAlert(response.XDocument), YouTubePlaylist = GetYouTubePlaylist(response.XDocument), FacebookPostHref = GetFacebookPostHref(response.XDocument) }; return(result); }
public BlogPostList ParseBlogPostList(IResultResponse response, IRequestParameter parameters) { var result = new BlogPostList(); var request = (BlogListRequest)parameters; result.RequestedArchive = request.Archive; result.RequestedTag = request.Tag; result.Title = GetTitle(response.XDocument); result.Tags = GetPostTags(response.XDocument); result.Archives = GetArchives(response.XDocument); result.Posts = GetPostList(response.XDocument); result.MoreAvailable = GetMoreAvailable(response.XDocument); return(result); }
public IResponseBase ParseLogin(IResultResponse response, IRequestParameter parameters) { Response <LoginFormResponse> result = new Response <LoginFormResponse>(); try { var form = _xDoc.Descendants(_ns + "form") .WhereAttributeEquals("id", "dwfrm_login") .FirstOrNewXElement(); var action = form.AttributeValue("action"); var dwSecureKey = form.Descendants(_ns + "input") .WhereAttributeEquals("name", "dwfrm_login_securekey") .FirstOrNewXElement() .AttributeValue("value"); var dwLoginParam = form.Descendants(_ns + "input") .WhereAttributeContains("id", "dwfrm_login_username_") .FirstOrNewXElement() .AttributeValue("id"); if (!string.IsNullOrEmpty(action) && !string.IsNullOrEmpty(dwSecureKey)) { result.resultset.Action = action; result.resultset.DWSecureKey = dwSecureKey; result.resultset.DWLoginParam = dwLoginParam; } else { _errors.Add(new SiteError { Message = new ErrorMessage(Config.Constants.GenericError, Config.Constants.GenericError), Severity = ErrorSeverity.FollowUp, Type = ErrorType.Unclassifiable }); } } catch (Exception ex) { _errors.Add(ex.Handle( "MadServ.AccountService.ParseAccountOrderDetail", ErrorSeverity.FollowUp, ErrorType.Parsing )); } return(result); }
public IResponseBase ProcessResponse(IResultResponse response, IRequestParameter parameters) { var result = new Response <BoolResponse>(); try { var xDoc = response.XDocument; var ns = xDoc.Root.GetDefaultNamespace(); result.resultset.Model = xDoc.Descendants("h1") .FirstOrNewXElement() .ElementValue() .ToLowerInvariant() .Contains("reset your password received"); if (!result.resultset.Model) { var error = xDoc.Descendants(ns + "div") .WhereAttributeEquals("class", "error-form") .FirstOrNewXElement() .ElementValue(); if (!string.IsNullOrEmpty(error)) { _errors.Add(new SiteError { Message = new ErrorMessage(error, error), Severity = ErrorSeverity.UserActionRequired, Type = ErrorType.UserActionRequired }); } else { _errors.Add(new SiteError { Message = new ErrorMessage(Config.Constants.GenericError, Config.Constants.GenericError), Severity = ErrorSeverity.FollowUp, Type = ErrorType.Unclassifiable }); } } } catch (Exception ex) { _errors.Add(ex.Handle("ForgotPassword.ProcessResponse", ErrorSeverity.FollowUp, ErrorType.Parsing)); } return(result); }
public IResponseBase ParseCartMini(IResultResponse response, IRequestParameter parameters) { Response <CartResponse> result = new Response <CartResponse>(); try { var cartItemCount = 0; var items = _xDoc.Descendants(_ns + "div") .WhereAttributeEquals("class", "mini-cart-product") .Select(x => { var name = x.Elements(_ns + "div") .WhereAttributeEquals("class", "mini-cart-name") .FirstOrNewXElement() .ElementValue(); var qtyStr = x.Elements(_ns + "div") .WhereAttributeEquals("class", "mini-cart-pricing") .FirstOrNewXElement() .Elements(_ns + "span") .WhereAttributeEquals("class", "value") .FirstOrNewXElement() .ElementValue(); var qty = 0; Int32.TryParse(qtyStr, out qty); cartItemCount += qty; return(new CartItem { Name = name, Quantity = qty }); }) .ToList(); result.resultset.Cart.CartItems = items; result.resultset.Cart.CartItemCount = cartItemCount; } catch (Exception ex) { _errors.Add(ex.Handle( "MadServ.CartService.ParseCartMini", ErrorSeverity.FollowUp, ErrorType.Parsing )); } return(result); }
public IResponseBase Process(IResultResponse xResponse, IRequestParameter parameters, List <SiteError> errors) { _errors = errors; _xDoc = xResponse.XDocument; if (_xDoc != null) { _ns = _xDoc.Root.GetDefaultNamespace(); } var result = xResponse.Template.Method(xResponse, parameters); _errors.AddRange(ParseGeneralErrors()); return(result); }
public IResponseBase ParseFindMyPerfectShoe(IResultResponse xResponse, IRequestParameter parameters) { var result = new Response <FindMyShoeResponse>(); result.resultset.Items = _xDoc.Descendants(_ns + "a") .Select(a => { return(new ShoeBoxMenu { Href = a.AttributeValue("href"), Name = a.Value.Trim() }); }).ToList(); return(result); }
/// <summary> /// 订单确认中转 /// </summary> /// <param name="para"></param> /// <returns></returns> public static IResultResponse OrderReceive(SysParameter para) { IResultResponse result = null; int sellerId = para.ToInt("FKId"); int dbId = para.ToInt("DBId"); int orderId = para.ToInt("OrderId"); string oddNumber = para.ToValue("OddNumber"); int dispatchId = para.ToInt("DispatchId"); try { RelationMappingEntity relationMappingEntity = new ProductRelationBusiness(para.dapperFactory).GetUpMappingEntity(sellerId, dbId); if (relationMappingEntity.GoodsMapping.Count == 0) { return(ResultResponse.ExceptionResult("没有找到商品映射关系")); } RelationMappingEntity orderMappingEntity = new OrderRelationBusiness(para.dapperFactory).GetUpOrder(sellerId, dbId, orderId); int replaceDispatchId = 0; if (dispatchId != 0) { if (!orderMappingEntity.DispatchMapping.ContainsKey(dispatchId)) { return(ResultResponse.GetSuccessResult("没有找到发货单id")); } replaceDispatchId = orderMappingEntity.DispatchMapping[dispatchId]; } //发送 result = ApiRequest.GetResponse(relationMappingEntity.ConnectorEntity.Domain, "order.dropshippingreceive.submit", new Dictionary <string, string>() { { "DispatchId", replaceDispatchId.ToString() }, { "OddNumber", orderMappingEntity.OrderOddNumberMapping[oddNumber] }, { "OrderId", orderMappingEntity.OrderMapping[orderId].ToString() } }); if (result.Success) { return(ResultResponse.GetSuccessResult(dispatchId)); } else { return(result); } } catch (Exception ex) { return(ResultResponse.ExceptionResult(ex)); } }
public IResponseBase ProcessCart(IResultResponse response, IRequestParameter parameters) { var result = new Response <BoolResponse>(); if (response.ResponseHeaders.ContainsKey("ResponseUri") && response.ResponseHeaders["ResponseUri"].EndsWith("/account")) { response.Template = new Template { TemplateName = Config.TemplateEnum.Logout }; result.resultset.Model = true; (new PaylessSession(_core)).RemoveCheckout(); } return(result); }
/// <summary> /// 入驻 /// </summary> /// <param name="dic"></param> /// <returns></returns> public IResultResponse Join(Dictionary <string, object> dic) { if (dic == null) { return(ResultResponse.ExceptionResult("对像为空")); } ConnectorEntity entity = new ConnectorEntity(); entity.SetValues(dic); entity.Status = 1; entity.AddTime = DateTime.Now; GroupEntity groupEntity = new GroupEntity(); groupEntity.SetValues(dic); groupEntity.Status = 1; groupEntity.AddTime = DateTime.Now; IResultResponse resultResponse = null; using (IDTService dbHandler = DbAccess.DtService) { try { dbHandler.BeginTransaction(); //保存主表 int id = Utils.ToInt(dbHandler.ExecuteScalar(DbProvider.InsertCommandText(groupEntity, GroupBusiness._TableName))); if (id == 0) { throw new Exception("操作失败"); } entity.GroupId = id; dbHandler.ExecuteScalar(DbProvider.InsertCommandText(entity, TableName)); dbHandler.CommitTransaction(); resultResponse = ResultResponse.GetSuccessResult(1); } catch (Exception ex) { dbHandler.RollbackTransaction(); resultResponse = ResultResponse.ExceptionResult(ex.Message); } } return(resultResponse); }
/// <summary> /// 清除克隆数据 /// </summary> /// <param name="para"></param> /// <returns></returns> public static IResultResponse ClearCloneData(SysParameter para) { IResultResponse resultResponse = OpsUtil.VerifyAccessToken(para); if (!resultResponse.Success) { return(resultResponse); } Sdk.AccessToken accessToken = resultResponse.Content as Sdk.AccessToken; string key = accessToken.Id + "_" + accessToken.UpConnectorId; try { DataTable dt = new CloneResultBusiness(para.dapperFactory).GetCloneData(accessToken); if (dt == null || dt.Rows.Count == 0) { return(ResultResponse.ExceptionResult("没有数据可清理")); } //清缓存 ClearCmd(key); string domain = accessToken.Domain; string content = Utils.ToString(dt.Rows[0]["CloneResult"]); resultResponse = ApiRequest.GetResponse(domain, "mall.data.clone.clear", new Dictionary <string, string>() { { "FKId", accessToken.SellerId.ToString() }, { "FKFlag", "2" }, { "Content", HttpUtility.UrlEncode(content) } }); if (resultResponse.Success) { //删除连接器中 new ProductRelationBusiness(para.dapperFactory).DeleteData(accessToken.Id, accessToken.UpConnectorId); return(ResultResponse.GetSuccessResult("删除成功")); } return(ResultResponse.ExceptionResult("删除失败")); } catch (Exception ex) { new Exceptions(ex, "clone"); return(ResultResponse.ExceptionResult(ex.Message)); } }
public IResponseBase Execute(IRequestParameter parameters) { var result = new Response <CharacterPageResponse>(); try { var communicationRequest = BuildUrl(parameters); _response = Communicate(communicationRequest); result = ParseResponse(_response, parameters); result.template = "character"; } catch (Exception ex) { _errors.Add(ex.Handle("CharacterPage.Execute", ErrorSeverity.FollowUp, ErrorType.RequestError)); } return(result); }
public Response <PromosResponse> ParseResponse(IResultResponse response) { var result = new Response <PromosResponse>(); result.resultset.Image.Title = promoName; XDocument xDoc = response.XDocument; XNamespace ns = xDoc.Root.GetDefaultNamespace(); var container = xDoc.Descendants(ns + "div") .WhereAttributeEquals("class", "coupon-container"); var link = container.Descendants(ns + "a").FirstOrNewXElement(); var image = container.Descendants(ns + "img").FirstOrNewXElement(); result.resultset.TargetUrl = link.AttributeValue("href").Replace("https://m.payless.com", ""); result.resultset.Image.Src = image.AttributeValue("src"); return(result); }
public BlogPost ParseBlogPost(IResultResponse response, IRequestParameter parameters) { var result = new BlogPost(); var request = (BlogPostRequest)parameters; result.Title = response.XDocument.FirstDescendantByClass("h2", "post-title").Value.Trim(); var dateAuthor = response.XDocument.FirstDescendantByClass("h3", "post-date").Value.Split('|'); result.Date = dateAuthor[0]; result.Author = dateAuthor[1].Replace(" BY ", "").Trim(); result.AboutTheAuthor = GetAboutTheAuthor(response.XDocument); result.Body = GetPostBody(response.XDocument); result.Image = GetPostImage(response.XDocument); result.Href = string.Format(Config.Urls.BlogPost, request.ID); result.Tags = GetPostTags(response.XDocument); result.RecentPosts = GetRecentPosts(response.XDocument); result.Archives = GetArchives(response.XDocument); return(result); }
public IResponseBase Execute(IRequestParameter parameters) { var communicationRequest = BuildUrl(parameters); _response = Communicate(communicationRequest); var result = ProcessResponse(_response, parameters); if (!_errors.Any()) { var checkoutUpdateSummaryRequest = new CheckoutUpdateSummaryRequest { CheckoutResponse = ((Response <CheckoutResponse>)result).resultset }; var checkoutUpdateSummary = new CheckoutUpdateSummary(_core, _errors); result = checkoutUpdateSummary.Execute(checkoutUpdateSummaryRequest); } return(result); }
/// <summary> /// 克隆权限 /// </summary> /// <param name="para"></param> /// <returns></returns> public static IResultResponse CloneAuthority(SysParameter para) { IResultResponse resultResponse = OpsUtil.VerifyAccessToken(para); if (!resultResponse.Success) { return(resultResponse); } Sdk.AccessToken accessToken = resultResponse.Content as Sdk.AccessToken; try { var cloneAuthority = new ProductRelationBusiness(para.dapperFactory).CloneAuthority(accessToken.Id, accessToken.UpConnectorId); DataTable dt = new CloneResultBusiness(para.dapperFactory).GetCloneData(accessToken); if (dt == null || dt.Rows.Count == 0) { return(ResultResponse.GetSuccessResult(1)); } int status = Utils.ToInt(dt.Rows[0]["Status"]); if (cloneAuthority) { return(ResultResponse.GetSuccessResult(1)); } else { if (status == -1) { return(ResultResponse.ExceptionResult("清除克隆失败数据")); } else { return(ResultResponse.ExceptionResult("清除克隆成功数据")); } } } catch (Exception ex) { new Exceptions(ex, "clone"); return(ResultResponse.ExceptionResult(ex.Message)); } }
private static List <Price> Parse(IResultResponse response) { var result = new List <Price>(); var pricing = JsonConvert.DeserializeObject <dynamic>(response.RawData); if (pricing == null || pricing.prices == null) { return(result); } if (decimal.Parse(pricing.prices.sale.ToString()) == 0) { var range = pricing.prices.rangePrice.ToString().Split('-'); var low = range[0].Trim(); var high = range[1].Trim(); var priceToAdd = new Price(low) { Label = "range" }; var highPrice = new Price(high); priceToAdd.Label = highPrice.Formatted; result.Add(priceToAdd); } else { var sale = new Price(pricing.prices.sale.ToString()) { Label = "sale" }; result.Add(sale); if (pricing.prices.standard == pricing.prices.sale) { return(result); } var reg = new Price(pricing.prices.standard.ToString()) { Label = "reg" }; result.Add(reg); } return(result); }
//public static Dictionary<string, object> GetRemoteDictionary(string path, Dictionary<string, object> dic, out string msg) //{ // string json = ApiRequest.GetRemoteContent(path, dic, out msg); // if (!json.IsNullOrEmpty()) // { // object x = JSON.JsonTObject(json); // Dictionary<string, object> dicx = x as Dictionary<string, object>; // } // return null; //} /// <summary> /// 解析返回数据 /// </summary> /// <param name="content"></param> /// <returns></returns> public static IResultResponse ParseResponseData(string content) { IResultResponse result = null; var dic = JSON.Json2Dictionary(content); if (!dic.ContainsKey("Success")) { return(ResultResponse.ExceptionResult("不是有效对象")); } string message = dic["Message"].ToString(); int code = Utils.ToInt(dic["Code"]); if (Utils.ToBool(dic["Success"])) { string name = dic["Content"].GetType().Name; if (dic["Content"] == null) { result = ResultResponse.GetSuccessResult("", message); } else if (name == "Object[]") { result = ResultResponse.GetSuccessResult(ConvertToDataTable(dic["Content"] as object[]), message); } else if (name == "Dictionary`2") { result = ResultResponse.GetSuccessResult(ConvertToDictionary(dic["Content"]), message); } else { result = ResultResponse.GetSuccessResult(dic["Content"].ToString(), message); } } else { result = ResultResponse.ExceptionResult(message, null, code); } return(result); }
public IResponseBase ParseAccountOrderHistory(IResultResponse response, IRequestParameter parameters) { Response <AccountOrderHistoryResponse> result = new Response <AccountOrderHistoryResponse>(); try { var mainContainer = _xDoc.Descendants(_ns + "div") .WhereAttributeEquals("id", "primary") .FirstOrNewXElement(); // Parse History Items var items = mainContainer.Descendants(_ns + "ul") .WhereAttributeEquals("class", "search-result-items") .FirstOrNewXElement() .Elements(_ns + "li") .Select(x => { var date = GetDivsValueSpan("order-date", x); var status = GetDivsValueSpan("order-status", x); ///what the f**k is this? return(new AccountOrderHistoryItem { }); }) .ToList(); // Populate Result } catch (Exception ex) { _errors.Add(ex.Handle( "MadServ.AccountService.ParseAccountOrderHistory", ErrorSeverity.FollowUp, ErrorType.Parsing )); } return(result); }
/// <summary> /// 获得下游列表 /// </summary> /// <param name="para"></param> /// <returns></returns> public static IResultResponse GetDownList(SysParameter para) { IResultResponse resultResponse = OpsUtil.VerifyAccessToken(para); if (!resultResponse.Success) { return(resultResponse); } Sdk.AccessToken accessToken = resultResponse.Content as Sdk.AccessToken; try { DataTable dt = new ConnectorBusiness(para.dapperFactory).GetDownList(accessToken.Id); return(ResultResponse.GetSuccessResult(dt)); } catch (Exception ex) { return(ResultResponse.ExceptionResult(ex, 500)); } }
/// <summary> /// 通过下游卖家mobile获取信息 /// </summary> /// <param name="mobile">卖家mobile</param> /// <returns>大于0成功,否则失败</returns> /// <remarks> /// <list type="bullet"> /// <item></item> /// </list> /// </remarks> public IResultResponse CheckDownConnector(string mobile, int upConnectorId) { //检查信息是否存在 Dictionary <string, object> dic = new Dictionary <string, object>(); dic.Add("Mobile", mobile); List <ConnectorEntity> entConnectors = DbAccess.GetEntity <List <ConnectorEntity> >(ConnectorBusiness._TableName, dic); if (entConnectors == null || entConnectors.Count == 0) { return(ResultResponse.ExceptionResult("您尚未成为连接器合作商")); } IResultResponse resultResponse = null; foreach (ConnectorEntity entConnector in entConnectors) { Dictionary <string, object> dic2 = new Dictionary <string, object>(); dic2.Add("DownConnectorId", entConnector.Id); dic2.Add("Status", 1); RelationEntity relate = DbAccess.GetEntity <RelationEntity>(TableName, dic2); if (relate != null && relate.Id > 0) { if (relate.UpConnectorId == upConnectorId) { resultResponse = ResultResponse.ExceptionResult("您已成为该合作商的下游合作商"); } else { resultResponse = ResultResponse.ExceptionResult("您已拥有上游合作商,不能再添加"); } continue; } GroupEntity group = (GroupEntity) new GroupBusiness(_dapperFactory).GetEntity("Id=" + entConnector.GroupId); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("Id", entConnector.Id); result.Add("Domain", group.Domain); resultResponse = ResultResponse.GetSuccessResult(result.ToJson()); break; } return(resultResponse); }
public IResponseBase ProcessResponse(IResultResponse response, IRequestParameter parameters) { var result = new Response <ForgotPasswordFormResponse>(); try { var xDoc = response.XDocument; var ns = xDoc.Root.GetDefaultNamespace(); var form = xDoc.Descendants(ns + "form") .WhereAttributeEquals("id", "PasswordResetForm") .FirstOrNewXElement(); var action = form.AttributeValue("action"); var dwSecureKey = form.Descendants(ns + "input") .WhereAttributeEquals("name", "dwfrm_requestpassword_securekey") .FirstOrNewXElement() .AttributeValue("value"); if (!string.IsNullOrEmpty(action) && !string.IsNullOrEmpty(dwSecureKey)) { result.resultset.Action = action; result.resultset.DWSecureKey = dwSecureKey; } else { _errors.Add(new SiteError { Message = new ErrorMessage(Config.Constants.GenericError, Config.Constants.GenericError), Severity = ErrorSeverity.FollowUp, Type = ErrorType.Unclassifiable }); } } catch (Exception ex) { _errors.Add(ex.Handle("ForgotPasswordForm.ProcessResponse", ErrorSeverity.FollowUp, ErrorType.Parsing)); } return(result); }
public IResponseBase Execute(IRequestParameter parameters) { var result = new Response <PromosResponse>(); try { _request = (PromosRequest)parameters; if (_request != null && !string.IsNullOrEmpty(_request.PromoName) && Config.PromoLookup.ContainsKey(_request.PromoName)) { promoName = _request.PromoName; var communicationRequest = BuildUrl(parameters); _response = Communicate(communicationRequest); result = ParseResponse(_response); } } catch (Exception ex) { _errors.Add(ex.Handle("PromosRequest.Execute", ErrorSeverity.FollowUp, ErrorType.RequestError)); } return(result); }
public static List <string> GetProductMasterIds(IResultResponse response) { var result = new List <string>(); var match = BasketRegex.Match(response.RawData); if (match.Success) { var script = match.Groups["script"].Value; var productIdsMatches = BasketProductIdRegex.Matches(script); if (productIdsMatches != null) { foreach (Match id in productIdsMatches) { result.Add(id.Groups["id"].Value); } } } return(result); }
public IResponseBase Execute(IRequestParameter parameters) { IResponseBase result; var orderLookupForm = new OrderLookupForm(_core, _errors); var orderLookupFormRequest = new EmptyRequest(); var orderLookupFormResponse = (Response <StringResponse>)orderLookupForm.Execute(orderLookupFormRequest); if (!_errors.Any()) { _request = (OrderLookupRequest)parameters; _request.QueryString = orderLookupFormResponse.resultset.Model; var communicationRequest = BuildUrl(parameters); _response = Communicate(communicationRequest); result = ProcessResponse(_response, parameters); } else { result = new Response <AccountOrderDetailResponse>(); } return(result); }
public IResponseBase Execute(IRequestParameter parameters) { IResponseBase result; var ForgotPasswordForm = new ForgotPasswordForm(_core, _errors); var ForgotPasswordFormRequest = new EmptyRequest(); var ForgotPasswordFormResponse = (Response <ForgotPasswordFormResponse>)ForgotPasswordForm.Execute(ForgotPasswordFormRequest); if (!_errors.Any()) { _request = (ForgotPasswordRequest)parameters; _request.Form = ForgotPasswordFormResponse.resultset; var communicationRequest = BuildUrl(parameters); _response = Communicate(communicationRequest); result = ProcessResponse(_response, parameters); } else { result = new Response <AccountOrderDetailResponse>(); } return(result); }