Exemple #1
0
        public void callSwitch(DeleteEnum input)
        {
            switch (input)
            {
            case DeleteEnum.ucitaj:
                loadAlbum();
                break;

            case DeleteEnum.izbrisi:
                executeDelete();
                break;

            case DeleteEnum.pretrazi:
                search();
                break;

            case DeleteEnum.napusti:
                _doneBool = true;
                break;

            default:
                Console.Clear();
                Console.WriteLine("Odaberite validnu opciju!");
                break;
            }
        }
        public async Task <StatusEnum> RemoveAsync <TEntity>(TEntity entity, Role[] allowedRoles, DeleteEnum type = DeleteEnum.HideUnhide, bool save = true)
            where TEntity : BaseEntity
        {
            var currentUser = CurrentUser();

            if (currentUser == null)
            {
                return(StatusEnum.UserIsNull);
            }

            if (!IsAllowed(allowedRoles))
            {
                return(StatusEnum.Forbidden);
            }

            if (entity == null)
            {
                return(StatusEnum.ModelIsNull);
            }

            if (type == DeleteEnum.Delete)
            {
                _unitOfWork.Delete(entity);
            }
            else
            {
                if (entity.LastAudit?.Type == LogTypeEnum.Delete)
                {
                    if (type == DeleteEnum.HideUnhide)
                    {
                        _unitOfWork.UnDelete(entity, currentUser);
                    }
                    else
                    {
                        return(StatusEnum.AlreadyDeleted);
                    }
                }
                else
                {
                    _unitOfWork.Delete(entity, currentUser);
                }
            }

            return(await SaveChangesAsync());
        }