public async Task <IActionResult> Update(int id, [FromBody] UpdateDailyRegisterViewModel dailyRegister)
        {
            var           userId = _httpContext.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "userid").Value;
            DailyRegister mappedDailyRegister = new DailyRegister(dailyRegister.Abrantos,
                                                                  dailyRegister.Date,
                                                                  "",
                                                                  dailyRegister.Post);

            mappedDailyRegister.Id = id;

            try
            {
                var oldRegister = await _context.DailyRegister.FirstOrDefaultAsync(e => (e.Id == id) &&
                                                                                   (e.UserId == userId));

                if (dailyRegister == null)
                {
                    return(NotFound());
                }

                if ((mappedDailyRegister.Abrantos > 1000) || (mappedDailyRegister.Abrantos < -1000))
                {
                    return(StatusCode(400, "Abrantos só vão de -1000 a 1000"));
                }

                if (mappedDailyRegister.Post.Length > 140)
                {
                    return(StatusCode(400, "Um post pode ter no máximo 140 caracteres"));
                }

                oldRegister.Abrantos = mappedDailyRegister.Abrantos;
                oldRegister.Date     = mappedDailyRegister.Date;
                oldRegister.Post     = mappedDailyRegister.Post;
                _context.DailyRegister.Update(oldRegister);
                await _context.SaveChangesAsync();

                return(Ok());
            }
            catch (KeyNotFoundException e)
            {
                return(StatusCode(404, e.Message));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public async Task <IActionResult> Create([FromBody] CreateDailyRegisterViewModel dailyRegister)
        {
            var           userId = _httpContext.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "userid").Value;
            DailyRegister mappedDailyRegister = new DailyRegister(dailyRegister.Abrantos,
                                                                  dailyRegister.Date,
                                                                  userId,
                                                                  dailyRegister.Post);

            try
            {
                var alreadyRegisteredToday = await _context.DailyRegister
                                             .Where(d => d.Date.Day == mappedDailyRegister.Date.Day &&
                                                    (d.UserId == userId)).AnyAsync();

                if (alreadyRegisteredToday)
                {
                    return(StatusCode(400, "Você já registrou abrantos hoje"));
                }

                if ((mappedDailyRegister.Abrantos > 1000) || (mappedDailyRegister.Abrantos < -1000))
                {
                    return(StatusCode(400, "Abrantos só vão de -1000 a 1000"));
                }

                if (mappedDailyRegister.Post.Length > 140)
                {
                    return(StatusCode(400, "Um post pode ter no máximo 140 caracteres"));
                }

                _context.DailyRegister.Add(mappedDailyRegister);
                await _context.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }