protected void ProcessAllInfoForOnePub(int publicationId)
    {
        ProcessPub.ProcessAllInfoForOnePubId(publicationId, false);
        int confirmId = ProcessPub.ConfirmOnePubByAuthorInitial(publicationId);

        ProcessPub.UpdateNameConfirm(publicationId, confirmId);
    }
    protected void btnReprocess_Click(object sender, EventArgs e)
    {
        List <int> pubIdList = GetAllPubIdList().ToList();

        int totalConfirmedCnt = 0;
        int totalConflictCnt  = 0;
        int totalUnknownCnt   = 0;
        int confirmId         = 0;

        foreach (int publicationId in pubIdList)
        {
            ProcessPub.UpdateAllProcessInfoForOnePubId(publicationId);
            confirmId = ProcessPub.ConfirmOnePubByAuthorInitial(publicationId);
            ProcessPub.UpdateNameConfirm(publicationId, confirmId);
        }
        int    pubCnt = pubIdList.Count;
        string msg    = "Among " + pubCnt.ToString() + " pubs, " + totalConfirmedCnt +
                        " are name (initial) confirmed, " +
                        totalConflictCnt.ToString() +
                        " are name (initial) conflict, and " +
                        totalUnknownCnt.ToString() +
                        " are unknown.";

        ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + msg + "');", true);
    }
    protected void TreatInfoForOnePubId(int publicationId)
    {
        //string pmidStr = pmid.ToString();

        string        connectionStr = ConfigurationManager.ConnectionStrings["UcccPubMedDB"].ConnectionString;
        SqlConnection myConnection  = new SqlConnection(connectionStr);
        string        sqlStatement;

        sqlStatement = "select count(*) as cnt from publication_processing where publication_id = " + publicationId.ToString();
        SqlCommand commandFromProcessing = new SqlCommand(sqlStatement, myConnection);

        myConnection.Open();
        int cnt = (int)commandFromProcessing.ExecuteScalar();

        myConnection.Close();

        if (cnt == 0)
        {
            ProcessPub.ProcessAllInfoForOnePubId(publicationId, false);
            int confirmId = ProcessPub.ConfirmOnePubByAuthorInitial(publicationId);
            ProcessPub.UpdateNameConfirm(publicationId, confirmId);
        }
        else if (cnt == 1)
        {
            ProcessPub.UpdateAllProcessInfoForOnePubId(publicationId);
            int confirmId = ProcessPub.ConfirmOnePubByAuthorInitial(publicationId);
            ProcessPub.UpdateNameConfirm(publicationId, confirmId);
        }
        else
        {
            //error
        }
    }
    protected void btnProcess_Click(object sender, EventArgs e)
    {
        //List<int> pubIdList = GetPubIdList(lastPubId).ToList();
        List <int> pubIdList = GetNotProcessedPubIdList().ToList();
        //ProcessPubList(pubIdList);
        //ConfirmByName(pubIdList);

        int totalConfirmedCnt = 0;
        int totalConflictCnt  = 0;
        int totalUnknownCnt   = 0;
        int confirmId         = 0;

        foreach (int publicationId in pubIdList)
        {
            ProcessPub.ProcessAllInfoForOnePubId(publicationId, false);
            confirmId = ProcessPub.ConfirmOnePubByAuthorInitial(publicationId);
            ProcessPub.UpdateNameConfirm(publicationId, confirmId);
            if (confirmId == 1)
            {
                totalConfirmedCnt++;
            }
            else if (confirmId == 2)
            {
                totalConflictCnt++;
            }
            else
            {
                totalUnknownCnt++;
            }
        }
        int    pubCnt = pubIdList.Count;
        string msg    = "Among " + pubCnt.ToString() + " pubs, " + totalConfirmedCnt +
                        " are name (initial) confirmed, " +
                        totalConflictCnt.ToString() +
                        " are name (initial) conflict, and " +
                        totalUnknownCnt.ToString() +
                        " are unknown.";

        ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + msg + "');", true);
    }
    protected void btnProcessSelectedPubs_Click(object sender, EventArgs e)
    {
        List <int> pubIdList = new List <int>();

        for (int i = 0; i < gvPublication.Rows.Count; i++)
        {
            CheckBox chxSelectTemp = (CheckBox)gvPublication.Rows[i].FindControl("chxSelect");
            if (chxSelectTemp == null)
            {
                return;
            }
            int   id;
            Label lblIdTemp = null;
            lblIdTemp = (Label)gvPublication.Rows[i].FindControl("lblId");
            if (lblIdTemp != null)
            {
                if (chxSelectTemp.Checked)
                {
                    id = Convert.ToInt32(lblIdTemp.Text);
                    pubIdList.Add(id);
                }
            }
            else
            {
                return;
            }
        }
        foreach (int id in pubIdList)
        {
            //bool isRE = ProcessPub.IsReviewEditorial(id);
            ProcessPub.UpdateAllProcessInfoForOnePubId(id);
            int confirmId = ProcessPub.ConfirmOnePubByAuthorInitial(id);
            ProcessPub.UpdateNameConfirm(id, confirmId);
        }
        string msg = pubIdList.Count.ToString() + " publication are processed.";

        ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + msg + "');", true);
    }