Пример #1
0
        public JsonResult EncryptDecryptAllUsersPassword(int isdecrypt = 0)
        {
            List <UserObject> lst = new List <UserObject>();

            try
            {
                DataTable dt = objDbTrx.GetAllUsersForPasswordEncryptDecrypt();
                if (dt != null && dt.Rows.Count > default(int))
                {
                    for (int iCnt = 0; iCnt < dt.Rows.Count; iCnt++)
                    {
                        if (Convert.ToInt32(dt.Rows[iCnt]["IsPasswordEncrypted"].ToString()) == isdecrypt)
                        {
                            var obj = new UserObject();
                            obj.ID                  = Convert.ToInt32(dt.Rows[iCnt]["ID"].ToString());
                            obj.REF_ID              = Convert.ToDouble(dt.Rows[iCnt]["REF_ID"].ToString());
                            obj.USER_ID             = dt.Rows[iCnt]["USER_ID"].ToString();
                            obj.PASSWORD            = isdecrypt > default(int) ? SecurityController.Decrypt(dt.Rows[iCnt]["PASSWORD"].ToString()) : SecurityController.Encrypt(dt.Rows[iCnt]["PASSWORD"].ToString());
                            obj.IsPasswordEncrypted = isdecrypt > default(int) ? default(int) : 1;
                            lst.Add(obj);
                        }
                    }
                    if (lst != null && lst.Count() > default(int))
                    {
                        System.Threading.ThreadPool.QueueUserWorkItem(s =>
                        {
                            objDbTrx.UpdateUserPasswordBulkEncryptDecrypt(lst);
                        });
                    }
                    else
                    {
                        return(Json(new { Message = string.Format("Password for all users already been {0}. Hence no operation required", isdecrypt > default(int) ? "decrypted" : "encrypted") }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                objDbTrx.SaveSystemErrorLog(ex, Request.UserHostAddress);
            }
            return(Json(new { Message = string.Format("Password {0} process has been initiated for all users", isdecrypt > default(int) ? "decryption" : "encryption") }, JsonRequestBehavior.AllowGet));
        }