public Task <Result <string, Error> > Handle(CreateRantWithIdCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.Content)) { return(Task.FromResult(Result <string, Error> .Error(new InvalidRant()))); } if (rants.ContainsKey(request.Id)) { return(Task.FromResult(Result <string, Error> .Error(new DuplicateId()))); } var rant = new Rant(request.Id, request.Content, request.Tags); rants.Add(rant.ID, rant); return(Task.FromResult(Result <string, Error> .Success(request.Id))); }
public async Task <Result <string, Error> > Handle(CreateRantWithIdCommand request, CancellationToken cancellationToken) { await EnsureContainerExists(); if (string.IsNullOrWhiteSpace(request.Content)) { return(Result <string, Error> .Error(new InvalidRant())); } var reference = blobContainer.GetBlockBlobReference(request.Id); if (await reference.ExistsAsync()) { return(Result <string, Error> .Error(new DuplicateId())); } await reference.UploadTextAsync(JsonConvert.SerializeObject(new Rant(request.Id, request.Content, request.Tags))); return(Result <string, Error> .Success(request.Id)); }