public async void Delete()
        {
            await _dialogManager.ShowMessageAsync(
                string.Format("Are you sure you want to delete {0}?", ActiveStaffingResource.FullName),
                DialogResult.Yes, DialogResult.No, DialogButtons.YesNo);

            try
            {
                using (ActiveDetail.Busy.GetTicket())
                {
                    ActiveUnitOfWork.StaffingResources.Delete(ActiveStaffingResource);
                    await ActiveUnitOfWork.CommitAsync();
                }

                ActiveItem.TryClose();
            }
            catch (TaskCanceledException)
            {
                ActiveUnitOfWork.Rollback();
            }
            catch (Exception)
            {
                ActiveUnitOfWork.Rollback();
                throw;
            }
        }
        public async void Save()
        {
            using (ActiveDetail.Busy.GetTicket())
                await ActiveUnitOfWork.CommitAsync();

            ActiveDetail.Start(ActiveStaffingResource.Id, EditMode.View);
        }
        public void Handle(EntityChangedMessage message)
        {
            if (ActiveStaffingResource == null || !ActiveUnitOfWork.HasEntity(message.Entity))
            {
                return;
            }

            UpdateCommands();
        }
        public void Cancel()
        {
            var shouldClose = ActiveStaffingResource.EntityFacts.EntityState.IsAdded();

            ActiveUnitOfWork.Rollback();

            if (shouldClose)
            {
                ActiveDetail.TryClose();
            }
            else
            {
                ActiveDetail.Start(ActiveStaffingResource.Id, EditMode.View);
            }
        }