public ActionResult submitRating(FinisedOrderModel model) { var resetUser = context.OrderRequest.Include("User").Include("Deliverer").Where(a => a.User.Id == model.userId).First(); resetUser.Deliverer = null; resetUser.ActiveOrder = false; resetUser.OrderAccepted = false; resetUser.OrderPurchased = false; resetUser.FinishOrder = false; resetUser.ActiveOrder = false; var changeStatus = context.OrderStatus.Where(a => a.User.Id == model.userId).First(); changeStatus.status = "No order in progress."; var usersCarts = context.ShoppingcartJoin.Where(a => a.User.Id == model.userId); foreach (var item in usersCarts) { context.ShoppingcartJoin.Remove(item); } var ratedUser = context.Rating.Where(a => a.User.Id == model.userId).First(); ratedUser.raiting += model.rating; ratedUser.raitingCount++; context.SaveChanges(); return(View("Index")); }
public ActionResult submitRating(FinisedOrderModel model) { var ratedUser = context.Rating.Where(a => a.User.Id == model.userId).First(); ratedUser.raiting += model.rating; ratedUser.raitingCount++; context.SaveChanges(); return(View("Index")); }
public ActionResult DisplayShoppingCart() { var currentUser = context.Users.Where(b => b.UserName == User.Identity.Name).First(); var orderAccepted = context.OrderRequest.Where(a => a.User.Id == currentUser.Id).First(); List <List <ShoppingCartModel> > shoppingCarts = new List <List <ShoppingCartModel> >(); var myCartId = context.ShoppingcartJoin.Where(a => a.User.Id == currentUser.Id).ToList(); foreach (var item in myCartId) { shoppingCarts.Add(context.ShopingCarts.Where(a => a.Id == item.Id).ToList()); } ViewShoppingCart model = new ViewShoppingCart(); model.shoppingCart = shoppingCarts; double roundedPrice = 0; double deliveryPrice = 0; double finalPrice = 0; foreach (var item in model.shoppingCart) { foreach (var thing in item) { if (thing.amount > 1) { roundedPrice += thing.salePrices * thing.amount; model.TotalPrice = Math.Round(roundedPrice, 2); } else { roundedPrice += thing.salePrices; model.TotalPrice = Math.Round(roundedPrice, 2); } } } try { var address = context.AddressJoin.Include("Address").Include("Address.Zip").Include("Address.City").Where(a => a.User.Id == currentUser.Id).First(); var location = StaticClasses.StaticClasses.WalmartLocatorApi(address.Address.City.City, address.Address.Zip.zip.ToString()); string userLat = StaticClasses.StaticClasses.GoogleGeoLocationApi(address.Address.addressLine, address.Address.Zip.zip)[0]; string userLng = StaticClasses.StaticClasses.GoogleGeoLocationApi(address.Address.addressLine, address.Address.Zip.zip)[1]; string distanceObject = StaticClasses.StaticClasses.GoogleDistanceApi(userLat, userLng, location.Coordinates[1].ToString(), location.Coordinates[0].ToString()); var hold = distanceObject.Split(' '); var distance = double.Parse(hold[0]); deliveryPrice += distance * 2; finalPrice = deliveryPrice + roundedPrice; model.deliveryPrice = Math.Round(deliveryPrice, 2); model.finalPrice = Math.Round(finalPrice, 2); if (orderAccepted.FinishOrder == true) { FinisedOrderModel finishmodel = new FinisedOrderModel(); finishmodel.userId = currentUser.Id; return(View("FinishedOrder", finishmodel)); } else if (orderAccepted.ActiveOrder == true && orderAccepted.OrderAccepted == true) { var orderRequest = context.OrderRequest.Include("Deliverer").Where(a => a.User.Id == currentUser.Id).First(); var mapData = context.DelivererGeoLocation.Where(a => a.User.Id == orderRequest.Deliverer.Id).First(); var rating = context.Rating.Where(a => a.User.Id == orderRequest.Deliverer.Id).First(); if (rating.raitingCount > 1) { model.rating = rating.raiting / rating.raitingCount; } else { model.rating = 4; } model.lat = mapData.lat; model.lng = mapData.lng; var orderStatus = context.OrderStatus.Where(a => a.User.Id == currentUser.Id).First(); model.OrderStatus = orderStatus.status; model.message = orderRequest.message; return(View("OrderInProgress", model)); } else if (orderAccepted.ActiveOrder == true && orderAccepted.OrderAccepted == false) { return(View("SubmittedOrder", model)); } else { return(View("ShoppingCart", model)); } } catch { return(View("NoAddress")); } }