public async Task <CreateNmedianPayload> CreateNmedianAsync( CreateNmedianInput input, [Service] IDateTimeOffset dateTimeOffset, [Service] IGuid guid, [ScopedService] NmediaContext dbContext, CancellationToken cancellationToken ) { var entity = new Nmedian { Age = input.Age, Created = dateTimeOffset.Now, IsActive = input.IsActive, Hired = input.Hired, HourlyRate = input.HourlyRate, JobTitle = input.JobTitle, Name = input.Name, Picture = input.Picture, Slug = input.Slug, Uuid = guid.NewGuid() }; dbContext.Nmedians.Add(entity); await dbContext.SaveChangesAsync(cancellationToken); return(new CreateNmedianPayload(entity)); }
public async Task <NmedianModel> Handle(GetNmedianById request, CancellationToken cancellationToken) { Nmedian entity = await _dbContext.Nmedians .SingleOrDefaultAsync(x => x.Uuid == request.Id, cancellationToken) ?? throw new NotFoundException(); return(_mapper.Map <NmedianModel>(entity)); }
public async Task <Unit> Handle(DeleteNmedian request, CancellationToken cancellationToken) { Nmedian entity = await _dbContext.Nmedians .SingleOrDefaultAsync(x => x.Uuid == request.Id, cancellationToken) ?? throw new NotFoundException(); if (_appContext.User.Role != Role.Master) { throw new ForbiddenException(); } _dbContext.Nmedians.Remove(entity); await _dbContext.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <NmedianModel> Handle(SaveNmedian request, CancellationToken cancellationToken) { if (_appContext.User.Role != Role.Master) { throw new ForbiddenException(); } Nmedian entity; if (request.Id.HasValue) { entity = await _dbContext.Nmedians .SingleOrDefaultAsync(x => x.Uuid == request.Id.Value, cancellationToken) ?? throw new NotFoundException(); entity.Updated = _dateTimeOffset.Now; } else { entity = new Nmedian { Created = _dateTimeOffset.Now, Uuid = _guid.NewGuid() }; _dbContext.Nmedians.Add(entity); } entity.Age = request.Model.Age; entity.Hired = request.Model.Hired; entity.HourlyRate = request.Model.HourlyRate; entity.IsActive = request.Model.IsActive; entity.JobTitle = request.Model.JobTitle == null ? (JobTitle?)null : Enum.Parse <JobTitle>(request.Model.JobTitle); entity.Name = request.Model.Name?.CleanTrim() ?? throw new InvalidOperationException("The Name is required."); entity.Picture = request.Model.Picture?.CleanTrim(); entity.Slug = request.Model.Slug?.CleanTrim(); await _dbContext.SaveChangesAsync(cancellationToken); return(_mapper.Map <NmedianModel>(entity)); }
public static IQueryable <Article> GetArticles(Nmedian nmedian, [ScopedService] NmediaContext dbContext) { return(dbContext.Articles.Where(x => x.NmedianId == nmedian.Id)); }