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"));
        }
Esempio n. 2
0
        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"));
            }
        }