예제 #1
0
        public JObject activate_user_account([FromBody] JObject value)
        {
            JObject returnObj = new JObject();

            try
            {
                int    USER_ID          = int.Parse(value["USER_ID"].ToString());
                String ACTIVATION_CODE  = value["ACTIVATION_CODE"].ToString();
                String ACTIVATION_TOKEN = value["ACTIVATION_TOKEN"].ToString();

                Classes.Token tokenObj = new Classes.Token();
                if (tokenObj.ValidateActivationToken(ACTIVATION_TOKEN, USER_ID))
                {
                    // activation token is valid

                    /*
                     *
                     *  MSK SEE IF ACTIVATION CODE MATCH IN THE TABLE USING USER_ID
                     *
                     *  IF ACTIVATION CODE EXIST AND VALID THEN ACTIVATE THE ACCOUNT OF THE USER USING USER_ID
                     *
                     *  WHEN ACCOUNT IS ACTIVATED. REMOVE THE CURRENT ACTIVATION_CODE FROM THE TABLE
                     *
                     *
                     * */


                    checkarr.Confirmationcode code1 = homeDBContext.Confirmationcode.FirstOrDefault(i => i.UserId == USER_ID && i.ConfirmationCode == ACTIVATION_CODE && i.ConfirmationType == "ACTIVATION_CODE");
                    if (code1 != null)

                    {
                        checkarr.UserLog user1 = homeDBContext.UserLog.FirstOrDefault(i => i.IduserLog == code1.UserId);
                        user1.Activated = "T";
                        homeDBContext.Confirmationcode.Remove(code1);
                        homeDBContext.SaveChanges();
                        returnObj.Add("RETURN_CODE", 1); // account is activated
                    }
                    else
                    {
                        returnObj.Add("RETURN_CODE", 4); // code not found
                    }
                }
                else
                {
                    returnObj.Add("RETURN_CODE", 2); // activation token is not valid
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Exception in activate_user_account: " + e);
                returnObj.Add("RETURN_CODE", 3); // exception
            }
            return(returnObj);
        }
        public JObject Account_activation([FromBody] JObject value)
        {
            JObject returnObject = new JObject();

            try
            {
                String activationCode  = value["ACTIVATION_CODE"].ToString();
                int    userId          = Int32.Parse(value["USER_ID"].ToString());
                String activationToken = value["ACTIVATION_TOKEN"].ToString();

                Classes.Token tokenClassObj = new Classes.Token();

                Boolean isActivationTokenValid = tokenClassObj.ValidateActivationToken(activationToken, userId);

                if (isActivationTokenValid)
                {
                    // activation token is valid


                    checkarr.Confirmationcode ccode = registerDBContext.Confirmationcode.FirstOrDefault(i => i.ConfirmationCode == activationCode && i.ConfirmationType == "ACTIVATION_CODE" && i.UserId == userId);
                    if (ccode != null && ccode.ConfirmationCode.Equals(activationCode))
                    {
                        // code is valid
                        if (ccode.ExpiryTime >= DateTime.UtcNow)
                        {
                            checkarr.UserLog User1 = registerDBContext.UserLog.FirstOrDefault(i => i.IduserLog == userId);
                            if (User1 != null)
                            {
                                User1.Activated = "T";
                                registerDBContext.SaveChanges();
                                returnObject.Add("RETURN_CODE", 1);
                            }
                            else
                            {
                                returnObject.Add("RETURN_CODE", 5);  // exception
                            }
                        }
                        else
                        {
                            // code is expired
                            returnObject.Add("RETURN_CODE", 3);
                        }
                    }
                    else
                    {
                        // code ins invalid
                        returnObject.Add("RETURN_CODE", 2);
                    }
                }
                else
                {
                    // activation token is invalid
                    returnObject.Add("RETURN_CODE", 4);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("EXCEPTION IN RECOVERY CONFIRMATION = " + ex);
                returnObject.Add("RETURN_CODE", 5);
            }


            /*
             *
             *
             *
             * . RETURN_CODE: 1  = Account is activated
             *  . RETURN_CODE: 2  = CODE IS INVALID
             *  . RETURN_CODE: 3  = CODE IS EXPIRED
             *  . RETURN_CODE: 4  = TOKEN IS INVALID
             *  . RETURN_CODE: 5  = EXCEPTION
             * */
            return(returnObject);
        }