Example #1
0
        /// <summary>
        /// Delete a specified account in the database
        /// </summary>
        /// <param name="account">Account that should be deleted</param>
        public void DeleteAccount(DbAccount account)
        {
            // remove account cache
            var projectsToDelete = _context.Projects.Where(tmp => tmp.Account.Id == account.Id);

            foreach (var dbProject in projectsToDelete)
            {
                _jsonCache.DeleteCache(dbProject.Id);
            }

            // remove account projects
            _context.Projects.RemoveRange(projectsToDelete);

            // remove account entry
            _context.Accounts.Remove(account);

            // save changes
            _context.SaveChanges();
        }