コード例 #1
0
ファイル: InboundDocsDal.cs プロジェクト: GDuggi/DemoTest
        public Int32 Insert(InboundDocsDto pData)
        {
            Int32 newId = DBUtils.GetNextSequence(sqlConnStr, SEQ_NAME);

            string sql = "Insert into " + DBUtils.SCHEMA_NAME + "inbound_docs " +
                         "   (id, caller_ref, sent_to, rcvd_ts, file_name, sender, cmt, doc_status_code, has_auto_ascted_flag, " +
                         " mapped_cpty_sn, mapped_brkr_sn, mapped_cdty_code, job_ref ) " +
                         " Values " +
                         "   (@id, @caller_ref, @sent_to, @rcvd_ts, @file_name, @sender, @cmt, @doc_status_code, @has_auto_ascted_flag, " +
                         " @mapped_cpty_sn, @mapped_brkr_sn, @mapped_cdty_code, @job_ref ) ";

            using (SqlConnection conn = new SqlConnection(sqlConnStr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value                       = newId;
                    cmd.Parameters.Add("@caller_ref", System.Data.SqlDbType.VarChar).Value           = DBUtils.ValueStringOrDBNull(pData.CallerRef);
                    cmd.Parameters.Add("@sent_to", System.Data.SqlDbType.VarChar).Value              = DBUtils.ValueStringOrDBNull(pData.SentTo);
                    cmd.Parameters.Add("@rcvd_ts", System.Data.SqlDbType.DateTime).Value             = DBUtils.ValueDateTimeOrDbNull(pData.RcvdTs);
                    cmd.Parameters.Add("@file_name", System.Data.SqlDbType.VarChar).Value            = DBUtils.ValueStringOrDBNull(pData.FileName);
                    cmd.Parameters.Add("@sender", System.Data.SqlDbType.VarChar).Value               = DBUtils.ValueStringOrDBNull(pData.Sender);
                    cmd.Parameters.Add("@cmt", System.Data.SqlDbType.VarChar).Value                  = DBUtils.ValueStringOrDBNull(pData.Cmt);
                    cmd.Parameters.Add("@doc_status_code", System.Data.SqlDbType.VarChar).Value      = DBUtils.ValueStringOrDBNull(pData.DocStatusCode);
                    cmd.Parameters.Add("@has_auto_ascted_flag", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.HasAutoAsctedFlag);
                    cmd.Parameters.Add("@mapped_cpty_sn", System.Data.SqlDbType.VarChar).Value       = DBUtils.ValueStringOrDBNull(pData.MappedCptySn);
                    cmd.Parameters.Add("@mapped_brkr_sn", System.Data.SqlDbType.VarChar).Value       = DBUtils.ValueStringOrDBNull(pData.MappedBrkrSn);
                    cmd.Parameters.Add("@mapped_cdty_code", System.Data.SqlDbType.VarChar).Value     = DBUtils.ValueStringOrDBNull(pData.MappedCdtyCode);
                    cmd.Parameters.Add("@job_ref", System.Data.SqlDbType.VarChar).Value              = DBUtils.ValueStringOrDBNull(pData.JobRef);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
            }
            return(newId);
        }
コード例 #2
0
ファイル: DtoViewConverter.cs プロジェクト: GDuggi/DemoTest
 internal static InboundDocsView CreateInboundDocsView(InboundDocsDto dto)
 {
     return(new InboundDocsView
     {
         CallerRef = dto.CallerRef,
         Cmt = dto.Cmt,
         DocStatusCode = dto.DocStatusCode,
         FileName = dto.FileName,
         HasAutoAsctedFlag = dto.HasAutoAsctedFlag,
         Id = dto.Id,
         MappedCptySn = dto.MappedCptySn,
         Sender = dto.Sender,
         SentTo = dto.SentTo,
         RcvdTs = dto.RcvdTs
     });
 }
コード例 #3
0
ファイル: DtoViewConverter.cs プロジェクト: GDuggi/DemoTest
        internal static InboundDocsDto CreateInboundDocsDto(InboundDocsView inbDocView, string newFileName = null)
        {
            InboundDocsDto inboundDocsData = new InboundDocsDto
            {
                CallerRef         = inbDocView.CallerRef,
                Cmt               = inbDocView.Cmt,
                DocStatusCode     = inbDocView.DocStatusCode,
                FileName          = newFileName ?? inbDocView.FileName,
                HasAutoAsctedFlag = inbDocView.HasAutoAsctedFlag,
                Id           = inbDocView.Id,
                MappedCptySn = inbDocView.MappedCptySn,
                Sender       = inbDocView.Sender,
                SentTo       = inbDocView.SentTo,
                RcvdTs       = inbDocView.RcvdTs
            };

            return(inboundDocsData);
        }
コード例 #4
0
ファイル: InboundDocsDal.cs プロジェクト: GDuggi/DemoTest
        public Int32 Update(InboundDocsDto pData)
        {
            string updateSql   = DBUtils.SCHEMA_NAME + "PKG_INBOUND$p_update_inbound_doc";
            Int32  rowsUpdated = 0;

            using (SqlConnection conn = new SqlConnection(sqlConnStr))
            {
                using (SqlCommand cmd = new SqlCommand(updateSql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.Add("@p_id", System.Data.SqlDbType.Int).Value                  = pData.Id;
                    cmd.Parameters.Add("@p_caller_ref", System.Data.SqlDbType.VarChar).Value      = DBUtils.ValueStringOrDBNull(pData.CallerRef);
                    cmd.Parameters.Add("@p_sent_to", System.Data.SqlDbType.VarChar).Value         = DBUtils.ValueStringOrDBNull(pData.SentTo);
                    cmd.Parameters.Add("@p_file_name", System.Data.SqlDbType.VarChar).Value       = DBUtils.ValueStringOrDBNull(pData.FileName);
                    cmd.Parameters.Add("@p_sender", System.Data.SqlDbType.VarChar).Value          = DBUtils.ValueStringOrDBNull(pData.Sender);
                    cmd.Parameters.Add("@p_cmt", System.Data.SqlDbType.VarChar).Value             = DBUtils.ValueStringOrDBNull(pData.Cmt);
                    cmd.Parameters.Add("@p_doc_status_code", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.DocStatusCode);

                    conn.Open();
                    rowsUpdated = cmd.ExecuteNonQuery();
                }
            }
            return(rowsUpdated);
        }
コード例 #5
0
ファイル: InboundDal.cs プロジェクト: Amphora2015/DemoTest
        public Int32 Insert(string pMarkupFileName, string pOrigFileName, InboundDocsDto pDataDocs, InboundDocsBlobDto pDataBlob)
        {
            Int32 newIdDocs = 0;
            Int32 newIdBlob = 0;

            try
            {
                sqlConnIntegrated = new SqlConnection(sqlConnStrIntegrated);
                sqlConnIntegrated.Open();
                sqlTransIntegrated = sqlConnIntegrated.BeginTransaction("inboundTransIntegrated");

                using (sqlConnIntegrated)
                {
                    string sqlSEQ = "SELECT NEXT VALUE FOR " + SCHEMA_NAME + SEQ_NAME_DOCS;
                    using (SqlCommand cmdSEQDoc = new SqlCommand(sqlSEQ, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmdSEQDoc.CommandType = System.Data.CommandType.Text;
                        var seqNo = cmdSEQDoc.ExecuteScalar();
                        newIdDocs = Convert.ToInt32(seqNo);
                    }

                    string sql = "Insert into " + SCHEMA_NAME + "inbound_docs " +
                        "   (id, caller_ref, sent_to, rcvd_ts, file_name, sender, cmt, doc_status_code, has_auto_ascted_flag, " +
                               " mapped_cpty_sn, mapped_brkr_sn, mapped_cdty_code, job_ref ) " +
                        " Values " +
                        "   (@id, @caller_ref, @sent_to, @rcvd_ts, @file_name, @sender, @cmt, @doc_status_code, @has_auto_ascted_flag, " +
                                " @mapped_cpty_sn, @mapped_brkr_sn, @mapped_cdty_code, @job_ref ) ";

                    using (SqlCommand cmd = new SqlCommand(sql, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmd.CommandType = System.Data.CommandType.Text;
                        cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = newIdDocs;
                        cmd.Parameters.Add("@caller_ref", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.CallerRef);
                        cmd.Parameters.Add("@sent_to", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.SentTo);
                        cmd.Parameters.Add("@rcvd_ts", System.Data.SqlDbType.DateTime).Value = DBUtils.ValueDateTimeOrDbNull(pDataDocs.RcvdTs);
                        cmd.Parameters.Add("@file_name", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.FileName);
                        cmd.Parameters.Add("@sender", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.Sender);
                        cmd.Parameters.Add("@cmt", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.Cmt);
                        cmd.Parameters.Add("@doc_status_code", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.DocStatusCode);
                        cmd.Parameters.Add("@has_auto_ascted_flag", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.HasAutoAsctedFlag);
                        cmd.Parameters.Add("@mapped_cpty_sn", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.MappedCptySn);
                        cmd.Parameters.Add("@mapped_brkr_sn", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.MappedBrkrSn);
                        cmd.Parameters.Add("@mapped_cdty_code", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.MappedCdtyCode);
                        cmd.Parameters.Add("@job_ref", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.JobRef);
                        cmd.ExecuteNonQuery();
                    }

                    sqlSEQ = "SELECT NEXT VALUE FOR " + SCHEMA_NAME + SEQ_NAME_BLOB;
                    using (SqlCommand cmdSEQBlob = new SqlCommand(sqlSEQ, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmdSEQBlob.CommandType = System.Data.CommandType.Text;
                        var seqNo = cmdSEQBlob.ExecuteScalar();
                        newIdBlob = Convert.ToInt32(seqNo);
                    }

                    string insertTSql =
                    @"INSERT INTO " + SCHEMA_NAME + @"INBOUND_DOCS_BLOB(ID, INBOUND_DOCS_ID, ORIG_IMAGE_FILE_EXT, MARKUP_IMAGE_FILE_EXT)
                      VALUES(@ID, @INBOUND_DOCS_ID, @ORIG_IMAGE_FILE_EXT, @MARKUP_IMAGE_FILE_EXT);
                      SELECT ORIG_IMAGE_BLOB.PathName(),MARKUP_IMAGE_BLOB.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT()
                      FROM " + SCHEMA_NAME + @"INBOUND_DOCS_BLOB WHERE ID = @ID";

                    string origServerPath;
                    string markupServerPath;
                    byte[] serverTxn;

                    using (SqlCommand cmd = new SqlCommand(insertTSql, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmd.Parameters.Add("@ID", SqlDbType.Int).Value = newIdBlob;
                        cmd.Parameters.Add("@INBOUND_DOCS_ID", SqlDbType.VarChar).Value = newIdDocs;
                        cmd.Parameters.Add("@ORIG_IMAGE_FILE_EXT", SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataBlob.OrigImageFileExt.ToUpper().Replace(".", ""));
                        cmd.Parameters.Add("@MARKUP_IMAGE_FILE_EXT", SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataBlob.MarkupImageFileExt.ToUpper().Replace(".", ""));
                        using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.SingleRow))
                        {
                            rdr.Read();
                            origServerPath = rdr.GetSqlString(0).Value;
                            markupServerPath = rdr.GetSqlString(1).Value;
                            serverTxn = rdr.GetSqlBinary(2).Value;
                            rdr.Close();
                        }
                    }
                    SaveDocImageFile(pOrigFileName, origServerPath, serverTxn);
                    SaveDocImageFile(pMarkupFileName, markupServerPath, serverTxn);
                    sqlTransIntegrated.Commit();
                }
            }
            catch (Exception e)
            {
                _logFile.WriteToLog("Inbound Controller - ERROR: " + e.Message + "; Stack - " + e.StackTrace);
                try
                {
                    sqlTransIntegrated.Rollback();
                }
                catch (Exception ex1)
                {
                    _logFile.WriteToLog("Inbound Controller - Rollback (Integrated) ERROR - Type: " + ex1.GetType() + "; Message: " + ex1.Message);
                }
                throw e;
            }
            finally
            {
                if (sqlConnIntegrated != null && sqlConnIntegrated.State != ConnectionState.Closed)
                {
                    sqlConnIntegrated.Close();
                }
            }
            return newIdBlob;
        }
コード例 #6
0
        public Int32 Update(InboundDocsDto pData)
        {
            string updateSql = DBUtils.SCHEMA_NAME + "PKG_INBOUND$p_update_inbound_doc";
            Int32 rowsUpdated = 0;

            using (SqlConnection conn = new SqlConnection(sqlConnStr))
            {
                using (SqlCommand cmd = new SqlCommand(updateSql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.Add("@p_id", System.Data.SqlDbType.Int).Value = pData.Id;
                    cmd.Parameters.Add("@p_caller_ref", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.CallerRef);
                    cmd.Parameters.Add("@p_sent_to", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.SentTo);
                    cmd.Parameters.Add("@p_file_name", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.FileName);
                    cmd.Parameters.Add("@p_sender", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.Sender);
                    cmd.Parameters.Add("@p_cmt", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.Cmt);
                    cmd.Parameters.Add("@p_doc_status_code", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.DocStatusCode);

                    conn.Open();
                    rowsUpdated = cmd.ExecuteNonQuery();
                }
            }
            return rowsUpdated;
        }
コード例 #7
0
        public Int32 Insert(InboundDocsDto pData)
        {
            Int32 newId = DBUtils.GetNextSequence(sqlConnStr, SEQ_NAME);

            string sql = "Insert into " + DBUtils.SCHEMA_NAME + "inbound_docs " +
                    "   (id, caller_ref, sent_to, rcvd_ts, file_name, sender, cmt, doc_status_code, has_auto_ascted_flag, " +
                           " mapped_cpty_sn, mapped_brkr_sn, mapped_cdty_code, job_ref ) " +
                    " Values " +
                    "   (@id, @caller_ref, @sent_to, @rcvd_ts, @file_name, @sender, @cmt, @doc_status_code, @has_auto_ascted_flag, " +
                            " @mapped_cpty_sn, @mapped_brkr_sn, @mapped_cdty_code, @job_ref ) ";

            using (SqlConnection conn = new SqlConnection(sqlConnStr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value = newId;
                    cmd.Parameters.Add("@caller_ref", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.CallerRef);
                    cmd.Parameters.Add("@sent_to", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.SentTo);
                    cmd.Parameters.Add("@rcvd_ts", System.Data.SqlDbType.DateTime).Value = DBUtils.ValueDateTimeOrDbNull(pData.RcvdTs);
                    cmd.Parameters.Add("@file_name", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.FileName);
                    cmd.Parameters.Add("@sender", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.Sender);
                    cmd.Parameters.Add("@cmt", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.Cmt);
                    cmd.Parameters.Add("@doc_status_code", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.DocStatusCode);
                    cmd.Parameters.Add("@has_auto_ascted_flag", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.HasAutoAsctedFlag);
                    cmd.Parameters.Add("@mapped_cpty_sn", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.MappedCptySn);
                    cmd.Parameters.Add("@mapped_brkr_sn", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.MappedBrkrSn);
                    cmd.Parameters.Add("@mapped_cdty_code", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.MappedCdtyCode);
                    cmd.Parameters.Add("@job_ref", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pData.JobRef);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
            }
            return newId;
        }
コード例 #8
0
        public Int32 Insert(string pMarkupFileName, string pOrigFileName, InboundDocsDto pDataDocs, InboundDocsBlobDto pDataBlob)
        {
            Int32 newIdDocs = 0;
            Int32 newIdBlob = 0;

            try
            {
                sqlConnIntegrated = new SqlConnection(sqlConnStrIntegrated);
                sqlConnIntegrated.Open();
                sqlTransIntegrated = sqlConnIntegrated.BeginTransaction("inboundTransIntegrated");

                using (sqlConnIntegrated)
                {
                    string sqlSEQ = "SELECT NEXT VALUE FOR " + SCHEMA_NAME + SEQ_NAME_DOCS;
                    using (SqlCommand cmdSEQDoc = new SqlCommand(sqlSEQ, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmdSEQDoc.CommandType = System.Data.CommandType.Text;
                        var seqNo = cmdSEQDoc.ExecuteScalar();
                        newIdDocs = Convert.ToInt32(seqNo);
                    }

                    string sql = "Insert into " + SCHEMA_NAME + "inbound_docs " +
                                 "   (id, caller_ref, sent_to, rcvd_ts, file_name, sender, cmt, doc_status_code, has_auto_ascted_flag, " +
                                 " mapped_cpty_sn, mapped_brkr_sn, mapped_cdty_code, job_ref ) " +
                                 " Values " +
                                 "   (@id, @caller_ref, @sent_to, @rcvd_ts, @file_name, @sender, @cmt, @doc_status_code, @has_auto_ascted_flag, " +
                                 " @mapped_cpty_sn, @mapped_brkr_sn, @mapped_cdty_code, @job_ref ) ";

                    using (SqlCommand cmd = new SqlCommand(sql, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmd.CommandType = System.Data.CommandType.Text;
                        cmd.Parameters.Add("@id", System.Data.SqlDbType.Int).Value                       = newIdDocs;
                        cmd.Parameters.Add("@caller_ref", System.Data.SqlDbType.VarChar).Value           = DBUtils.ValueStringOrDBNull(pDataDocs.CallerRef);
                        cmd.Parameters.Add("@sent_to", System.Data.SqlDbType.VarChar).Value              = DBUtils.ValueStringOrDBNull(pDataDocs.SentTo);
                        cmd.Parameters.Add("@rcvd_ts", System.Data.SqlDbType.DateTime).Value             = DBUtils.ValueDateTimeOrDbNull(pDataDocs.RcvdTs);
                        cmd.Parameters.Add("@file_name", System.Data.SqlDbType.VarChar).Value            = DBUtils.ValueStringOrDBNull(pDataDocs.FileName);
                        cmd.Parameters.Add("@sender", System.Data.SqlDbType.VarChar).Value               = DBUtils.ValueStringOrDBNull(pDataDocs.Sender);
                        cmd.Parameters.Add("@cmt", System.Data.SqlDbType.VarChar).Value                  = DBUtils.ValueStringOrDBNull(pDataDocs.Cmt);
                        cmd.Parameters.Add("@doc_status_code", System.Data.SqlDbType.VarChar).Value      = DBUtils.ValueStringOrDBNull(pDataDocs.DocStatusCode);
                        cmd.Parameters.Add("@has_auto_ascted_flag", System.Data.SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataDocs.HasAutoAsctedFlag);
                        cmd.Parameters.Add("@mapped_cpty_sn", System.Data.SqlDbType.VarChar).Value       = DBUtils.ValueStringOrDBNull(pDataDocs.MappedCptySn);
                        cmd.Parameters.Add("@mapped_brkr_sn", System.Data.SqlDbType.VarChar).Value       = DBUtils.ValueStringOrDBNull(pDataDocs.MappedBrkrSn);
                        cmd.Parameters.Add("@mapped_cdty_code", System.Data.SqlDbType.VarChar).Value     = DBUtils.ValueStringOrDBNull(pDataDocs.MappedCdtyCode);
                        cmd.Parameters.Add("@job_ref", System.Data.SqlDbType.VarChar).Value              = DBUtils.ValueStringOrDBNull(pDataDocs.JobRef);
                        cmd.ExecuteNonQuery();
                    }

                    sqlSEQ = "SELECT NEXT VALUE FOR " + SCHEMA_NAME + SEQ_NAME_BLOB;
                    using (SqlCommand cmdSEQBlob = new SqlCommand(sqlSEQ, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmdSEQBlob.CommandType = System.Data.CommandType.Text;
                        var seqNo = cmdSEQBlob.ExecuteScalar();
                        newIdBlob = Convert.ToInt32(seqNo);
                    }

                    string insertTSql =
                        @"INSERT INTO " + SCHEMA_NAME + @"INBOUND_DOCS_BLOB(ID, INBOUND_DOCS_ID, ORIG_IMAGE_FILE_EXT, MARKUP_IMAGE_FILE_EXT)
                      VALUES(@ID, @INBOUND_DOCS_ID, @ORIG_IMAGE_FILE_EXT, @MARKUP_IMAGE_FILE_EXT);
                      SELECT ORIG_IMAGE_BLOB.PathName(),MARKUP_IMAGE_BLOB.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT()
                      FROM " + SCHEMA_NAME + @"INBOUND_DOCS_BLOB WHERE ID = @ID";

                    string origServerPath;
                    string markupServerPath;
                    byte[] serverTxn;

                    using (SqlCommand cmd = new SqlCommand(insertTSql, sqlConnIntegrated, sqlTransIntegrated))
                    {
                        cmd.Parameters.Add("@ID", SqlDbType.Int).Value = newIdBlob;
                        cmd.Parameters.Add("@INBOUND_DOCS_ID", SqlDbType.VarChar).Value       = newIdDocs;
                        cmd.Parameters.Add("@ORIG_IMAGE_FILE_EXT", SqlDbType.VarChar).Value   = DBUtils.ValueStringOrDBNull(pDataBlob.OrigImageFileExt.ToUpper().Replace(".", ""));
                        cmd.Parameters.Add("@MARKUP_IMAGE_FILE_EXT", SqlDbType.VarChar).Value = DBUtils.ValueStringOrDBNull(pDataBlob.MarkupImageFileExt.ToUpper().Replace(".", ""));
                        using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.SingleRow))
                        {
                            rdr.Read();
                            origServerPath   = rdr.GetSqlString(0).Value;
                            markupServerPath = rdr.GetSqlString(1).Value;
                            serverTxn        = rdr.GetSqlBinary(2).Value;
                            rdr.Close();
                        }
                    }
                    SaveDocImageFile(pOrigFileName, origServerPath, serverTxn);
                    SaveDocImageFile(pMarkupFileName, markupServerPath, serverTxn);
                    sqlTransIntegrated.Commit();
                }
            }
            catch (Exception e)
            {
                _logFile.WriteToLog("Inbound Controller - ERROR: " + e.Message + "; Stack - " + e.StackTrace);
                try
                {
                    sqlTransIntegrated.Rollback();
                }
                catch (Exception ex1)
                {
                    _logFile.WriteToLog("Inbound Controller - Rollback (Integrated) ERROR - Type: " + ex1.GetType() + "; Message: " + ex1.Message);
                }
                throw e;
            }
            finally
            {
                if (sqlConnIntegrated != null && sqlConnIntegrated.State != ConnectionState.Closed)
                {
                    sqlConnIntegrated.Close();
                }
            }
            return(newIdBlob);
        }
コード例 #9
0
ファイル: UnitTestMain.cs プロジェクト: Amphora2015/DemoTest
        public void Test_InboundDocsDal()
        {
            messageSeqNo = 0;
            InboundDocsDal inboundDocsDal = new InboundDocsDal(sqlConnectionString);
            List<InboundDocsView> inboundDocsViewList = new List<InboundDocsView>();
            inboundDocsViewList = inboundDocsDal.GetAllStub();
            expectedValue = @"email\US\15-04-23_02_contract.pdf";
            actualValue = inboundDocsViewList[2].CallerRef;
            Assert.AreEqual(expectedValue, actualValue, getMessage("Stubbed: CallerRef found."));
            expectedValue = "15";
            actualValue = inboundDocsViewList[4].Id.ToString();
            Assert.AreEqual(expectedValue, actualValue, getMessage("Stubbed: Id found."));

            inboundDocsViewList = inboundDocsDal.GetAll();
            expectedValue = "20150521_095410_430.tif";
            foreach (InboundDocsView inboundDocsData in inboundDocsViewList)
            {
                if (inboundDocsData.Id == 9004)
                {
                    actualValue = inboundDocsData.FileName;

                }
            }
            Assert.AreEqual(expectedValue, actualValue, "Selected Inbound filename.");

            InboundDocsDto inbDocsDto = new InboundDocsDto();
            inbDocsDto.Id = 0;
            inbDocsDto.CallerRef = @"scan\SampleInbound_01-15.tif";
            inbDocsDto.SentTo = "scan";
            inbDocsDto.RcvdTs = DateTime.ParseExact("08-14-2015", "MM-dd-yyyy", CultureInfo.InvariantCulture);
            inbDocsDto.FileName = "20150814_115410_520.tif";
            inbDocsDto.Sender = null;
            inbDocsDto.Cmt = null;
            inbDocsDto.DocStatusCode = "OPEN";
            inbDocsDto.HasAutoAsctedFlag = "N";
            inbDocsDto.ProcFlag = "Y";
            inbDocsDto.MappedCptySn = null;
            inbDocsDto.MappedBrkrSn = null;
            inbDocsDto.MappedCdtyCode = null;
            inbDocsDto.JobRef = null;

            Int32 idVal = 0;
            idVal = inboundDocsDal.Insert(inbDocsDto);

            //idVal = 20;
            Assert.AreNotEqual(0, idVal, "Row was inserted");
            inboundDocsViewList = inboundDocsDal.GetAll();
            expectedValue = inbDocsDto.FileName;
            foreach (InboundDocsView inboundDocsData in inboundDocsViewList)
            {
                if (inboundDocsData.Id == idVal)
                {
                    actualValue = inboundDocsData.FileName;
                    break;
                }
            }
            Assert.AreEqual(expectedValue, actualValue, "Selected Inbound filename.");

            int rowsUpdated = 0;
            rowsUpdated = inboundDocsDal.UpdateStatus(idVal, "CLOSED");
            expectedCount = 1;
            Assert.AreEqual(expectedCount, rowsUpdated, "Updated single row.");

            rowsUpdated = 0;
            rowsUpdated = inboundDocsDal.UpdateStatus(idVal, "OPEN");
            Assert.AreEqual(expectedCount, rowsUpdated, "Updated single row again.");

            Dictionary<int, string> inbDict = new Dictionary<int, string>();
            string docStatus = "CLOSED";
            inbDict.Add(idVal, docStatus);
            idVal = inboundDocsDal.Insert(inbDocsDto);
            //idVal = 21;
            inbDict.Add(idVal, docStatus);
            idVal = inboundDocsDal.Insert(inbDocsDto);
            //idVal = 22;
            inbDict.Add(idVal, docStatus);

            Dictionary<int, int> rowsUpdatedDict = new Dictionary<int, int>();
            rowsUpdatedDict = inboundDocsDal.UpdateStatus(inbDict);

            expectedCount = 3;
            actualCount = rowsUpdatedDict.Count;
            Assert.AreEqual(expectedCount, actualCount, "Update status updated correct number of rows.");

            int rowsDeleted = 0;
            actualCount = 0;
            foreach (var dictRow in inbDict)
            {
                rowsDeleted = inboundDocsDal.Delete(dictRow.Key);
                actualCount = actualCount + rowsDeleted;
            }
            Assert.AreEqual(inbDict.Count, actualCount, "Deleted correct number of rows.");
        }