public IActionResult RegisterUser(string TocompareFingerPrint, FingerprintModel model)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);

            if (ModelState != null)
            {
                MD5    md5           = new MD5CryptoServiceProvider();
                Byte[] originalBytes = ASCIIEncoding.Default.GetBytes(model.Password + model.EmailID);
                Byte[] encodedBytes  = md5.ComputeHash(originalBytes);

                string hashedPassword = BitConverter.ToString(encodedBytes).Replace("-", "");
                //var nouser = db.fingerPrintModel.Where(u => u.EmailID == model.EmailID && u.Password != hashedPassword).Any();
                //var newudb = db.fingerPrisntModel.Where(u => u.EmailID == model.EmailID && u.Password == hashedPassword).FirstOrDefault();
                model.Password         = hashedPassword;
                model.TemplateFormatDB = TocompareFingerPrint;
                db.fingerPrintModel.Add(model);
                db.SaveChanges();

                ModelState.Clear();
                TempData["Success"] = model.Username + " successfully registered.";
                ModelState.Clear();
                return(RedirectToAction("Login", "Fingerprint"));
            }
            return(View());
        }
        public async Task <IActionResult> Edit(int id, [Bind("ScannedID,Username,EmailID,Password,ComparePassword,TemplateFormatDB")] FingerprintModel fingerprintModel)
        {
            if (id != fingerprintModel.ScannedID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    db.Update(fingerprintModel);
                    await db.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FingerprintModelExists(fingerprintModel.ScannedID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(fingerprintModel));
        }
 public async Task <bool> Create(FingerprintModel userR)
 {
     return(await Task.Run <bool>(() =>
     {
         try
         {
             _cmd = new SqlCommand("INSERT INTO [dbo].[FingerPrints] ([FingerPrintImage], [UserId]) " +
                                   "VALUES (@fingerprintImage, @userid)", _con);
             _con.Open();
             _cmd.Parameters.AddWithValue("@fingerprintImage", userR.FingerPrintImage);
             _cmd.Parameters.AddWithValue("@userid", userR.UserId);
             var result = _cmd.ExecuteNonQuery();
             return true;
         }
         catch (Exception ex)
         {
             MessageBox.Show("Erro : " + ex.Message);
             throw ex;
         }
         finally
         {
             _con.Close();
         }
     }));
 }
        public async Task <bool> Update(FingerprintModel userR)
        {
            return(await Task.Run <bool>(() =>
            {
                try
                {
                    _cmd = new SqlCommand("UPDATE [dbo].[FingerPrints] set [FingerPrintImage]=@fingerprintImage, [UserId]=@userid WHERE Id=@id", _con);
                    _con.Open();

                    _cmd.Parameters.AddWithValue("@id", userR.Id);
                    _cmd.Parameters.AddWithValue("@fingerprintImage", userR.FingerPrintImage);
                    _cmd.Parameters.AddWithValue("@userid", userR.UserId);
                    var result = _cmd.ExecuteNonQuery();
                    return true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro : " + ex.Message);
                    return false;
                }
                finally
                {
                    _con.Close();
                }
            }));
        }
 public async Task <bool> AddFinger(FingerprintModel user)
 {
     return(await Task.Run <bool>(async() =>
     {
         try
         {
             await _fingerPrintData.Create(user);
             return true;
         }
         catch (Exception)
         {
             return false;
         }
     }));
 }
 public async Task <bool> AddFingerprint(FingerprintModel user)
 {
     return(await _dataEvent.AddFinger(user));
 }
        public IActionResult Login(string TocompareFingerPrint, FingerprintModel model, string checkAuthorization)
        {
            var checkExistence = db.fingerPrintModel.Where(x => x.EmailID == model.EmailID).FirstOrDefault();

            if (checkExistence == null)
            {
                ModelState.AddModelError("", "EmailId is not registered!");
                return(View());
            }
            MD5 md5 = new MD5CryptoServiceProvider();

            Byte[] originalBytes = ASCIIEncoding.Default.GetBytes(model.Password + model.EmailID);
            Byte[] encodedBytes  = md5.ComputeHash(originalBytes);

            string hashedPassword     = BitConverter.ToString(encodedBytes).Replace("-", "");
            var    checkWrongPassword = db.fingerPrintModel.Where(u => u.EmailID == model.EmailID && u.Password != hashedPassword && TocompareFingerPrint == null).FirstOrDefault();

            if (checkWrongPassword != null)
            {
                ModelState.AddModelError("", "Entered password is incorrect!");
                return(View());
            }
            if (model.EmailID != null && model.Password != null && TocompareFingerPrint == null)
            {
                var uniqueUser = db.fingerPrintModel.Where(u => u.EmailID == model.EmailID && u.Password != hashedPassword).Any();
                var checkDB    = db.fingerPrintModel.Where(u => u.EmailID == model.EmailID && u.Password == hashedPassword).FirstOrDefault();


                if (checkDB != null)
                {
                    TempData.Clear();
                    HttpContext.Session.SetString("userPresent", "true");
                    ViewBag.UserPrintSuccess = checkDB.TemplateFormatDB;
                    //ViewBag.UserPrint = checkUser.TemplateFormatDB;
                    return(View());
                }
                else if (checkExistence == null)
                {
                }
                return(RedirectToAction("Login", "Fingerprint"));
            }
            if (model.Password == null && model.EmailID != null && TocompareFingerPrint != null)
            {
                var checkEmail = db.fingerPrintModel.Where(x => x.EmailID == model.EmailID).FirstOrDefault();

                if (HttpContext.Session.GetString("userPresent") != null && checkEmail != null)
                {
                    var newudb = db.fingerPrintModel.Where(u => u.EmailID == model.EmailID && TocompareFingerPrint != null).FirstOrDefault();
                    TempData.Clear();
                    ViewData.Clear();
                    HttpContext.Session.Clear();
                    HttpContext.Session.SetString("userName", newudb.Username);

                    //Session["ID"] = newudb.ClientID.ToString();
                    //Session["UserName"] = newudb.UserName.ToString();

                    return(RedirectToAction("Index", "FingerPrint"));
                }
            }
            return(View());
        }