Exemplo n.º 1
0
        /// <summary>
        /// It will return mdt object with fail/pass based on Status
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="Status"></param>
        /// <param name="message"></param>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static MDTTransactionInfo GetTransObject(object obj, int Status, string message, DataSet ds = null)
        {
            MDTTransactionInfo mdt = new MDTTransactionInfo();

            if (Status == 1)
            {
                mdt.transactionObject = obj;
                mdt.status            = HttpStatusCode.OK;
                mdt.msgCode           = MessageCode.Success;
                mdt.message           = message;
            }
            else if (Status == 5 || Status == 6)
            {
                ErrorInfoFromSQL eInfo = null;
                foreach (DataTable dt in ds.Tables)
                {
                    if (dt.Rows.Count > 0)
                    {
                        eInfo                 = new ErrorInfoFromSQL();
                        eInfo                 = GetError(dt);
                        mdt.status            = HttpStatusCode.BadRequest;
                        mdt.transactionObject = eInfo;
                        mdt.msgCode           = (eInfo.Status == 1) ? MessageCode.Success : (eInfo.Status == 6) ? MessageCode.TechnicalError : MessageCode.Failed;
                        mdt.message           = eInfo.ErrorMessage;
                        mdt.LineNumber        = eInfo.ErrorLineNo;
                        mdt.ProcedureName     = eInfo.Procedure;
                    }
                }
            }
            return(mdt);
        }
Exemplo n.º 2
0
        /// <summary>
        /// It will return mdt object with fail/pass based on Status
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="Status"></param>
        /// <param name="message"></param>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static MDTTransactionInfo GetTransObject(object obj, int Status, string message, DataTable dt = null)
        {
            MDTTransactionInfo mdt = new MDTTransactionInfo();

            if (Status == 1)
            {
                mdt.transactionObject = obj;
                mdt.status            = HttpStatusCode.OK;
                mdt.msgCode           = MessageCode.Success;
                mdt.message           = message;
            }
            else if (APIHelper.StatusValue == 5)
            {
                ErrorInfoFromSQL eInfo = null;
                if (dt.Rows.Count > 0)
                {
                    eInfo                 = new ErrorInfoFromSQL();
                    eInfo                 = DatabaseSettings.GetError(dt);
                    mdt.status            = HttpStatusCode.BadRequest;
                    mdt.transactionObject = eInfo;
                    mdt.msgCode           = (eInfo.Status == 1) ? MessageCode.Success : MessageCode.Failed;
                    mdt.message           = eInfo.ErrorMessage;
                    mdt.LineNumber        = eInfo.ErrorLineNo;
                    mdt.ProcedureName     = eInfo.Procedure;
                }
            }
            return(mdt);
        }
Exemplo n.º 3
0
        /// <summary>
        /// It will auto generate new random password and send to user on his email.
        /// </summary>
        /// <param name="forgotPassword"></param>
        /// <returns></returns>
        public MDTTransactionInfo ForgotPassword(ForgotPassword forgotPassword)
        {
            MDTTransactionInfo mdt   = new MDTTransactionInfo();
            ErrorInfoFromSQL   eInfo = null;

            try
            {
                List <SqlParameter> prm   = new List <SqlParameter>();
                SqlParameter        email = new SqlParameter("@email", forgotPassword.Email);
                prm.Add(email);
                SqlParameter status = new SqlParameter("@Status", 0);
                status.Direction = ParameterDirection.Output;
                prm.Add(status);
                int     StatusValue = 0;
                DataSet ds          = DatabaseSettings.GetDataSet(APIHelper.forgotPassword, out StatusValue, prm);

                DataTable dt = ds.Tables[0];

                if (StatusValue == 1)
                {
                    dt = ds.Tables[0];
                    if (dt.Rows.Count > 0)
                    {
                        SendMailRequest sendMailRequest = new SendMailRequest();
                        sendMailRequest.recipient = dt.Rows[0]["Email"].ToString();
                        sendMailRequest.subject   = "MDT Password Reset";
                        sendMailRequest.body      = "Dear User," + Environment.NewLine + "Your password has been reset successfully. please login with new password given below " + Environment.NewLine + "New Password : "******"New Password"].ToString();
                        IMessager messager     = new Email();
                        var       Notification = new Notification(messager);
                        if (Notification.DoNotify(sendMailRequest))
                        {
                            mdt.status  = HttpStatusCode.OK;
                            mdt.msgCode = MessageCode.Success;
                            mdt.message = "Password has been reset and sent to your registered email.";
                        }
                        else
                        {
                            mdt.status  = HttpStatusCode.BadGateway;
                            mdt.msgCode = MessageCode.Failed;
                            mdt.message = "Password has been reset but unable to send an email due some technical issue, please contact to administrator";
                        }
                    }
                }
                else if (StatusValue == 5 || StatusValue == 6)
                {
                    mdt = DatabaseSettings.GetTransObject(null, StatusValue, "", ds);
                }
            }
            catch (Exception ex)
            {
                mdt.status  = HttpStatusCode.ExpectationFailed;
                mdt.msgCode = MessageCode.TechnicalError;
                mdt.message = "Technical Error in the system, please contact to administrator";
            }
            return(mdt);
        }
Exemplo n.º 4
0
        /// <summary>
        /// This is login method and it will connect to DB and check if user is exists or not. If user exists then it will display the user detail
        /// </summary>
        /// <param name="userLogin"></param>
        /// <returns></returns>
        public MDTTransactionInfo Login(UserLogin userLogin)
        {
            MDTTransactionInfo  mdt          = new MDTTransactionInfo();
            UserLoginDetails    loginDetails = null;
            List <SqlParameter> prm          = new List <SqlParameter>();
            SqlParameter        email        = new SqlParameter("@email", userLogin.UserName);

            prm.Add(email);
            SqlParameter pwd = new SqlParameter("@pwd", userLogin.Password);

            prm.Add(pwd);

            SqlParameter status = new SqlParameter("@Status", 0);

            status.Direction = ParameterDirection.Output;
            prm.Add(status);

            DataTable dt = DatabaseSettings.GetDataSet("sp_LoginUser", out APIHelper.StatusValue, prm).Tables[0];

            if (APIHelper.StatusValue == 1)
            {
                if (dt.Rows.Count > 0)
                {
                    loginDetails                = new UserLoginDetails();
                    loginDetails.USER_ID        = Convert.ToInt32(dt.Rows[0]["USER_ID"]);
                    loginDetails.FIRST_NAME     = dt.Rows[0]["FIRST_NAME"].ToString();
                    loginDetails.LAST_NAME      = dt.Rows[0]["LAST_NAME"].ToString();
                    loginDetails.EMAIL_ADDRESS  = dt.Rows[0]["EMAIL_ADDRESS"].ToString();
                    loginDetails.FORCE_PWD_CHNG = Convert.ToBoolean(dt.Rows[0]["FORCE_PWD_CHNG"]);
                    loginDetails.PHOTO          = dt.Rows[0]["PHOTO"].ToString();
                    loginDetails.ROLE_NAME      = dt.Rows[0]["ROLE_NAME"].ToString();
                    loginDetails.ROLE_ID        = Convert.ToInt32(dt.Rows[0]["ROLE_ID"]);
                }
                mdt.status            = HttpStatusCode.OK;
                mdt.transactionObject = loginDetails;
                mdt.msgCode           = MessageCode.Success;
                mdt.message           = "Login Successfully";
            }
            else if (APIHelper.StatusValue == 5)
            {
                ErrorInfoFromSQL eInfo = null;
                if (dt.Rows.Count > 0)
                {
                    eInfo                 = new ErrorInfoFromSQL();
                    eInfo                 = DatabaseSettings.GetError(dt);
                    mdt.status            = HttpStatusCode.BadRequest;
                    mdt.transactionObject = eInfo;
                    mdt.msgCode           = (eInfo.Status == 1) ? MessageCode.Success : MessageCode.Failed;
                    mdt.message           = eInfo.ErrorMessage;
                    mdt.LineNumber        = eInfo.ErrorLineNo;
                    mdt.ProcedureName     = eInfo.Procedure;
                }
            }
            return(mdt);
        }
Exemplo n.º 5
0
        /// <summary>
        /// It will auto generate new random password and send to user on his email.
        /// </summary>
        /// <param name="forgotPassword"></param>
        /// <returns></returns>
        public MDTTransactionInfo ForgotPassword(ForgotPassword forgotPassword)
        {
            MDTTransactionInfo  mdt   = new MDTTransactionInfo();;
            List <SqlParameter> prm   = new List <SqlParameter>();
            SqlParameter        email = new SqlParameter("@email", forgotPassword.Email);

            prm.Add(email);
            SqlParameter status = new SqlParameter("@Status", 0);

            status.Direction = ParameterDirection.Output;
            prm.Add(status);
            int     StatusValue = 0;
            DataSet ds          = DatabaseSettings.GetDataSet("sp_UpdatePassword", out StatusValue, prm);

            DataTable        dt    = ds.Tables[0];
            ErrorInfoFromSQL eInfo = null;

            if (StatusValue == 1)
            {
                mdt.status = HttpStatusCode.OK;
            }
            else if (StatusValue == 5)
            {
                mdt.status = HttpStatusCode.BadRequest;
            }
            if (dt.Rows.Count == 1)
            {
                eInfo = DatabaseSettings.GetError(dt);
                mdt.transactionObject = eInfo;
                mdt.msgCode           = (eInfo.Status == 1) ? MessageCode.Success : MessageCode.Failed;
                mdt.message           = eInfo.ErrorMessage;
                mdt.LineNumber        = eInfo.ErrorLineNo;
                mdt.ProcedureName     = eInfo.Procedure;
            }
            // If above call success then sending an email to user with latest password.
            if (eInfo.Status == 1)
            {
                dt = ds.Tables[1];
                if (dt.Rows.Count > 0)
                {
                    SendMailRequest sendMailRequest = new SendMailRequest();
                    sendMailRequest.recipient = dt.Rows[0]["Email"].ToString();
                    sendMailRequest.subject   = "MDT Password Reset";
                    sendMailRequest.body      = "Dear User," + Environment.NewLine + "Your password has been reset successfully. please login with new password given below " + Environment.NewLine + "New Password : "******"New Password"].ToString();
                    IMessager messager     = new Email();
                    var       Notification = new Notification(messager);
                    mdt.message = Notification.DoNotify(sendMailRequest);
                }
            }

            return(mdt);
        }
Exemplo n.º 6
0
        /// <summary>
        /// It will bind the error if any error is there in Stored Proc
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static ErrorInfoFromSQL GetError(DataTable dt)
        {
            ErrorInfoFromSQL eInfo = new ErrorInfoFromSQL();

            if (dt.Rows.Count > 0)
            {
                eInfo.Status       = Convert.ToInt32(dt.Rows[0][0]);
                eInfo.ErrorNumber  = Convert.ToInt32(dt.Rows[0][0]);
                eInfo.Procedure    = dt.Rows[0]["ErrorProcedure"].ToString();
                eInfo.ErrorLineNo  = Convert.ToInt32(dt.Rows[0]["ErrorLine"]);
                eInfo.ErrorMessage = dt.Rows[0]["ErrorMessage"].ToString();
            }

            return(eInfo);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Change password method which will interact with database and change the password
        /// </summary>
        /// <param name="changePassword">You need to pass ChangePassword type object to process the request</param>
        /// <returns></returns>
        public MDTTransactionInfo ChangePassword(ChangePassword changePassword)
        {
            MDTTransactionInfo  mdt   = new MDTTransactionInfo();
            List <SqlParameter> prm   = new List <SqlParameter>();
            SqlParameter        email = new SqlParameter("@email", changePassword.Email);

            prm.Add(email);

            SqlParameter oldPwd = new SqlParameter("@oldPwd", changePassword.OldPassword);

            prm.Add(oldPwd);

            SqlParameter NewPwd = new SqlParameter("@newPwd", changePassword.NewPassword);

            prm.Add(NewPwd);

            SqlParameter status = new SqlParameter("@Status", 0);

            status.Direction = ParameterDirection.Output;
            prm.Add(status);

            DataTable dt = DatabaseSettings.GetDataSet("sp_UpdatePassword", out APIHelper.StatusValue, prm).Tables[0];

            if (APIHelper.StatusValue == 1)
            {
                mdt.msgCode = MessageCode.Success;
                mdt.status  = HttpStatusCode.OK;
            }
            else if (APIHelper.StatusValue == 5)
            {
                mdt.status  = HttpStatusCode.BadRequest;
                mdt.msgCode = MessageCode.Failed;
            }
            if (dt.Rows.Count == 1)
            {
                ErrorInfoFromSQL eInfo = DatabaseSettings.GetError(dt);
                mdt.transactionObject = eInfo;
                mdt.message           = eInfo.ErrorMessage;
                mdt.LineNumber        = eInfo.ErrorLineNo;
                mdt.ProcedureName     = eInfo.Procedure;
            }
            return(mdt);
        }
Exemplo n.º 8
0
        /// <summary>
        /// It will auto generate new random password and send to user on his email.
        /// </summary>
        /// <param name="forgotPassword"></param>
        /// <returns></returns>
        public MDTTransactionInfo ForgotPassword(ForgotPassword forgotPassword)
        {
            MDTTransactionInfo mdt = new MDTTransactionInfo();

            try
            {
                List <SqlParameter> prm   = new List <SqlParameter>();
                SqlParameter        email = new SqlParameter("@email", forgotPassword.Email);
                prm.Add(email);
                SqlParameter status = new SqlParameter("@Status", 0);
                status.Direction = ParameterDirection.Output;
                prm.Add(status);
                int     StatusValue = 0;
                DataSet ds          = DatabaseSettings.GetDataSet(APIHelper.ForgotPassword, out StatusValue, prm);

                DataTable dt = ds.Tables[0];

                //ErrorInfoFromSQL eInfo = null;
                if (StatusValue == 1)
                {
                    mdt.status  = HttpStatusCode.OK;
                    mdt.msgCode = MessageCode.Success;
                    mdt.message = "Password has been reset and sent to your registered email.";
                }
                else if (StatusValue == 5 || StatusValue == 6)
                {
                    mdt = DatabaseSettings.GetTransObject(null, StatusValue, "", ds);
                }
                //if (dt.Rows.Count == 1)
                //{
                //    eInfo = DatabaseSettings.GetError(dt);
                //    mdt.transactionObject = eInfo;
                //    mdt.msgCode = (eInfo.Status == 1) ? MessageCode.Success : (eInfo.Status == 6) ? MessageCode.TechnicalError : MessageCode.Failed;
                //    mdt.message = eInfo.ErrorMessage;
                //    mdt.LineNumber = eInfo.ErrorLineNo;
                //    mdt.ProcedureName = eInfo.Procedure;
                //}
                // If above call success then sending an email to user with latest password.
                ErrorInfoFromSQL eInfo = null;
                if (StatusValue == 1)
                {
                    dt = ds.Tables[0];
                    if (dt.Rows.Count > 0)
                    {
                        SendMailRequest sendMailRequest = new SendMailRequest();
                        sendMailRequest.recipient = dt.Rows[0]["Email"].ToString();
                        sendMailRequest.subject   = "MDT Password Reset";
                        sendMailRequest.body      = "Dear User," + Environment.NewLine + "Your password has been reset successfully. please login with new password given below " + Environment.NewLine + "New Password : "******"New Password"].ToString();
                        IMessager messager     = new Email();
                        var       Notification = new Notification(messager);
                        mdt.message = Notification.DoNotify(sendMailRequest);
                    }
                    dt = ds.Tables[1];
                    if (dt.Rows.Count > 0)
                    {
                        eInfo                 = new ErrorInfoFromSQL();
                        eInfo                 = DatabaseSettings.GetError(dt);
                        mdt.status            = HttpStatusCode.OK;
                        mdt.transactionObject = eInfo;
                        mdt.msgCode           = (eInfo.Status == 1) ? MessageCode.Success : (eInfo.Status == 6) ? MessageCode.TechnicalError : MessageCode.Failed;
                        mdt.message           = eInfo.ErrorMessage;
                        mdt.LineNumber        = eInfo.ErrorLineNo;
                        mdt.ProcedureName     = eInfo.Procedure;
                    }
                }
                return(mdt);
            }
            catch (Exception ex)
            {
                mdt = null;
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }