/// <summary> /// CalculateAsync /// </summary> /// <param name="calculateCartCommand"></param> /// <returns></returns> public CalculatedCart CalculateCart(CalculateCartCommand calculateCartCommand) { try { CalculatedCart cart = null; cart = AsyncHelper.RunSync(() => _service.CartResource.CalculateAsync(calculateCartCommand)); return(cart); } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "CalculateAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices CalculateCartAsync"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices CalculateCartAsync"); return(null); } }
/// <summary> /// Get a DeviceUsageId so we can use it to call a POS Snippet /// </summary> /// <returns></returns> public async Task <string> GetSessionAsync() { try { var session = await _service.SystemResource.GetSessionAsync().ConfigureAwait(true); return(session.Key); } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "GetSessionAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices GetSessionAsync"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices GetSessionAsync"); return(null); } }
/// <summary> /// ApproveCartAsync /// </summary> /// <param name="approveCommand"></param> /// <returns></returns> public async Task <CartApproval> ApproveCartAsync(ApproveCartCommand approveCommand) { try { CartApproval cartApproval = null; cartApproval = await _service.CartResource.ApproveAsync(approveCommand).ConfigureAwait(true); return(cartApproval); } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "ApproveAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices ApproveCartAsync"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices ApproveCartAsync"); return(null); } }
/// <summary> /// Get Cart By SourceExternalId /// </summary> /// <param name="cartSourceExternalId"></param> /// <returns></returns> public async Task <CalculatedCart> GetCartBySourceExternalIdAsync(string cartSourceExternalId) { try { CalculatedCart cart = null; cart = await _service.CartResource.GetBySourceExternalIdAsync(cartSourceExternalId).ConfigureAwait(true); return(cart); } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "GetBySourceExternalIdAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices GetCartBySourceExternalIdAsync"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices GetCartBySourceExternalIdAsync"); return(null); } }
/// <summary> /// Create a CartUid /// </summary> /// <returns></returns> public async Task <string> CreateCartForNewTicket() { try { var cart = new Cart { Customer = new Customer(), Lines = new List <CartLine>() }; var request = new CalculateCartCommand() { Cart = cart, CouponCodes = new List <string>() }; var calculatedCart = await CalculateCartAsync(request); if (calculatedCart != null && calculatedCart.Cart != null) { return(calculatedCart.Cart.Uid.ToString()); } } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "CalculateAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices CreateCartUid"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices CreateCartUid"); } return(string.Empty); }
/// <summary> /// Calculate Cart /// </summary> /// <param name="transCode"></param> /// <param name="applyBalance"></param> /// <param name="giftCardNumber"></param> /// <param name="ticketId"></param> /// <returns></returns> private CalculatedCart CalculateCart(string transCode, string applyBalance, string giftCardNumber, string ticketId) { try { if (!string.IsNullOrWhiteSpace(transCode)) { var cart = new Cart { Customer = new Customer(), Lines = new List <CartLine>() }; var request = new CalculateCartCommand() { Cart = cart, CouponCodes = new List <string>() }; return(CalculateCart(request)); } } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "CalculateAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices CalculateCart"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices CalculateCart"); return(null); } return(null); }
/// <summary> /// CommitAsync /// </summary> /// <param name="commitCommand"></param> /// <returns></returns> public async Task <CartCommitment> CommitAsync(CommitCartCommand commitCommand) { try { return(await _service.CartResource.CommitAsync(commitCommand)); } catch (ApiException ex) { if (ex != null && !string.IsNullOrWhiteSpace(ex.Code) && ex.Code == "ServiceRedirect") { ServiceURLHelper.IsbLoyalServiceUrlDown = true; apiException = new APIExceptions { ErrorCode = ex.Code, ErrorDescription = "A bLoyal error occurred. Please restart your Workstation and try again.", ErrorApi = "CommitAsync" }; } _logger.WriteLogError(ex, "LoyaltyEngineServices CommitAsync"); return(null); } catch (Exception ex) { _logger.WriteLogError(ex, "LoyaltyEngineServices CommitAsync"); return(null); } }