public async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "put", Route = "facilities/{facilityId}/audits/{auditId}")] HttpRequest req, ILogger log, string facilityId, string auditId) { try { var facility = _facilityRepository.FindById(facilityId); if (facility == null) { return(new NotFoundResult()); } var audit = _auditRepository.FindById(auditId); if (audit == null) { return(new NotFoundResult()); } var claims = req.GetClaimsPrincipal(); var requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var auditDto = JsonConvert.DeserializeObject <AuditDto>(requestBody); await ProcessPhotosAsync(auditDto.Groups); var groups = auditDto.Groups.Select(x => x.CreateEntity()).ToList(); audit.StartTimeUtc = auditDto.StartTimeUtc; audit.FinishTimeUtc = auditDto.FinishTimeUtc; audit.GroupsJson = JsonConvert.SerializeObject(groups); audit.ModifiedBy = claims.ClientId(); audit.ModifiedAt = _dateTimeService.CurrentUtcDateTime; var result = await _auditRepository.UpdateAsync(audit); return(new OkObjectResult(result)); } catch (Exception e) { return(new ExceptionResult(e, true)); } }
public async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = "audits/{id}")] HttpRequest req, ILogger log, string id) { var audit = _auditRepository.FindById(id); if (audit == null) { return(new NotFoundResult()); } var auditViewDto = new AuditDto { Id = audit.RowKey, FacilityId = audit.FacilityId, StartTimeUtc = audit.StartTimeUtc, FinishTimeUtc = audit.FinishTimeUtc, Groups = JsonConvert.DeserializeObject <IList <AuditItemGroupDto> >(audit.GroupsJson) }; return(new OkObjectResult(auditViewDto)); }