예제 #1
0
        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));
        }
예제 #2
0
        //編輯開團內容
        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();
            }
        }
예제 #3
0
 public GarbageServiceOffersViewModel(GarbageServiceOffer p)
 {
     garbageServiceOffer = p;
 }