private static string LoginCoreJSON(string UserName, string Password, string loginMode)
        {
            //List<JSONReturn> returnObj = new List<JSONReturn>();
            LoginResponse returnObj = new LoginResponse();

            if (new AiGrow.Business.BL_User().doesUserExist(UserName))
            {
                string saltFromDb = new AiGrow.Business.BL_User().getUserSalt(new ML_User()
                {
                    username = UserName
                }).Rows[0][0].ToString();
                string userRole = new AiGrow.Business.BL_User().getUserRole(new ML_User()
                {
                    username = UserName
                });

                string[] encPassword = new CustomCryptography().encryptPassword(Password, saltFromDb);

                string password = encPassword[0];
                string salt     = encPassword[1];

                DataTable loginTable = new AiGrow.Business.BL_User().checkLoginSecure(new ML_User()
                {
                    password = password,
                    username = UserName,
                    salt     = salt
                });

                if (loginTable.Rows.Count == 1)
                {
                    //User is active. Proceed with login.
                    string tokenString = Encryption.createSHA1(loginMode + DateTime.Now.ToString() + UserName + Password);

                    string userIDString = loginTable.Rows[0]["id_user"].ToString();

                    int loginID = new BL_Login().insert(new ML_Login()
                    {
                        login_mode  = loginMode,
                        login_token = tokenString,
                        id_user     = userIDString.ToInt()
                    });

                    returnObj.credentials = UniversalProperties.VALID;
                    returnObj.token       = tokenString;
                    returnObj.success     = true;
                    returnObj.loginID     = loginID.ToString();
                    returnObj.userName    = UserName;
                    returnObj.userID      = userIDString;
                    returnObj.userRole    = userRole;
                }

                else
                {
                    returnObj.credentials  = UniversalProperties.INVALID;
                    returnObj.success      = false;
                    returnObj.errorMessage = UniversalProperties.userPassInvalid;
                    returnObj.errorCode    = UniversalProperties.EC_UserPassInvalid;
                }
            }
            else
            {
                returnObj.credentials  = UniversalProperties.INVALID;
                returnObj.success      = false;
                returnObj.errorMessage = UniversalProperties.noSuchUserFound;
                returnObj.errorCode    = UniversalProperties.EC_NoSuchUserFound;
            }
            return(new JavaScriptSerializer().Serialize(returnObj));
        }