public async Task <int> Handle(CreateAdministrativeDivisionCommand request, CancellationToken cancellationToken) { var model = request.Model; var item = await Context.AdministrativeDivisions .Where(p => p.AdministrativeDivisionId == model.AdministrativeDivisionId) .FirstOrDefaultAsync(cancellationToken); ThrowAlreadyExistsExceptionIfNull(model, item); var newRecord = new AdministrativeDivision { ParentId = model.ParentId, Name = model.Name, Code = model.Code, Level = model.Level }; Context.AdministrativeDivisions.Add(newRecord); await Context.SaveChangesAsync(cancellationToken); return(newRecord.AdministrativeDivisionId); }
protected void ThrowAlreadyExistsExceptionIfNull(AdministrativeDivisionModel model, AdministrativeDivision entity) { if (entity != null) { throw new AlreadyExistsException( entity.GetType().Name, nameof(model.AdministrativeDivisionId), model.AdministrativeDivisionId ); } }