public ActionResult Edit([Bind(Include = "Id,Name,Price,Type,Open,StationId")] FillStation fillStation)
        {
            if (ModelState.IsValid)
            {
                if (ValidateFillStation.AlreadyExistsFillStation(fillStation))
                {
                    ModelState.AddModelError(string.Empty, "O posto já existe na base de dados.");

                    var userId = User.Identity.GetUserId();

                    if (User.IsInRole("Admin"))
                    {
                        ViewBag.StationIdList = ListStationByUserId.createallListItems(db);
                    }
                    else
                    {
                        ViewBag.StationIdList = ListStationByUserId.createListItems(db, userId);
                    }

                    return(View(fillStation));
                }

                db.Entry(fillStation).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.StationId = new SelectList(db.Stations, "Id", "OwnerId", fillStation.StationId);
            return(View(fillStation));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            FillStation fillStation = db.FillStations.Find(id);

            db.FillStations.Remove(fillStation);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //Se existir algum objecto igual na base de dados retorna true
        public static bool AlreadyExistsFillStation(FillStation fillStation)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            foreach (var item in db.FillStations.ToList())
            {
                if (item.Name.Equals(fillStation.Name) &&
                    item.StationId == fillStation.StationId &&
                    item.Type.Equals(fillStation.Type))
                {
                    return(true);
                }
            }

            return(false);
        }
        public ActionResult Create(FillStation fillStation)
        {
            fillStation.Open = true;

            if (fillStation.Price == 0)
            {
                if (User.IsInRole("Admin"))
                {
                    ViewBag.StationIdList = ListStationByUserId.createallListItems(db);
                }
                else
                {
                    ViewBag.StationIdList = ListStationByUserId.createListItems(db, User.Identity.GetUserId());
                }

                return(View(fillStation));
            }

            if (ModelState.IsValid)
            {
                if (ValidateFillStation.AlreadyExistsFillStation(fillStation))
                {
                    ModelState.AddModelError(string.Empty, "O posto já existe na base de dados.");

                    var userId = User.Identity.GetUserId();

                    if (User.IsInRole("Admin"))
                    {
                        ViewBag.StationIdList = ListStationByUserId.createallListItems(db);
                    }
                    else
                    {
                        ViewBag.StationIdList = ListStationByUserId.createListItems(db, userId);
                    }

                    return(View(fillStation));
                }

                db.FillStations.Add(fillStation);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(fillStation));
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FillStation fillStation = db.FillStations.Find(id);

            if (fillStation == null)
            {
                return(HttpNotFound());
            }
            if (fillStation.Station.OwnerId != User.Identity.GetUserId() && !User.IsInRole("Admin"))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }
            return(View(fillStation));
        }
Beispiel #6
0
        public static SelectList createListItems(ApplicationDbContext db, string id, int stationId)
        {
            List <SelectListItem> selectListItems = new List <SelectListItem>();
            FillStation           fillStation     = db.FillStations.Find(stationId);

            selectListItems.Add(new SelectListItem {
                Text = $"{fillStation.Name}", Value = $"{fillStation.Id}"
            });

            foreach (var item in db.FillStations.ToList())
            {
                if (item.Station.OwnerId.Equals(id) && item.Id != stationId)
                {
                    selectListItems.Add(new SelectListItem {
                        Text = $"{item.Name}", Value = $"{item.Id}"
                    });
                }
            }

            return(new SelectList(selectListItems, "Value", "Text"));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FillStation fillStation = db.FillStations.Find(id);

            if (fillStation == null)
            {
                return(HttpNotFound());
            }
            if (fillStation.Station.OwnerId != User.Identity.GetUserId() && !User.IsInRole("Admin"))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }
            var userId = User.Identity.GetUserId();

            ViewBag.StationIdList = ListStationByUserIdEdit.createListItems(db, userId, fillStation.StationId);
            return(View(fillStation));
        }