示例#1
0
        // GET: Listings/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Listing listing = db.Listings.Find(id);

            if (listing == null)
            {
                return(HttpNotFound());
            }

            var pickupLocationsForGrower = db.PickupLocations.Where(m => m.Grower.Id == listing.Grower.Id);

            ViewBag.locationsList = new SelectList(pickupLocationsForGrower, "id", "name", listing.PickupLocation.id);

            ListingViewModel listingViewModel = new ListingViewModel(db, listing.Grower);

            listingViewModel.id = Convert.ToInt32(id);
            listingViewModel.PopulatePickupLocations(db);
            listingViewModel.product        = listing.product;
            listingViewModel.qtyOffered     = listing.qtyOffered;
            listingViewModel.qtyLabel       = listing.qtyLabel;
            listingViewModel.harvested_date = listing.harvested_date;
            listingViewModel.expire_date    = listing.expire_date;
            listingViewModel.cost           = listing.cost;
            listingViewModel.available      = listing.available;
            listingViewModel.comments       = listing.comments;

            return(View(listingViewModel));
        }
示例#2
0
        public ActionResult Edit(ListingViewModel listingViewModel)
        {
            listingViewModel.PopulatePickupLocations(db);
            listingViewModel.PopulatePickupLocation(db);

            var saveListing = (from b in db.Listings where b.id == listingViewModel.id select b).FirstOrDefault();

            var pickupLocationsForGrower = db.PickupLocations.Where(m => m.Grower.Id == saveListing.Grower.Id);

            ViewBag.locationsList = new SelectList(pickupLocationsForGrower, "id", "name", saveListing.PickupLocation.id);

            saveListing.product        = listingViewModel.product;
            saveListing.qtyOffered     = listingViewModel.qtyOffered;
            saveListing.qtyLabel       = listingViewModel.qtyLabel;
            saveListing.harvested_date = listingViewModel.harvested_date;
            saveListing.expire_date    = listingViewModel.expire_date;
            saveListing.cost           = listingViewModel.cost;
            saveListing.available      = listingViewModel.available;
            saveListing.comments       = listingViewModel.comments;
            saveListing.PickupLocation = listingViewModel.PickupLocation;

            CheckListingForErrors(saveListing);

            if (ModelState.IsValid)
            {
                db.Entry(saveListing).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(listingViewModel));
        }
示例#3
0
        public ActionResult Create(ListingViewModel listingViewModel)
        {
            var service = new RegisteredUserService();
            var user    = service.GetRegisteredUser(this.User);

            var saveListing = new Listing();

            saveListing.Grower = (from b in db.Growers
                                  where b.Id == user.GrowerId
                                  select b).FirstOrDefault();

            saveListing.PickupLocation = (from b in db.PickupLocations
                                          where b.id.ToString() == listingViewModel.SavedLocationId
                                          select b).FirstOrDefault();

            saveListing.product        = listingViewModel.product;
            saveListing.qtyClaimed     = listingViewModel.qtyClaimed;
            saveListing.qtyOffered     = listingViewModel.qtyOffered;
            saveListing.qtyLabel       = listingViewModel.qtyLabel;
            saveListing.harvested_date = listingViewModel.harvested_date;
            saveListing.expire_date    = listingViewModel.expire_date;
            saveListing.cost           = listingViewModel.cost;
            saveListing.available      = true;
            saveListing.comments       = listingViewModel.comments;
            saveListing.FoodBank       = listingViewModel.FoodBank;
            saveListing.location       = "";
            saveListing.qtyClaimed     = 0;

            CheckListingForErrors(saveListing);

            if (ModelState.IsValid)
            {
                db.Listings.Add(saveListing);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            //Get pickup locations.
            listingViewModel.Grower = saveListing.Grower;
            listingViewModel.PopulatePickupLocations(db);

            return(View(listingViewModel));
        }