public BL.Domain.Organisation.Organisation UpdateOrganisation(
            BL.Domain.Organisation.Organisation updatedOrganisation
            )
        {
            var entryToUpdate = ReadOrganisation(updatedOrganisation.OrganisationId);

            if (entryToUpdate == null)
            {
                throw new ArgumentException("Organisation to update not found.");
            }

            _ctx.Entry(entryToUpdate).CurrentValues.SetValues(updatedOrganisation);
            _ctx.SaveChanges();

            return(ReadOrganisation(updatedOrganisation.OrganisationId));
        }
        public BL.Domain.Organisation.Organisation CreateOrganisation(
            BL.Domain.Organisation.Organisation organisation
            )
        {
            if (ReadOrganisation(organisation.OrganisationId) != null)
            {
                throw new ArgumentException("Organisation already in database.");
            }

            try
            {
                _ctx.Organisations.Add(organisation);
                _ctx.SaveChanges();

                return(organisation);
            }
            catch (DbUpdateException exception)
            {
                var msg = exception.InnerException == null ? "Invalid object." : exception.InnerException.Message;
                throw new ArgumentException(msg);
            }
        }