예제 #1
0
        public void Add(OperationalSite operationalSite)
        {
            //Go to OperationalSiteRepository, add the new operationalSite and return the (new) OperationalSiteID
            repository.Add(operationalSite);

            //Go to AssetOwnerRepository and add a new Owner by adding the OperationalSite(ID)
            repositoryAssetOwner.AddAssetOwnerOperationalSite(operationalSite.OperationalSiteID);

            //no need to return anyting, that's why here keep void!
        }
 public IActionResult Create([Bind("OperationalSiteID,Ref,Name,IsGroup,OperationalSiteGroupId")] OperationalSite operationalSite)
 {
     if (ModelState.IsValid)
     {
         service.Add(operationalSite);
         return(RedirectToAction(nameof(Index)));
     }
     ViewData["OperationalSiteGroupId"] = new List <SelectListItem>(service.GetSelectListOperationalSiteGroups());
     return(View(operationalSite));
 }
예제 #3
0
        public List <SelectListItem> GetSelectListOperationalSiteLocationsByAssetOwner(long assetOwnerID)
        {
            AssetOwner assetOwner = repositoryAssetOwner.FindById(assetOwnerID);

            if (assetOwner.OperationalSiteId != null)
            {
                OperationalSite operationalSite = repositoryOperationalSite.FindById(assetOwner.OperationalSiteId.Value);
                return(repositoryOperationalSiteLocation.GetSelectListOperationalSiteLocationsByAssetOwner(operationalSite.OperationalSiteID));
            }
            return(null);
        }
예제 #4
0
        public Tuple <long, OperationalSite, List <Asset> > GetOperationalSiteWithAssets(long operationalSiteID)
        {
            OperationalSite operationalSite = FindById(operationalSiteID);

            AssetOwner assetOwner = repositoryAssetOwner.GetAssetOwnerOfOperationalSite(operationalSiteID);

            List <Asset> assets = repositoryAsset.GetAssetsOfAssetOwner(assetOwner.AssetOwnerID);

            if (operationalSite.OperationalSiteGroupId != null)
            {
                AssetOwner assetOwnerGroup = repositoryAssetOwner.GetAssetOwnerOfOperationalSite(operationalSite.OperationalSiteGroupId.Value);
                assets.AddRange(repositoryAsset.GetAssetsOfAssetOwner(assetOwnerGroup.AssetOwnerID));
            }

            return(new Tuple <long, OperationalSite, List <Asset> >(operationalSiteID, operationalSite, assets));
        }
        // GET: OperationalSite/Details/
        public IActionResult Details(long?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            OperationalSite operationalSite = service.FindById(id.Value);

            if (operationalSite == null)
            {
                return(NotFound());
            }

            return(View(operationalSite));
        }
예제 #6
0
 public void Update(OperationalSite operationalSite)
 {
     repository.Update(operationalSite);
 }
예제 #7
0
 public void Update(OperationalSite operationalSite)
 {
     context.OperationalSites.Update(operationalSite);
     context.SaveChanges();
 }
예제 #8
0
 public long Add(OperationalSite operationalSite)
 {
     context.OperationalSites.Add(operationalSite);
     context.SaveChanges();
     return(operationalSite.OperationalSiteID);
 }
        public IActionResult Edit(long id, bool?goToOperationSiteLocation, OperationalSiteViewModel operationalSiteViewModel, [Bind("OperationalSiteID,Ref,Name,IsGroup,OperationalSiteGroupId")] OperationalSite operationalSite)
        {
            if (id != operationalSite.OperationalSiteID)
            {
                return(NotFound());
            }

            // if we want to change the OperationalSiteGroupId back to "null"
            // the data comes back from the view via operationalSiteViewModel but need to be saved to operationalSite,

            // so, a) we need to actualised the OperationalSiteGroupId in operationalSite and ...
            operationalSite.OperationalSiteGroupId = operationalSiteViewModel.operationalSite.OperationalSiteGroupId;

            // ... b) we need to switch the ModelState.
            ModelState.Clear();
            TryValidateModel(operationalSite);

            if (ModelState.IsValid)
            {
                try
                {
                    service.Update(operationalSite);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OperationalSiteExists(operationalSite.OperationalSiteID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                if (goToOperationSiteLocation == true)
                {
                    return(RedirectToAction("Create", "OperationalSiteLocation", new { operationalSiteID = operationalSite.OperationalSiteID }));
                }
                else
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }
            ViewData["OperationalSiteGroupId"] = new List <SelectListItem>(service.GetSelectListOperationalSiteGroups());
            return(View(operationalSite));
        }