public ApprovedCartModel ValidateCart(UserProfile user, UserSelectedContext catalogInfo, Guid cartId, string orderNumber) { ApprovedCartModel ret = new ApprovedCartModel(); bool isCart = cartId != null && cartId != Guid.Empty ? true : false; if (isCart == true) { Core.Models.ShoppingCart.ShoppingCart currentCart = new Core.Models.ShoppingCart.ShoppingCart(); } else { Core.Models.Orders.Order existingOrder = new Core.Models.Orders.Order(); } try { MinimumOrderAmountModel minimumOrderAmount = _minimumAmountRepo.GetMinimumOrderAmount(catalogInfo.CustomerId, catalogInfo.BranchId); decimal subtotal = 0; ret.ApprovedAmount = minimumOrderAmount.ApprovedAmount; if (isCart == true) { currentCart = _shoppingCartLogic.ReadCart(user, catalogInfo, cartId); subtotal = (decimal)PricingHelper.CalculateCartSubtotal(currentCart.Items); } else { existingOrder = _orderLogic.ReadOrder(user, catalogInfo, orderNumber, false); subtotal = (decimal)existingOrder.OrderTotal; } ret.Approved = ret.ApprovedAmount <= subtotal; ret.RemainingAmount = ret.ApprovedAmount - subtotal > 0 ? ret.ApprovedAmount - subtotal : 0; if (ret.Approved == false) { throw new Exception("The cart total does not meet or exceed the minimum approved amount. Please contact your DSR for more information."); } } catch (Exception ex) { _log.WriteErrorLog("ValidateCart", ex); ret.Message = ex.Message; ret.Approved = false; } return(ret); }
public Models.OperationReturnModel <ShoppingCart> Cart(Guid cartId) { Models.OperationReturnModel <ShoppingCart> retVal = new Models.OperationReturnModel <ShoppingCart>(); try { retVal.SuccessResponse = _shoppingCartLogic.ReadCart(this.AuthenticatedUser, this.SelectedUserContext, cartId); retVal.IsSuccess = true; ApprovedCartModel cartApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, cartId, null); retVal.SuccessResponse.Approval = cartApproved; } catch (Exception ex) { _log.WriteErrorLog("GetCart", ex); retVal.ErrorMessage = ex.Message; retVal.IsSuccess = false; } return(retVal); }
public Models.OperationReturnModel <Order> UpdateOrder(Order order, bool deleteOmitted = true) { Models.OperationReturnModel <Order> retVal = new Models.OperationReturnModel <Order>(); try { ApprovedCartModel orderApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, Guid.Empty, order.OrderNumber); retVal.SuccessResponse = _orderLogic.UpdateOrder(this.SelectedUserContext, this.AuthenticatedUser, order, deleteOmitted); retVal.SuccessResponse.Approval = orderApproved; retVal.IsSuccess = true; } catch (Exception ex) { _log.WriteErrorLog(string.Format("UpdateOrder({0})", JsonConvert.SerializeObject(order)), ex); ExceptionEmail.Send(ex, string.Format("UpdateOrder({0})", JsonConvert.SerializeObject(order))); retVal.ErrorMessage = ex.Message; retVal.IsSuccess = false; } return(retVal); }
public Models.OperationReturnModel <ShoppingCart> Put(ShoppingCart updatedCart, bool deleteomitted = true) { Models.OperationReturnModel <ShoppingCart> retVal = new Models.OperationReturnModel <ShoppingCart>(); try { ApprovedCartModel cartApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, updatedCart.CartId, null); _shoppingCartLogic.UpdateCart(this.SelectedUserContext, this.AuthenticatedUser, updatedCart, deleteomitted); updatedCart.Approval = cartApproved; retVal.SuccessResponse = updatedCart; retVal.IsSuccess = true; } catch (Exception ex) { _log.WriteErrorLog(string.Format("PUT Cart({0})", JsonConvert.SerializeObject(updatedCart)), ex); ExceptionEmail.Send(ex, string.Format("PUT Cart({0})", JsonConvert.SerializeObject(updatedCart))); retVal.ErrorMessage = ex.Message; retVal.IsSuccess = false; } return(retVal); }
public Models.OperationReturnModel <NewOrderReturn> SaveOrder(string orderNumber) { Models.OperationReturnModel <NewOrderReturn> retVal = new Models.OperationReturnModel <NewOrderReturn>(); try { ApprovedCartModel orderApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, Guid.Empty, orderNumber); if (orderApproved.Approved == true) { retVal.SuccessResponse = _orderLogic.SubmitChangeOrder(this.AuthenticatedUser, this.SelectedUserContext, orderNumber); retVal.IsSuccess = true; } } catch (Exception ex) { _log.WriteErrorLog(string.Format("SubmitChangeOrder({0})", orderNumber), ex); ExceptionEmail.Send(ex, string.Format("SubmitChangeOrder({0})", orderNumber)); retVal.ErrorMessage = ex.Message; retVal.IsSuccess = false; } return(retVal); }
public Models.OperationReturnModel <SaveOrderReturn> SaveOrder(Guid cartId) { Models.OperationReturnModel <SaveOrderReturn> retVal = new Models.OperationReturnModel <SaveOrderReturn>(); try { ApprovedCartModel cartApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, cartId, null); if (cartApproved.Approved == true) { retVal.SuccessResponse = _shoppingCartLogic.SaveAsOrder(this.AuthenticatedUser, this.SelectedUserContext, cartId); retVal.IsSuccess = true; } } catch (Exception ex) { _log.WriteErrorLog(string.Format("SaveAsOrder({0})", cartId.ToString()), ex); ExceptionEmail.Send(ex, string.Format("SaveAsOrder({0})", cartId.ToString())); retVal.ErrorMessage = ex.Message; retVal.IsSuccess = false; } return(retVal); }
public Models.OperationReturnModel <Order> Orders(string orderNumber) { Models.OperationReturnModel <Order> retVal = new Models.OperationReturnModel <Order>(); try { Order order = _orderLogic.UpdateOrderForEta(AuthenticatedUser, _orderLogic.GetOrder(SelectedUserContext.BranchId, orderNumber.Trim())); ApprovedCartModel orderApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, Guid.Empty, order.OrderNumber); FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(AuthenticatedUser, SelectedUserContext, order.Items, _listService); retVal.SuccessResponse = order; retVal.SuccessResponse.Approval = orderApproved; retVal.IsSuccess = true; } catch (Exception ex) { _log.WriteErrorLog("OrdersIndate", ex); retVal.ErrorMessage = ex.Message; retVal.IsSuccess = false; } return(retVal); }