Bug Fix #97 - Removed Organisation Address References

Remove Device Profile references to an address when its removed, and
anticipate missing addresses where referenced.
This commit is contained in:
Gary Sharp
2016-11-03 16:47:07 +11:00
parent 3e4dda683d
commit 6df2e16a7f
7 changed files with 29 additions and 22 deletions
@@ -167,6 +167,11 @@ namespace Disco.Web.Areas.API.Controllers
[DiscoAuthorize(Claims.Config.Organisation.ConfigureAddresses)]
public virtual ActionResult DeleteOrganisationAddress(int Id, bool redirect = false)
{
// Remove References in Device Profiles
Database.DeviceProfiles
.Where(dp => dp.DefaultOrganisationAddress == Id).ToList()
.ForEach(dp => dp.DefaultOrganisationAddress = null);
Database.DiscoConfiguration.OrganisationAddresses.RemoveAddress(Id);
Database.SaveChanges();