Beispiel #1
0
        public async Task <ApiResult <EventViewModel> > GetEvent(ScoreParam model)
        {
            IQueryable <Events> evt = _ctx.Events.Where(x => x.ActionCode == model.ActionCode && x.RoomCode == model.RoomCode);

            if (!string.IsNullOrEmpty(model.DeseaseCode))
            {
                evt = evt.Where(x => x.DeseaseCode == model.DeseaseCode);
            }
            evt = evt.Where(x => x.Start <= model.EventTime && x.Finish >= model.EventTime);
            if (evt == null && !await evt.AnyAsync())
            {
                return new ApiResult <EventViewModel> {
                           Errors = new List <Error> {
                               new Error {
                                   Message = ErrorCodes.BUSSINESS_CODE_EVENT_NOT_FOUND
                               }
                           }
                }
            }
            ;
            return(new ApiResult <EventViewModel>
            {
                Data = await evt
                       .Select(x => new EventViewModel
                {
                    EventId = x.Id,
                    ActionCode = x.ActionCode,
                    DeseaseCode = x.DeseaseCode,
                    EndDate = x.Finish,
                    StartDate = x.Start,
                    Value = x.Value
                }).FirstOrDefaultAsync(CancellationToken.None)
            });
        }
    }
Beispiel #2
0
        public async Task <dynamic> ChangeScore([FromBody] ScoreParam model)
        {
            try
            {
                if (User == null)
                {
                    HttpContext.Response.StatusCode = 401;
                    return(new ApiResult <SuccessResult>()
                    {
                        Errors = new List <Error> {
                            new Error {
                                Message = ErrorCodes.UNAUTHORIZED
                            }
                        }
                    });
                }
                var claim = User.Claims
                            .Where(_ => _.Type.Equals(AppConsts.USER_ID))
                            .Select(_ => _.Value)
                            .FirstOrDefault();
                if (string.IsNullOrWhiteSpace(claim))
                {
                    HttpContext.Response.StatusCode = 401;
                    return(new ApiResult <SuccessResult>()
                    {
                        Errors = new List <Error> {
                            new Error {
                                Message = ErrorCodes.UNAUTHORIZED
                            }
                        }
                    });
                }
                if (long.TryParse(claim, out long userId))
                {
                    model.UserId = userId;
                }
                else
                {
                    HttpContext.Response.StatusCode = 400;
                    return(new ApiResult <SuccessResult>()
                    {
                        Errors = new List <Error> {
                            new Error {
                                Message = ErrorCodes.PROTOCOL_INCORRECT
                            }
                        }
                    });
                }
                var result = await _scoreProvider.UpdateScoreAsync(model);

                return(result);
            }
            catch (Exception)
            {
                HttpContext.Response.StatusCode = 400;
                return(new ApiResult <SuccessResult> {
                    Errors = new List <Error> {
                        new Error {
                            Message = ErrorCodes.PROTOCOL_INCORRECT
                        }
                    }
                });
            }
        }