コード例 #1
0
ファイル: DataManager.cs プロジェクト: glebsts/esi2011
        internal long SaveConfirmation(t1no1.contractMessage msgZ04)
        {
            long result = -1;
            try
            {
                using (SqlConnection dbConn = new SqlConnection(connectionString))
                {
                    string qsAddReceived = "";
                    string qsRenewContractAperak = "";
                    string qsGetContractId = "";

                    if (msgZ04.contractInfo != null && msgZ04.contractInfo.contractId != "-1")
                    {
                        qsAddReceived = @"INSERT INTO [RECEIVED_MESSAGES]  ([BODY], [CONTRACT_ID], [RELATED_MESSAGE]) VALUES
            (@BODY , @CONTRACT_ID ,@RELATED_MESSAGE); SELECT SCOPE_IDENTITY();";

                        qsRenewContractAperak = @"UPDATE [CONTRACT] SET  [Z04_MESSAGE_ID] = @Z04_MESSAGE_ID ,[Z04_MESSAGE_RESULT] = @Z04_MESSAGE_RESULT ,[PROCESSING_ERROR] = @PROCESSING_ERROR WHERE [ID]=@ID";
                    }
                    else
                    {
                        qsAddReceived = @"INSERT INTO [RECEIVED_MESSAGES]  ([BODY] ,[CONTRACT_ID] ,[RELATED_MESSAGE]) VALUES
            (@BODY , (select MAX([ID]) from [CONTRACT] where [CLIENT_ID]=@CLIENT_ID) ,@RELATED_MESSAGE);SELECT SCOPE_IDENTITY();";
                        qsRenewContractAperak = @"UPDATE [CONTRACT] SET  [Z04_MESSAGE_ID] = @Z04_MESSAGE_ID ,[Z04_MESSAGE_RESULT] = @Z04_MESSAGE_RESULT ,[PROCESSING_ERROR] =  @PROCESSING_ERROR  WHERE  [CLIENT_ID]=@ID;";

                        qsGetContractId = "select MAX([ID]) from [CONTRACT] where [CLIENT_ID]=@CLIENT_ID";

                    }

                    dbConn.Open();

                    SqlTransaction dbTrans = dbConn.BeginTransaction();

                    SqlCommand dbCommand = new SqlCommand(qsAddReceived, dbConn, dbTrans);

                    dbCommand.Parameters.AddWithValue("@BODY", "Z04");
                    if (msgZ04.contractInfo != null && msgZ04.contractInfo.contractId != "-1")
                    {
                        dbCommand.Parameters.AddWithValue("@CONTRACT_ID", Int64.Parse(msgZ04.contractInfo.contractId));
                    }
                    else
                    {
                        dbCommand.Parameters.AddWithValue("@CLIENT_ID", Int64.Parse(msgZ04.ClientParty.registryCode));
                    }
                    dbCommand.Parameters.AddWithValue("@RELATED_MESSAGE", Int64.Parse((msgZ04.relatedMessageId == null) ? "0" : msgZ04.relatedMessageId));

                    try
                    {

                        long receivedId = Int64.Parse(dbCommand.ExecuteScalar().ToString());

                        dbCommand = new SqlCommand(qsRenewContractAperak, dbConn, dbTrans);
                        dbCommand.Parameters.AddWithValue("@Z04_MESSAGE_ID", receivedId);
                        dbCommand.Parameters.AddWithValue("@Z04_MESSAGE_RESULT",
            msgZ04.confirmed);
                        dbCommand.Parameters.AddWithValue("@PROCESSING_ERROR", "");
                        if (msgZ04.contractInfo != null && msgZ04.contractInfo.contractId != "-1")
                        {
                            dbCommand.Parameters.AddWithValue("@ID", Int64.Parse(msgZ04.contractInfo.contractId));
                        }
                        else
                        {
                            dbCommand.Parameters.AddWithValue("@ID", Int64.Parse(msgZ04.ClientParty.registryCode));
                        }
                        result = dbCommand.ExecuteNonQuery();
                        if (msgZ04.contractInfo == null || msgZ04.contractInfo.contractId == "-1")
                        {
                            dbCommand = new SqlCommand(qsGetContractId, dbConn, dbTrans);
                            dbCommand.Parameters.AddWithValue("@CLIENT_ID", Int64.Parse(msgZ04.ClientParty.registryCode));
                            result = Int64.Parse(dbCommand.ExecuteScalar().ToString());
                        }
                        else
                        {
                            result = Int64.Parse(msgZ04.contractInfo.contractId);
                        }

                        dbTrans.Commit();
                    }
                    catch (Exception queryExc)
                    {
                        Debug.WriteLine("Error inserting new confirmation : " + queryExc.Message);
                    }

                    dbCommand.Connection.Close();

                }
            }
            catch (Exception connExc)
            {

                Debug.WriteLine("Error adding new received message confirmation: " + connExc.Message);
                if (msgZ04.contractInfo == null)
                {
                    Debug.WriteLine("ContractInfo is null!");
                }
            }

            return result;
        }
コード例 #2
0
ファイル: DataManager.cs プロジェクト: glebsts/esi2011
        internal long SaveComposedMessage(t1no1.contractMessage msgz03)
        {
            long result = -1;
            try
            {
                using (SqlConnection dbConn = new SqlConnection(connectionString))
                {
                    string qsAddComposed = @"INSERT INTO [COMPOSED_MESSAGES]
               ([BODY]
               ,[CONTRACT_ID]
               ,[RECEIVER])
             VALUES
               (@BODY
               , @CONTRACT_ID
               ,
               (select MAX([PARTNER].[ID]) from [PARTNER] where
               [PARTNER].[REG_NUM]=@RECEIVER
               )
               ); SELECT SCOPE_IDENTITY();";
                    dbConn.Open();

                    SqlTransaction dbTrans = dbConn.BeginTransaction();

                    SqlCommand dbCommand = new SqlCommand(qsAddComposed, dbConn, dbTrans);

                    dbCommand.Parameters.AddWithValue("@BODY", "Z03");
                    dbCommand.Parameters.AddWithValue("@CONTRACT_ID", msgz03.contractInfo.contractId);
                    dbCommand.Parameters.AddWithValue("@RECEIVER", msgz03.messageRecieverParty);

                    try
                    {
                        result = Int64.Parse(dbCommand.ExecuteScalar().ToString());

                        dbTrans.Commit();
                    }
                    catch (Exception queryExc)
                    {
                        Debug.WriteLine("Error inserting new composed message : " + queryExc.Message);
                    }

                    dbCommand.Connection.Close();

                }
            }
            catch (Exception connExc)
            {
                Debug.WriteLine("Error adding new composed message: " + connExc.Message);
            }

            return result;
        }