public async Task <IActionResult> Edit(int id, [Bind("GarbageServiceId,ServiceTypeId,HostMemberId,DistrictId,Address,StartTime,EndTime,IsActive,Latitude,Longitude,CanGo,GoRangeId,L3maxCount,L5maxCount,L14maxCount,L25maxCount,L33maxCount,L75maxCount,L120maxCount")] GarbageServiceOffer garbageServiceOffer) { if (id != garbageServiceOffer.GarbageServiceId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(garbageServiceOffer); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GarbageServiceOfferExists(garbageServiceOffer.GarbageServiceId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["DistrictId"] = new SelectList(_context.DistrictRefs, "DistrictId", "DistrictName", garbageServiceOffer.DistrictId); ViewData["GoRangeId"] = new SelectList(_context.RangeRefs, "RangeId", "RangeId", garbageServiceOffer.GoRangeId); ViewData["CityId"] = new SelectList(_context.CityRefs, "CityId", "CityName", garbageServiceOffer.District); ViewData["ServiceTypeId"] = new SelectList(_context.ServiceTypeRefs, "ServiceTypeId", "ServiceName", garbageServiceOffer.ServiceTypeId); GarbageServiceOffersViewModel gsovm = new GarbageServiceOffersViewModel(garbageServiceOffer); return(View(gsovm)); }
//編輯開團內容 public void EditGarbageOffer(int garbageServiceID, GarbageServiceOffer garbageServiceOffer) { var g = _context.GarbageServiceOffers.Where(n => n.GarbageServiceId == garbageServiceID).Select(n => new { n.L3available, n.L3maxCount, n.L5available, n.L5maxCount, n.L14available, n.L14maxCount, n.L25available, n.L25maxCount, n.L33available, n.L33maxCount, n.L75available, n.L75maxCount, n.L120available, n.L120maxCount, }).ToList(); if (garbageServiceID == garbageServiceOffer.GarbageServiceId) { decimal[] s = cUtility.addressToLatlong(garbageServiceOffer.Address); garbageServiceOffer.Latitude = s[0]; garbageServiceOffer.Longitude = s[1]; garbageServiceOffer.L3available = (byte)(g[0].L3available + (garbageServiceOffer.L3maxCount - g[0].L3maxCount)); garbageServiceOffer.L5available = (byte)(g[0].L5available + (garbageServiceOffer.L5maxCount - g[0].L5maxCount)); garbageServiceOffer.L14available = (byte)(g[0].L14available + (garbageServiceOffer.L14maxCount - g[0].L14maxCount)); garbageServiceOffer.L25available = (byte)(g[0].L25available + (garbageServiceOffer.L25maxCount - g[0].L25maxCount)); garbageServiceOffer.L33available = (byte)(g[0].L33available + (garbageServiceOffer.L33maxCount - g[0].L33maxCount)); garbageServiceOffer.L75available = (byte)(g[0].L75available + (garbageServiceOffer.L75maxCount - g[0].L75maxCount)); garbageServiceOffer.L120available = (byte)(g[0].L120available + (garbageServiceOffer.L120maxCount - g[0].L120maxCount)); _context.Update(garbageServiceOffer); _context.SaveChanges(); } }
public GarbageServiceOffersViewModel(GarbageServiceOffer p) { garbageServiceOffer = p; }