c# dapper transaction with object

dapper version 2.0.123

    public static string InsertOrionClcard(BMSV_CLIENT SD)
    {
        try
        {
            using (var connection = new SqlConnection(string.Format(@"Server={0}; Database={1}; User Id ={2};Password ={3};Application Name={4}", CFG.OTHERCARIMALZEMESERVER, CFG.OTHERCARIMALZEMEDATABASE, CFG.OTHERCARIMALZEMEUSERNAME, CFG.OTHERCARIMALZEMEPASSWORD, CFG.ORIONCARIMALZEMEUSERCODE)))
            {
                connection.Open();
                using (var transaction = connection.BeginTransaction())
                {
                    try
                    {
                        string TableName = "TBL_CARI_MAIN";
                        TBL_CARI_MAIN cari = new TBL_CARI_MAIN();
                        cari.AKTIF = true;
                        cari.CARIKODU = SD.Code;
                        cari.CARIADI = SD.Name;
                        cari.TIPID = 3;
                        cari.VERGIDAIRESI = SD.TaxLocation;
                        cari.VERGINO = SD.TaxNumber;
                        cari.KREDILIMITI = 0;
                        cari.RISKLIMITI = 0;
                        cari.INDIRIM = 0;
                        cari.BAKIYE = 0;
                        cari.GRUPID = 1;
                        cari.DOVIZID = 1;
                        cari.ALISFIYATID = 1;
                        cari.SATISFIYATID = 2;
                        cari.ODEMEGUNU = 0;
                        cari.TAKSITSAYISI = 0;
                        cari.RESIM = "";
                        cari.WEBADRESI = "";
                        cari.PASSWORD = "";
                        cari.ACIKLAMA = "";
                        cari.EMAIL = SD.Email;
                        cari.CREATEDATE = SD.CreatedDate;
                        cari.CREATEUSERID = 1;
                        string sql = $@"INSERT INTO {TableName} (AKTIF,CARIKODU,CARIADI,TIPID,VERGIDAIRESI,VERGINO,KREDILIMITI,RISKLIMITI,INDIRIM,BAKIYE,GRUPID,DOVIZID,ALISFIYATID,SATISFIYATID,ODEMEGUNU,TAKSITSAYISI,RESIM,WEBADRESI,PASSWORD,ACIKLAMA,EMAIL,CREATEDATE,CREATEUSERID) VALUES (@AKTIF,@CARIKODU,@CARIADI,@TIPID,@VERGIDAIRESI,@VERGINO,@KREDILIMITI,@RISKLIMITI,@INDIRIM,@BAKIYE,@GRUPID,@DOVIZID,@ALISFIYATID,@SATISFIYATID,@ODEMEGUNU,@TAKSITSAYISI,@RESIM,@WEBADRESI,@PASSWORD,@ACIKLAMA,@EMAIL,@CREATEDATE,@CREATEUSERID); SELECT CAST(SCOPE_IDENTITY() as int);";

                        int CARIID = connection.Query<int>(sql, cari, transaction).FirstOrDefault();

                        TBL_CARI_ADRES cari_adres = new TBL_CARI_ADRES();
                        cari_adres.CARIID = CARIID;
                        cari_adres.SUBEADI = "";
                        cari_adres.ADRES = SD.Address;
                        cari_adres.IL = "";
                        cari_adres.ILCE = "";
                        cari_adres.POSTAKODU = "";
                        cari_adres.ADRES = SD.Address;
                        cari_adres.TELEFON = SD.Phone1;
                        cari_adres.FAX = SD.Fax;
                        cari_adres.BOLGEID = 1;
                        cari_adres.ISMERKEZ = true;
                        cari_adres.CREATEDATE = (DateTime)SD.CreatedDate;
                        cari_adres.CREATEUSERID = 1;
                        cari_adres.ROTANO = 1;

                        connection.Execute($@"INSERT INTO TBL_CARI_ADRES (CARIID,SUBEADI,ADRES,IL,ILCE,POSTAKODU,TELEFON,FAX,BOLGEID,ISMERKEZ,CREATEDATE,CREATEUSERID,ROTANO) VALUES (@CARIID,@SUBEADI,@ADRES,@IL,@ILCE,@POSTAKODU,@TELEFON,@FAX,@BOLGEID,@ISMERKEZ,@CREATEDATE,@CREATEUSERID,@ROTANO)", cari_adres, transaction);
                        transaction.Commit();
                        return "ok";
                    }
                    catch (Exception E)
                    {
                        try { transaction.Rollback(); } catch { }
                        return E.Message;
                    }
                    finally
                    {
                        try { transaction.Dispose(); } catch { }
                        try { if (connection.State != ConnectionState.Closed) connection.Close(); }
                        catch
                        {
                        }
                    }
                }
            }
        }
        catch (Exception E)
        {
            LOGYAZ("InsertOrionClcard", E);
            return E.Message;
        }
    }

Leave a comment