protected void btnConfirmSubmit_Click(object sender, EventArgs e)
        {
            //to do validations

            ChatBotAnswerDAO cbaDAO   = new ChatBotAnswerDAO();
            ChatBotAnswer    cbAnswer = new ChatBotAnswer();

            cbAnswer.answer = txtAnswers.Text;
            cbAnswer.intent = ddlIntent.SelectedValue;
            if (txtEntity.Text != "")
            {
                cbAnswer.entityName = txtEntity.Text;
            }
            else
            {
                cbAnswer.entityName = null;
            }
            int answerID = cbaDAO.insertAnswer(cbAnswer);

            //set audit
            User currentUser = (User)Session["currentUser"];

            setAudit(currentUser, "learny answers", "create", answerID.ToString(), "answer: " + txtAnswers.Text);

            Response.Redirect("askLearnyAddAns.aspx");
        }
Beispiel #2
0
        public int insertAnswer(ChatBotAnswer cbAnswer) // Insert.
        {
            SqlConnection conn     = null;
            int           toReturn = -1;

            try
            {
                conn = new SqlConnection();
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;
                conn.Open();
                SqlCommand comm = new SqlCommand();
                comm.Connection  = conn;
                comm.CommandText = "Insert into [ChatBotAns] (answer, intentID, entityName) OUTPUT INSERTED.answerID VALUES (@answer, @intentID, @entityName)";
                comm.Parameters.AddWithValue("@answer", cbAnswer.answer);
                comm.Parameters.AddWithValue("@intentID", cbAnswer.intent);
                if (cbAnswer.entityName != null)
                {
                    comm.Parameters.AddWithValue("@entityName", cbAnswer.entityName);
                }
                else
                {
                    comm.Parameters.AddWithValue("@entityName", DBNull.Value);
                }
                toReturn = (Int32)comm.ExecuteScalar();
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
            return(toReturn);
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["currentUser"] == null)
            {
                Response.Redirect("/Login.aspx");
            }
            else
            {
                if (!IsPostBack)
                {
                    User currentUser = (User)Session["currentUser"];

                    Boolean superuser = false;
                    foreach (String s in currentUser.getRoles())
                    {
                        if (s.Equals("superuser"))
                        {
                            superuser = true;
                        }
                    }
                    if (!currentUser.getDepartment().Equals("hr"))
                    {
                        if (!superuser)
                        {
                            Response.Redirect("errorPage.aspx");
                        }
                    }
                    else
                    {
                        ChatBotAnswerDAO cbaDAO         = new ChatBotAnswerDAO();
                        ChatBotAnswer    currrentAnswer = cbaDAO.getChatBotAnswerByID(Convert.ToInt32(Request.QueryString["id"]));
                        if (currrentAnswer.answer != null)
                        {
                            txtAnswers.Text = currrentAnswer.answer;
                            txtEntity.Text  = currrentAnswer.entityName;
                            ddlIntent.DataBind();
                            ddlIntent.SelectedIndex = ddlIntent.Items.IndexOf(ddlIntent.Items.FindByText(currrentAnswer.intent));
                        }
                        else
                        {
                            Response.Redirect("errorPage.aspx");
                        }
                    }
                }
            }
        }
Beispiel #4
0
        private void Callbacks_PlayerChat(object sender, PlayerChatEventArgs e)
        {
            RunCatchLog(() =>
            {
                if (e.IsServerMessage || e.Text.IsNullOrTimmedEmpty())
                {
                    return;
                }

                if (e.IsRegisteredCommand && CheckForReadSettingsCommand(e))
                {
                    return;
                }

                if (e.IsRegisteredCommand)
                {
                    return;
                }

                foreach (string phrase in Phrases)
                {
                    string regexPattern = @"\b" + Regex.Escape(phrase) + @"\b";

                    if (!Regex.IsMatch(e.Text, regexPattern, RegexOptions.Singleline | RegexOptions.IgnoreCase))
                    {
                        continue;
                    }

                    ChatBotAnswer answer = Answers[phrase];

                    if (answer.Wisper)
                    {
                        SendFormattedMessageToLogin(e.Login, string.Format("{0}{1}", Botname, answer.Answer));
                    }
                    else
                    {
                        SendFormattedMessage(string.Format("{0}{1}", Botname, answer.Answer));
                    }

                    break;
                }
            }, "Error in Callbacks_PlayerChat Method.", true);
        }
Beispiel #5
0
        public List <ChatBotAnswer> getChatBotAnswerByIntent(string intent)
        {
            SqlConnection        conn     = new SqlConnection();
            List <ChatBotAnswer> toReturn = new List <ChatBotAnswer>();

            try
            {
                conn = new SqlConnection();
                string connstr = ConfigurationManager.ConnectionStrings["DBConnectionString"].ToString();
                conn.ConnectionString = connstr;
                conn.Open();
                SqlCommand comm = new SqlCommand();
                comm.Connection  = conn;
                comm.CommandText = "select cba.answerID, cba.answer, cbi.intent, cba.entityName from [ChatBotAns] cba inner join [ChatBotIntent] cbi on cba.intentID = cbi.intentID where cbi.intent=@intent";
                comm.Parameters.AddWithValue("@intent", intent);
                SqlDataReader dr = comm.ExecuteReader();
                while (dr.Read())
                {
                    ChatBotAnswer cba = new ChatBotAnswer();
                    cba.answerID = (int)dr["answerID"];
                    cba.answer   = (string)dr["answer"];
                    cba.intent   = (string)dr["intent"];
                    if (!dr.IsDBNull(3))
                    {
                        cba.entityName = (string)dr["entityName"];
                    }

                    toReturn.Add(cba);
                }
                dr.Close();
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
            return(toReturn);
        }