public async Task <IActionResult> PutPolicy([FromRoute] int id, [FromBody] Policy policy)
        {
            var type = db.Type.Find(policy.TypeId);

            if (type.Percentage > 50 && policy.Danger == Danger.Alto)
            {
                return(BadRequest());
            }

            if (id != policy.Id)
            {
                return(BadRequest());
            }

            db.Entry(policy).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PolicyExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <RequestResultModel> AddNotes(NoteModel note, Guid userId)
        {
            NoteDAL noteDAL = _mapService.MapToDAL(note);

            noteDAL.UserId = userId;
            try
            {
                await _secureContext.AddAsync(noteDAL);

                await _secureContext.SaveChangesAsync();
            }
            catch
            {
                return(new RequestResultModel
                {
                    IsSuccess = false,
                    Message = "Can not save the note"
                });
            }
            return(new RequestResultModel
            {
                IsSuccess = true,
                Message = "Note uploaded"
            });
        }
 private async Task NoteWrongAttempt(UserDAL user)
 {
     user.Attempt++;
     if (user.Attempt == 3)
     {
         user.Attempt  = 0;
         user.Blockade = DateTime.UtcNow.AddMinutes(5);
     }
     await _context.SaveChangesAsync();
 }
        public async Task <RequestResultModel> CreateUser(UserModel userModel)
        {
            userModel.UserId = Guid.NewGuid();
            if (UsernameAlreadyExists(userModel.Username))
            {
                return(UsernameAlreadyExistsResult());
            }

            userModel.Password = EncodePassword(userModel.Password);
            var userDAL = _mapService.MapToDAL(userModel);
            await _context.Users.AddAsync(userDAL);

            await _context.SaveChangesAsync();

            return(SuccessResult());
        }