public static void FromRequest(this OuraSleep ouraSleep, OuraSleepRequest request) { ouraSleep.ParticipantId = request.ParticipantId; ouraSleep.SummaryDate = request.SummaryDate; ouraSleep.PeriodId = request.PeriodId; ouraSleep.TimezoneOffset = request.TimezoneOffset; ouraSleep.BedtimeStart = request.BedtimeStart; ouraSleep.BedtimeEnd = request.BedtimeEnd; ouraSleep.Score = request.Score; ouraSleep.ScoreTotal = request.ScoreTotal; ouraSleep.ScoreDisturbances = request.ScoreDisturbances; ouraSleep.ScoreAlignment = request.ScoreAlignment; ouraSleep.ScoreDeep = request.ScoreDeep; ouraSleep.ScoreEfficiency = request.ScoreEfficiency; ouraSleep.ScoreLatency = request.ScoreLatency; ouraSleep.ScoreRem = request.ScoreRem; ouraSleep.Total = request.Total; ouraSleep.Duration = request.Duration; ouraSleep.Awake = request.Awake; ouraSleep.Light = request.Light; ouraSleep.Rem = request.Rem; ouraSleep.Deep = request.Deep; ouraSleep.OnsetLatency = request.OnsetLatency; ouraSleep.Restless = request.Restless; ouraSleep.Efficiency = request.Efficiency; ouraSleep.MidpointTime = request.MidpointTime; ouraSleep.HrLowest = request.HrLowest; ouraSleep.HrAverage = request.HrAverage; ouraSleep.RmsSd = request.RmsSd; ouraSleep.BreathAverage = request.BreathAverage; ouraSleep.TemperatureDelta = request.TemperatureDelta; ouraSleep.Hypnogram5Min = request.Hypnogram5Min; ouraSleep.Hr5Min = string.Join(",", request.Hr5Min); ouraSleep.RmsSd5Min = string.Join(",", request.RmsSd5Min); }
public static void Map(this OuraSleep dbOuraSleep, OuraSleep ouraSleep) { dbOuraSleep.ParticipantId = ouraSleep.ParticipantId; dbOuraSleep.SummaryDate = ouraSleep.SummaryDate; dbOuraSleep.PeriodId = ouraSleep.PeriodId; dbOuraSleep.TimezoneOffset = ouraSleep.TimezoneOffset; dbOuraSleep.BedtimeStart = ouraSleep.BedtimeStart; dbOuraSleep.BedtimeEnd = ouraSleep.BedtimeEnd; dbOuraSleep.Score = ouraSleep.Score; dbOuraSleep.ScoreTotal = ouraSleep.ScoreTotal; dbOuraSleep.ScoreDisturbances = ouraSleep.ScoreDisturbances; dbOuraSleep.ScoreAlignment = ouraSleep.ScoreAlignment; dbOuraSleep.ScoreDeep = ouraSleep.ScoreDeep; dbOuraSleep.ScoreEfficiency = ouraSleep.ScoreEfficiency; dbOuraSleep.ScoreLatency = ouraSleep.ScoreLatency; dbOuraSleep.ScoreRem = ouraSleep.ScoreRem; dbOuraSleep.Total = ouraSleep.Total; dbOuraSleep.Duration = ouraSleep.Duration; dbOuraSleep.Awake = ouraSleep.Awake; dbOuraSleep.Light = ouraSleep.Light; dbOuraSleep.Rem = ouraSleep.Rem; dbOuraSleep.Deep = ouraSleep.Deep; dbOuraSleep.OnsetLatency = ouraSleep.OnsetLatency; dbOuraSleep.Restless = ouraSleep.Restless; dbOuraSleep.Efficiency = ouraSleep.Efficiency; dbOuraSleep.MidpointTime = ouraSleep.MidpointTime; dbOuraSleep.HrLowest = ouraSleep.HrLowest; dbOuraSleep.HrAverage = ouraSleep.HrAverage; dbOuraSleep.RmsSd = ouraSleep.RmsSd; dbOuraSleep.BreathAverage = ouraSleep.BreathAverage; dbOuraSleep.TemperatureDelta = ouraSleep.TemperatureDelta; dbOuraSleep.Hypnogram5Min = ouraSleep.Hypnogram5Min; dbOuraSleep.Hr5Min = ouraSleep.Hr5Min; dbOuraSleep.RmsSd5Min = ouraSleep.RmsSd5Min; }
public async Task <IActionResult> CreateOuraSleep([FromBody] OuraSleepRequest ouraSleepRequest) { if (ouraSleepRequest == null) { _logger.LogError("CreateOuraSleep: OuraSleepRequest object sent from client is null."); return(BadRequest("OuraSleepRequest object is null")); } if (!ModelState.IsValid) { _logger.LogError("CreateOuraSleep: Invalid OuraSleepRequest object sent from client."); return(BadRequest("Invalid OuraSleepRequest object")); } string userId = HttpContext.User.Claims.Single(x => x.Type == "id").Value; string role = HttpContext.User.Claims.Single(x => x.Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/role").Value; if (role == Role.SubAdministratorRole) { if (!await ParticipantInOrganizationOfUserIdAsync(ouraSleepRequest.ParticipantId, userId)) { return(BadRequest("A sub-administrator can create only oura sleeps of a participant of own organization")); } } else if (role == Role.SupervisorRole) { if (!await ParticipantInStudiesOfUserIdAsync(ouraSleepRequest.ParticipantId, userId)) { return(BadRequest("A supervisor can create only oura sleeps of a participant of own studies")); } } else if (role == Role.ParticipantRole) { if (!await ParticipantSameAsUserIdAsync(ouraSleepRequest.ParticipantId, userId)) { return(BadRequest("A participant can create only own oura sleeps")); } } else if (role == Role.TherapistRole) { var participant = await _coadaptService.Participant.GetParticipantByIdAsync(ouraSleepRequest.ParticipantId); if (!await ParticipantMonitoredByTherapistOfUserIdAsync(participant, userId)) { return(BadRequest("A therapist can create only oura sleeps of monitored participants")); } } var ouraSleep = new OuraSleep(); ouraSleep.FromRequest(ouraSleepRequest); _coadaptService.OuraSleep.CreateOuraSleep(ouraSleep); await _coadaptService.SaveAsync(); return(CreatedAtRoute("OuraSleepById", new { id = ouraSleep.Id }, ouraSleep)); }
public static OuraSleep ToOuraSleep(this OuraSleepMessage message, int participantId) { var sleep = new OuraSleep { ParticipantId = participantId, SummaryDate = message.SummaryDate, TimezoneOffset = message.TimezoneOffset, PeriodId = message.PeriodId, BedtimeStart = message.BedtimeStart, BedtimeEnd = message.BedtimeEnd, Score = message.Score, ScoreTotal = message.ScoreTotal, ScoreDisturbances = message.ScoreDisturbances, ScoreEfficiency = message.ScoreEfficiency, ScoreLatency = message.ScoreLatency, ScoreRem = message.ScoreRem, ScoreDeep = message.ScoreDeep, ScoreAlignment = message.ScoreAlignment, Total = message.Total, Duration = message.Duration, Awake = message.Awake, Light = message.Light, Rem = message.Rem, Deep = message.Deep, OnsetLatency = message.OnsetLatency, Restless = message.Restless, Efficiency = message.Efficiency, MidpointTime = message.MidpointTime, HrLowest = message.HrLowest, HrAverage = message.HrAverage, RmsSd = message.RmsSd, BreathAverage = message.BreathAverage, TemperatureDelta = message.TemperatureDelta, Hypnogram5Min = message.Hypnogram5Min, Hr5Min = string.Join(",", message.Hr5Min), RmsSd5Min = string.Join(",", message.RmsSd5Min) }; return(sleep); }