public async Task <IActionResult> PostCreateAsync([FromForm] OrderRequestViewModel model) { int?userId = 0; var userStrId = this.User.FindFirstValue(ClaimTypes.Name); if (!string.IsNullOrWhiteSpace(userStrId)) { userId = Convert.ToInt32(userStrId); } var response = new SingleResponse <OrderResponseViewModel>(); var result = await _unit.IOrder.CreateOrder(userId.Value, model); if (result.HasSuccess) { response.Data = result.UserObject; response.Message = "Success"; response.Status = true; } else { response.Data = null; response.Message = "Error"; response.Status = false; } return(response.ToHttpResponse()); }
public ActionResult SeeOrder(string userId) { OrderRequestViewModel model = new OrderRequestViewModel(); model.userId = userId; var currentUser = context.Users.Where(a => a.Id == userId).First(); var address = context.AddressJoin.Include("Address").Where(a => a.User.Id == userId).First(); var ratingData = context.Rating.Where(a => a.User.Id == userId).First(); if (ratingData.raitingCount > 1) { model.rating = ratingData.raiting / ratingData.raitingCount; } else { model.rating = 4; } model.OrderRequestLists = context.ShoppingcartJoin.Include("ShoppingCart").Where(a => a.User.Id == currentUser.Id.ToString()).ToList(); double roundedPrice = 0; model.addressLine = address.Address.addressLine; foreach (var item in model.OrderRequestLists) { roundedPrice += item.shoppingCart.salePrices; model.TotalPrice = Math.Round(roundedPrice, 2); //Math.Round(model.TotalPrice += item.shoppingCart.salePrices, 2); } return(View("ViewOrder", model)); }
public async Task <ActionResult> PostOrder(OrderRequestViewModel orderRequestViewModel) { foreach (string id in orderRequestViewModel.ProductIds) { ElectronicItem electronicItem = _context.ElectronicItems.Find(Guid.Parse(id)); } return(CreatedAtAction("GetElectronicItem", null)); }
public ActionResult OrderRequest() { var inventory = _context.StockRoomInventories; var viewModel = new OrderRequestViewModel() { Inventory = inventory }; return(View(viewModel)); }
public ActionResult OrderRequests() { List <ApplicationUser> User = new List <ApplicationUser>(); OrderRequestViewModel model = new OrderRequestViewModel(); var AllReady = (context.OrderRequest.Include("User").Where(a => a.ActiveOrder == true && a.OrderAccepted == false)); foreach (var item in AllReady) { User.Add(item.User); } model.Users = User; return(View("OrderRequests", model)); }
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 ActionResult OrderHistoryPeople() { try { OrderRequestViewModel model = new OrderRequestViewModel(); List <ApplicationUser> userList = new List <ApplicationUser>(); var currentUser = context.Users.Where(b => b.UserName == User.Identity.Name).First(); var people = context.Orders.Include("Deliverer").Where(a => a.User.Id == currentUser.Id && a.completed == true); foreach (var item in people) { userList.Add(item.Deliverer); } model.Users = userList; return(View(model)); } catch { return(View("NoPrieviousOrder")); } }
public async Task <ApiResult <OrderResponseViewModel> > CreateOrder(int userId, OrderRequestViewModel orderModel) { { OrderResponseViewModel model = null; try { SqlParameter UserId = new SqlParameter("@userId", System.Data.SqlDbType.Int) { Value = userId }; SqlParameter AddressId = new SqlParameter("@AddressId", System.Data.SqlDbType.Int) { Value = orderModel.AddressId }; SqlParameter PickUpSlotId = new SqlParameter("@PickUpSlotId", System.Data.SqlDbType.Int) { Value = orderModel.PickUpSlotId }; SqlParameter PickUpDate = new SqlParameter("@PickUpDate", System.Data.SqlDbType.DateTime) { Value = orderModel.PickUpDate }; SqlParameter DeliverDate = new SqlParameter("@DeliverDate", System.Data.SqlDbType.DateTime) { Value = orderModel.DeliverDate }; SqlParameter DeliverSlotId = new SqlParameter("@DeliverSlotId", System.Data.SqlDbType.Int) { Value = orderModel.DeliverSlotId }; SqlParameter DeliveryNote = new SqlParameter("@DeliveryNote", System.Data.SqlDbType.VarChar) { Value = orderModel.DeliveryNote ?? (object)DBNull.Value }; SqlParameter PaymentType = new SqlParameter("@PaymentType", System.Data.SqlDbType.Int) { Value = orderModel.PaymentType ?? (object)DBNull.Value }; SqlParameter ServiceId = new SqlParameter("@ServiceId", System.Data.SqlDbType.Int) { Value = orderModel.ServiceId }; var result = _context.ExecuteStoreProcedure("[CreateOrder]", UserId, AddressId, PickUpSlotId, PickUpDate, DeliverDate, DeliverSlotId, DeliveryNote, PaymentType, ServiceId); if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) { foreach (System.Data.DataRow row in result.Tables[0].Rows) { model = new OrderResponseViewModel() { OrderId = (row["OrderId"] != DBNull.Value) ? Convert.ToInt32(row["OrderId"]) : 0, OrderRef = (row["InvoiceNo"] != DBNull.Value) ? Convert.ToString(row["InvoiceNo"]) : string.Empty }; } } } catch (Exception ex) { ErrorTrace.Logger(LogArea.ApplicationTier, ex); return(new ApiResult <OrderResponseViewModel>(new ApiResultCode(ApiResultType.Error, 0, "No data in given request"))); } return(new ApiResult <OrderResponseViewModel>(new ApiResultCode(ApiResultType.Success), model)); } }
public OrderResponseViewModel RequestMobilePin(OrderRequestViewModel request) { string obj = JsonConvert.SerializeObject(request); List <ValidationErrorViewModel> errors = null; request.Data.OrderMemberId = string.IsNullOrEmpty(request.Data.OrderMemberId) && !string.IsNullOrEmpty(request.Data.CustomerId) ? request.Data.CustomerId : request.Data.OrderMemberId; var viewModel = request.Data; var shoppingcart = _mobileQuoteHelper.PriceCart(ref viewModel, ref errors); var quickPayresponseviewModel = new OrderResponseViewModel(); if (null != errors && errors.Any()) { quickPayresponseviewModel.ValidationErrors = errors; return(quickPayresponseviewModel); } var orderTotalsV01 = shoppingcart.Totals as ServiceProvider.OrderSvc.OrderTotals_V01; var orderTotalsV02 = shoppingcart.Totals as ServiceProvider.OrderSvc.OrderTotals_V02; decimal amount; var order = _mobileQuickPayController.Getorder(viewModel, ref errors, orderTotalsV02, orderTotalsV01, out amount); var ordernumber = order.OrderID; if (string.IsNullOrWhiteSpace(ordernumber)) { ordernumber = _mobileQuickPayController.GetOrderNumber(amount, shoppingcart.CountryCode, shoppingcart.DistributorID); } //Order_V01 order, string ordernumber, MyHLShoppingCart cart var cn99BillQuickPayProvider = new CN_99BillQuickPayProvider(); var hasrequestedmobilepin = cn99BillQuickPayProvider.RequestMobilePinForPurchase(ordernumber, order, shoppingcart, request.Data.MemberId); if (hasrequestedmobilepin) { var quickPayPaymentViewModel = request.Data.Payments[0] as QuickPayPaymentViewModel; if (quickPayPaymentViewModel != null) { quickPayPaymentViewModel.StorablePAN = cn99BillQuickPayProvider.StorablePAN; quickPayPaymentViewModel.Token = cn99BillQuickPayProvider.Token; } viewModel.OrderNumber = ordernumber; } if (!string.IsNullOrEmpty(cn99BillQuickPayProvider.LastErrorMessage)) { if (errors == null) { errors = new List <ValidationErrorViewModel>(); } errors.Add(new ValidationErrorViewModel { Code = 126000, Reason = cn99BillQuickPayProvider.LastErrorMessage }); } quickPayresponseviewModel.Data = viewModel; if (null != errors && errors.Any()) { quickPayresponseviewModel.ValidationErrors = errors; } JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, quickPayresponseviewModel, request.Data.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Data.Locale); return(quickPayresponseviewModel); }
public OrderResponseViewModel Put(OrderRequestViewModel request) { if (request == null || request.Data.OrderItems == null) { throw CreateException(HttpStatusCode.BadRequest, "Invalid or Incomplete Order information", 101416); } string obj = JsonConvert.SerializeObject(request); SetOrderMemberId(request.Data); request.Data.Locale = Thread.CurrentThread.CurrentCulture.Name; //Logging the bare request before it gets modified as it is a reference type //MobileActivityLogProvider.ActivityLog(request, null, request.Data.MemberId, true, // this.Request.RequestUri.ToString(), // this.Request.Headers.ToString(), // this.Request.Headers.UserAgent.ToString(), // request.Data.Locale); 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); } 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); } } } var response = new OrderResponseViewModel(); List <ValidationErrorViewModel> errors = null; var result = _iMobileOrderProvider.Submit(request.Data, ref errors, authToken, request.Data.MemberId); if (result != null) { response.Data = result; response.ValidationErrors = null != errors && errors.Any() ? errors : null; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, request.Data.MemberId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Data.Locale); return(response); } return(new OrderResponseViewModel { Data = null }); }
public OrderResponseViewModel Post([FromBody] OrderRequestViewModel request) { if (request == null) { throw CreateException(HttpStatusCode.BadRequest, "Invalid or Incomplete Order information", 101416); } try { string obj = JsonConvert.SerializeObject(request); request.Data.Locale = Thread.CurrentThread.CurrentCulture.Name; SetOrderMemberId(request.Data); var response = new OrderResponseViewModel(); List <ValidationErrorViewModel> errors = null; var result = _iMobileOrderProvider.Save(request.Data, ref errors); if (result != null) { response.Data = result; response.ValidationErrors = null != errors && errors.Any() ? errors : null; JObject json = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json, response, request.Data.CustomerId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Data.Locale); return(response); } if (result != null) { var orderResponseViewModel = new OrderResponseViewModel { Data = request.Data }; JObject json1 = JObject.Parse(obj); MobileActivityLogProvider.ActivityLog(json1, orderResponseViewModel, request.Data.CustomerId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Data.Locale); return(orderResponseViewModel); } } catch (Exception ex) { LoggerHelper.Error(ex.ToString()); throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Submit Order" + ex.Message, 404); } var orderResponseViewModel2 = new OrderResponseViewModel { Data = null }; MobileActivityLogProvider.ActivityLog(request, orderResponseViewModel2, request.Data.CustomerId, true, this.Request.RequestUri.ToString(), this.Request.Headers.ToString(), this.Request.Headers.UserAgent.ToString(), request.Data.Locale); return(orderResponseViewModel2); }
public IActionResult Order(OrderRequestViewModel order) { var response = _OrderAppService.Order(order.Order); return(Ok(response)); }