public async Task<ActionResult> TenDollarPromo()
        {
            try
            {
                var accountStatement = new AccountStatementRepository();

                var promo = new AccountStatement 
                { 
                    User = User.Identity.Name,
                    Credit = 10,
                    CurrentBalance = 10,
                    TransactionDate = Helper.SetDateForMongo(DateTime.Now),
                    Description = "Early adopter $10 promo"                    
                };

                accountStatement.Create(promo);
                return Json(new { success = true, responseText = "Added." }, JsonRequestBehavior.AllowGet);
                
            }
            catch(Exception ex)
            {
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                return Json(new { success = false, responseText = ex.Message }, JsonRequestBehavior.AllowGet);
            }
        }
        public async Task<ActionResult> Post(Space space)
        {
            try
            {
                var postRepo = new PostRepository();

                switch (space.AvailabilityType)
                {
                    case "Specific Date" :
                        if (space.Availability.SpecificDate == DateTime.MinValue)
                        {
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            return Json(new { success = false, responseText = "Invalid specific date." }, JsonRequestBehavior.AllowGet);
                        }
                        break;
                    case "Date Range":
                        if (space.Availability.DateFrom == DateTime.MinValue || space.Availability.DateTo == DateTime.MinValue)
                        {
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            return Json(new { success = false, responseText = "Invalid date range." }, JsonRequestBehavior.AllowGet);
                        }
                        break;
                }
                space.Availability.DateFrom = DateTime.SpecifyKind(space.Availability.DateFrom, DateTimeKind.Utc);
                space.Availability.DateTo = DateTime.SpecifyKind(space.Availability.DateTo, DateTimeKind.Utc);
                space.Availability.SpecificDate = DateTime.SpecifyKind(space.Availability.SpecificDate, DateTimeKind.Utc);

                var data = new Data.Model.Space
                {
                    User = User.Identity.Name,
                    Address = space.Address,
                    Country = space.Country,
                    City = space.City,
                    latitude = space.latitude,
                    longitude = space.longitude,
                    VehicleType = space.VehicleType,
                    NumberOfSlot = space.NumberOfSlot,
                    AvailabilityType = space.AvailabilityType,
                    Availability = space.Availability,
                    Price = space.Price,
                    Instructions = space.Instructions,
                    DatePosted = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc)
                };

                await postRepo.CreateSync(data);

                

                var accountStatement = new AccountStatementRepository();
                var amount = await accountStatement.GetCurrentBalance(User.Identity.Name) + 10;
                var promo = new AccountStatement
                {
                    User = User.Identity.Name,
                    Credit = 10,
                    CurrentBalance = amount,
                    TransactionDate = Helper.SetDateForMongo(DateTime.Now),
                    Description = "Early adopter $10 promo"
                };

                accountStatement.Create(promo);


                return Json(new { success = true, responseText = "Added.", id = data.Id.ToString() }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                return Json(new { success = false, responseText = ex.Message }, JsonRequestBehavior.AllowGet);
            }

        }