/// <summary> /// Update a status into pdf request table. /// </summary> /// <param name="strID">The uniqueidentified string</param> /// <param name="eStatus">The value must be a PdfRequestStatus</param> /// <exception cref="SSG.PDF.Exceptions.UpdateStatusException">Thrown when update database has error.</exception> public void UpdateDatabaseStatus(string strID, PdfRequestStatus eStatus) { try { // Create connection SqlConnection oConn = new SqlConnection(m_oPiConfig.GetDatabaseConnectionString()); SqlCommand oCmd; string strSQL; // Open database connection oConn.Open(); // Create sql statment for update a status if (eStatus == PdfRequestStatus.New) { strSQL = "INSERT INTO " + PDF_REQUEST_TABLE + " (ID, Status, CreatedDate, LastUpdate) VALUES(@ID, @Status, @CreatedDate, @LastUpdate);"; } else { strSQL = "UPDATE " + PDF_REQUEST_TABLE + " SET Status=@Status, LastUpdate=@LastUpdate WHERE ID=@ID;"; } // Assign a parameters for sql statement oCmd = new SqlCommand(strSQL, oConn); SqlParameter oParamID = new SqlParameter("@ID", SqlDbType.UniqueIdentifier); Guid oID = new Guid(strID); oParamID.Value = oID; oCmd.Parameters.Add(oParamID); SqlParameter oParamStatus = new SqlParameter("@Status", SqlDbType.Int); oParamStatus.Value = eStatus; oCmd.Parameters.Add(oParamStatus); if (eStatus == PdfRequestStatus.New) { SqlParameter oParamCreatedDate = new SqlParameter("@CreatedDate", SqlDbType.DateTime); oParamCreatedDate.Value = DateTime.Now; oCmd.Parameters.Add(oParamCreatedDate); } SqlParameter oParamLastUpdate = new SqlParameter("@LastUpdate", SqlDbType.DateTime); oParamLastUpdate.Value = DateTime.Now; oCmd.Parameters.Add(oParamLastUpdate); // Execute sql statement oCmd.ExecuteNonQuery(); // Close database connection oConn.Close(); } catch (Exception ex) { // Write error log and thrown a UpdateStatusException. Logger.WriteLog(ex); throw new UpdateStatusException(ex.Message); } }
/// <summary> /// Get list of requested id from specific status /// </summary> /// <param name="eStatus">The status want to get list</param> /// <returns>List of guid</returns> public List <Guid> GetListFromStatus(PdfRequestStatus eStatus) { try { // Create connection. SqlConnection oConn = new SqlConnection(m_oPiConfig.GetDatabaseConnectionString()); SqlCommand oCmd; SqlDataReader oReader; List <Guid> oGuidList = new List <Guid>(); string strSQL; // Open database connection oConn.Open(); strSQL = "SELECT ID FROM " + PDF_REQUEST_TABLE + " WHERE (Status=@Status);"; // Assign a parameters for sql statement oCmd = new SqlCommand(strSQL, oConn); SqlParameter oParamStatus = new SqlParameter("@Status", SqlDbType.Int); oParamStatus.Value = eStatus; oCmd.Parameters.Add(oParamStatus); // Execute sql statement oReader = oCmd.ExecuteReader(); if (oReader.HasRows) { // Save requested id into list while (oReader.Read()) { oGuidList.Add(oReader.GetGuid(0)); } } oReader.Close(); // Close database connection oConn.Close(); // Return list of requested id. return(oGuidList); } catch (Exception ex) { // Write error log and return empty list Logger.WriteLog(ex); return(new List <Guid>()); } }
/// <summary> /// Get a pdf requested status from database. /// </summary> /// <param name="strID">The uniqueidentified string</param> /// <returns>The status of a pdf requested.</returns> public PdfRequestStatus GetStatus(string strID) { try { // Create connection. SqlConnection oConn = new SqlConnection(m_oPiConfig.GetDatabaseConnectionString()); SqlCommand oCmd; PdfRequestStatus eStatus = PdfRequestStatus.None; string strSQL; // Open database connection oConn.Open(); strSQL = "SELECT Status FROM " + PDF_REQUEST_TABLE + " WHERE (ID=@ID);"; // Assign a parameters for sql statement oCmd = new SqlCommand(strSQL, oConn); SqlParameter oParamID = new SqlParameter("@ID", SqlDbType.UniqueIdentifier); Guid oID = new Guid(strID); oParamID.Value = oID; oCmd.Parameters.Add(oParamID); // Execute sql statement eStatus = (PdfRequestStatus)oCmd.ExecuteScalar(); // Close database connection oConn.Close(); // Return the status of a pdf requested. return(eStatus); } catch (Exception ex) { // Write error log and return PdfRequestStatus.None. Logger.WriteLog(ex); return(PdfRequestStatus.None); } }