public async Task Handle(eFormCaseUpdated message) { ItemCaseSite itemCaseSite = await _dbContext.ItemCaseSites.SingleOrDefaultAsync(x => x.MicrotingSdkCaseId == message.caseId); if (itemCaseSite != null) { var caseDto = await _sdkCore.CaseReadByCaseId(message.caseId); var microtingUId = caseDto.MicrotingUId; var microtingCheckUId = caseDto.CheckUId; await using MicrotingDbContext microtingDbContext = _sdkCore.DbContextHelper.GetDbContext(); Site site = await microtingDbContext.Sites.SingleAsync(x => x.Id == itemCaseSite.MicrotingSdkSiteId); Language language = await microtingDbContext.Languages.SingleAsync(x => x.Id == site.LanguageId); var theCase = await _sdkCore.CaseRead((int)microtingUId, (int)microtingCheckUId, language); itemCaseSite = await SetFieldValue(itemCaseSite, theCase.Id); await itemCaseSite.Update(_dbContext); ItemCase itemCase = await _dbContext.ItemCases.SingleOrDefaultAsync(x => x.Id == itemCaseSite.ItemCaseId); itemCase = await SetFieldValue(itemCase, theCase.Id); await itemCase.Update(_dbContext); } }
public async Task Handle(eFormRetrieved message) { ItemCaseSite itemCaseSite = _dbContext.ItemCaseSites.SingleOrDefault(x => x.MicrotingSdkCaseId == message.caseId); if (itemCaseSite != null) { if (itemCaseSite.Status < 77) { itemCaseSite.Status = 77; await itemCaseSite.Update(_dbContext); } } }
public async Task Handle(eFormCompleted message) { ItemCaseSite itemCaseSite = await _dbContext.ItemCaseSites.SingleOrDefaultAsync(x => x.MicrotingSdkCaseId == message.caseId); if (itemCaseSite != null) { itemCaseSite.Status = 100; var caseDto = _sdkCore.CaseReadByCaseId(message.caseId); var microtingUId = caseDto.Result.MicrotingUId; var microtingCheckUId = caseDto.Result.CheckUId; // if (microtingUId != null && microtingCheckUId != null) {} if (microtingUId != null && microtingCheckUId != null) { Language language = await _sdkCore.DbContextHelper.GetDbContext().Languages .SingleAsync(x => x.LanguageCode == "da"); var theCase = _sdkCore.CaseRead((int)microtingUId, (int)microtingCheckUId, language); itemCaseSite = await SetFieldValue(itemCaseSite, theCase.Id); itemCaseSite.MicrotingSdkCaseDoneAt = theCase.Result.DoneAt; itemCaseSite.DoneByUserId = itemCaseSite.MicrotingSdkSiteId; var site = _sdkCore.SiteRead(itemCaseSite.MicrotingSdkSiteId); itemCaseSite.DoneByUserName = $"{site.Result.FirstName} {site.Result.LastName}"; await itemCaseSite.Update(_dbContext); ItemCase itemCase = await _dbContext.ItemCases.SingleOrDefaultAsync(x => x.Id == itemCaseSite.ItemCaseId); if (itemCase.Status != 100) { itemCase.Status = 100; itemCase.MicrotingSdkCaseDoneAt = theCase.Result.DoneAt; itemCase.MicrotingSdkCaseId = itemCaseSite.MicrotingSdkCaseId; itemCase.DoneByUserId = itemCaseSite.MicrotingSdkSiteId; itemCase.DoneByUserName = $"{site.Result.FirstName} {site.Result.LastName}"; itemCase = await SetFieldValue(itemCase, theCase.Id); await itemCase.Update(_dbContext); } await RetractFromMicroting(itemCase.Id); } } }