Ejemplo n.º 1
0
        public async Task <IActionResult> ManageInformation(BrushingInformation brushingInformation)

        {
            var userinformation = ClaimHelper.GetClaim(User.Identity as ClaimsIdentity);

            brushingInformation.UserId = userinformation.UserId.ToString();

            var result = await _brushingInformationService
                         .ManageInformation(brushingInformation)
                         .ConfigureAwait(false);

            return(Ok(result));
        }
        public async Task <BrushingInformation> ManageInformation(BrushingInformation brushingInformation)
        {
            brushingInformation.BrushingDate = DateTime.Now.ToUniversalTime().Date;

            var data = await _mongoUnitOfWork
                       .GetAsync <BrushingInformation>(collectionName, x => x.UserId == brushingInformation.UserId && x.BrushingDate == brushingInformation.BrushingDate)
                       .ConfigureAwait(false);

            if (data != null)
            {
                if (data.BrushingRemain > 0)
                {
                    data.BrushingRemain -= 1;
                }

                await _mongoUnitOfWork.UpdateAsync(collectionName, x => x.Id == data.Id, data).ConfigureAwait(false);
            }
            else
            {
                brushingInformation.BrushingRemain = brushingInformation.BrushingSet - 1;
                data = await _mongoUnitOfWork.CreateAsync(collectionName, brushingInformation).ConfigureAwait(false);
            }
            return(data);
        }