Пример #1
0
 public ShackUpService()
 {
     statesRepo        = StatesRepositoryFactory.GetRepository();
     bathroomTypesRepo = BathroomTypesRepositoryFactory.GetRepository();
     listingsRepo      = ListingRepositoryFactory.GetRepository();
     acctRepo          = AccountRepositoryFactory.GetRepository();
 }
Пример #2
0
 public ListingsController()
 {
     _svc              = ShackUpServiceFactory.GetService();
     listingRepo       = ListingRepositoryFactory.GetRepository();       //use if no service layer
     statesRepo        = StatesRepositoryFactory.GetRepository();        //use if no service layer
     bathroomTypesRepo = BathroomTypesRepositoryFactory.GetRepository(); //use if no service layer
 }
Пример #3
0
        // GET: Listings
        public ActionResult Details(int id)
        {
            if (Request.IsAuthenticated)
            {
                ViewBag.UserId = AuthorizeUtilities.GetUserId(this);
            }

            var repo  = ListingRepositoryFactory.GetRepository();
            var model = repo.GetDetails(id);

            return(View(model));
        }
Пример #4
0
        public ActionResult Add(ListingAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                var repo = ListingRepositoryFactory.GetRepository();

                try
                {
                    model.Listing.UserId = AuthorizeUtilities.GetUserId(this);

                    if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0)
                    {
                        var savepath = Server.MapPath("~/Images");

                        string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                        string extension = Path.GetExtension(model.ImageUpload.FileName);

                        var filePath = Path.Combine(savepath, fileName + extension);

                        int counter = 1;
                        while (System.IO.File.Exists(filePath))
                        {
                            filePath = Path.Combine(savepath, fileName + counter.ToString() + extension);
                            counter++;
                        }

                        model.ImageUpload.SaveAs(filePath);
                        model.Listing.ImageFileName = Path.GetFileName(filePath);
                    }

                    repo.Insert(model.Listing);

                    return(RedirectToAction("Edit", new { id = model.Listing.ListingId }));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var statesRepo   = StatesRepositoryFactory.GetRepository();
                var bathroomRepo = BathroomTypesRepositoryFactory.GetRepository();

                model.States        = new SelectList(statesRepo.GetAll(), "StateId", "StateId");
                model.BathroomTypes = new SelectList(bathroomRepo.GetAll(), "BathroomTypeId", "BathroomTypeName");

                return(View(model));
            }
        }
Пример #5
0
        public ActionResult Edit(int id)
        {
            var model = new ListingEditViewModel();

            var statesRepo   = StatesRepositoryFactory.GetRepository();
            var bathroomRepo = BathroomTypesRepositoryFactory.GetRepository();
            var listingsRepo = ListingRepositoryFactory.GetRepository();

            model.States        = new SelectList(statesRepo.GetAll(), "StateId", "StateId");
            model.BathroomTypes = new SelectList(bathroomRepo.GetAll(), "BathroomTypeId", "BathroomTypeName");
            model.Listing       = listingsRepo.GetById(id);

            if (model.Listing.UserId != AuthorizeUtilities.GetUserId(this))
            {
                throw new Exception("Attempt to edit a listing you do not own! Naughty!");
            }

            return(View(model));
        }
        public IHttpActionResult Search(decimal?minRate, decimal?maxRate, string city, string stateId)
        {
            var repo = ListingRepositoryFactory.GetRepository();

            try
            {
                var parameters = new ListingSearchParameters()
                {
                    MinRate = minRate,
                    MaxRate = maxRate,
                    City    = city,
                    StateId = stateId
                };

                var result = repo.Search(parameters);
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #7
0
        public ActionResult Index()
        {
            var model = ListingRepositoryFactory.GetRepository().GetRecent();

            return(View(model));
        }
Пример #8
0
 public HomeController()
 {
     _svc        = ShackUpServiceFactory.GetService();
     listingRepo = ListingRepositoryFactory.GetRepository(); //use if no service layer
 }
Пример #9
0
 public ListingsAPIController()
 {
     _svc        = ShackUpServiceFactory.GetService();
     acctRepo    = AccountRepositoryFactory.GetRepository(); //use if no service layer
     listingRepo = ListingRepositoryFactory.GetRepository(); //use if no service layer
 }