58
58
using CTe . Servicos . ConsultaProtocolo ;
59
59
using CTe . Servicos . ConsultaRecibo ;
60
60
using CTe . Servicos . ConsultaStatus ;
61
+ using CTe . Servicos . EnviarCte ;
61
62
using CTe . Servicos . Eventos ;
62
63
using CTe . Servicos . Inutilizacao ;
63
64
using CTe . Servicos . Recepcao ;
@@ -81,6 +82,12 @@ public RetornoEEnvio(RetornoBase retorno)
81
82
Retorno = retorno . RetornoXmlString ;
82
83
}
83
84
85
+ public RetornoEEnvio ( string envio , string retorno )
86
+ {
87
+ Envio = envio ;
88
+ Retorno = retorno ;
89
+ }
90
+
84
91
public string Envio { get ; set ; }
85
92
public string Retorno { get ; set ; }
86
93
}
@@ -1057,5 +1064,246 @@ private static int GetRandom()
1057
1064
var rand = new Random ( ) ;
1058
1065
return rand . Next ( 11111111 , 99999999 ) ;
1059
1066
}
1067
+
1068
+ public void CriarEnviarCTeConsultaReciboAutomatico2e3 ( )
1069
+ {
1070
+ var config = new ConfiguracaoDao ( ) . BuscarConfiguracao ( ) ;
1071
+ CarregarConfiguracoes ( config ) ;
1072
+
1073
+ var cteEletronico = new CteEletronico ( ) ;
1074
+
1075
+ #region infCte
1076
+
1077
+ cteEletronico . infCte = new infCte ( ) ;
1078
+ cteEletronico . infCte . versao = config . ConfigWebService . Versao ;
1079
+
1080
+ #endregion
1081
+
1082
+ #region ide
1083
+
1084
+ cteEletronico . infCte . ide = new ide ( ) ;
1085
+ cteEletronico . infCte . ide . cUF = config . Empresa . SiglaUf ;
1086
+ cteEletronico . infCte . ide . cCT = GetRandom ( ) ;
1087
+ cteEletronico . infCte . ide . CFOP = 5353 ;
1088
+ cteEletronico . infCte . ide . natOp = "PRESTAÇÃO DE SERVICO DE TRANSPORTE CT-E EXEMPLO" ;
1089
+
1090
+ if ( config . ConfigWebService . Versao == versao . ve200 )
1091
+ {
1092
+ cteEletronico . infCte . ide . forPag = forPag . Pago ;
1093
+ }
1094
+ cteEletronico . infCte . ide . mod = ModeloDocumento . CTe ;
1095
+ cteEletronico . infCte . ide . serie = config . ConfigWebService . Serie ;
1096
+ cteEletronico . infCte . ide . nCT = config . ConfigWebService . Numeracao ;
1097
+ cteEletronico . infCte . ide . dhEmi = DateTime . Now ;
1098
+ cteEletronico . infCte . ide . tpImp = tpImp . Retrado ;
1099
+ cteEletronico . infCte . ide . tpEmis = tpEmis . teNormal ;
1100
+ cteEletronico . infCte . ide . tpAmb = config . ConfigWebService . Ambiente ; // o serviço adicionara automaticamente isso para você
1101
+ cteEletronico . infCte . ide . tpCTe = tpCTe . Normal ;
1102
+ cteEletronico . infCte . ide . procEmi = procEmi . AplicativoContribuinte ;
1103
+ cteEletronico . infCte . ide . verProc = "0.0.0.1" ;
1104
+ cteEletronico . infCte . ide . cMunEnv = config . Empresa . CodigoIbgeMunicipio ;
1105
+ cteEletronico . infCte . ide . xMunEnv = config . Empresa . NomeMunicipio ;
1106
+ cteEletronico . infCte . ide . UFEnv = config . Empresa . SiglaUf ;
1107
+ cteEletronico . infCte . ide . modal = modal . rodoviario ;
1108
+ cteEletronico . infCte . ide . tpServ = tpServ . normal ;
1109
+ cteEletronico . infCte . ide . cMunIni = config . Empresa . CodigoIbgeMunicipio ;
1110
+ cteEletronico . infCte . ide . xMunIni = config . Empresa . NomeMunicipio ;
1111
+ cteEletronico . infCte . ide . UFIni = config . Empresa . SiglaUf ;
1112
+ cteEletronico . infCte . ide . cMunFim = config . Empresa . CodigoIbgeMunicipio ;
1113
+ cteEletronico . infCte . ide . xMunFim = config . Empresa . NomeMunicipio ;
1114
+ cteEletronico . infCte . ide . UFFim = config . Empresa . SiglaUf ;
1115
+ cteEletronico . infCte . ide . retira = retira . Nao ;
1116
+
1117
+ if ( config . ConfigWebService . Versao == versao . ve300 )
1118
+ {
1119
+ cteEletronico . infCte . ide . indIEToma = indIEToma . ContribuinteIcms ;
1120
+ }
1121
+
1122
+ if ( config . ConfigWebService . Versao == versao . ve200 )
1123
+ {
1124
+ cteEletronico . infCte . ide . tomaBase3 = new toma03
1125
+ {
1126
+ toma = toma . Remetente
1127
+ } ;
1128
+ }
1129
+
1130
+ if ( config . ConfigWebService . Versao == versao . ve300 )
1131
+ {
1132
+ cteEletronico . infCte . ide . tomaBase3 = new toma3
1133
+ {
1134
+ toma = toma . Remetente
1135
+ } ;
1136
+ }
1137
+
1138
+
1139
+ #endregion
1140
+
1141
+ #region emit
1142
+
1143
+ cteEletronico . infCte . emit = new emit ( ) ;
1144
+ cteEletronico . infCte . emit . CNPJ = config . Empresa . Cnpj ;
1145
+ cteEletronico . infCte . emit . IE = config . Empresa . InscricaoEstadual ;
1146
+ cteEletronico . infCte . emit . xNome = config . Empresa . Nome ;
1147
+ cteEletronico . infCte . emit . xFant = config . Empresa . NomeFantasia ;
1148
+
1149
+ cteEletronico . infCte . emit . enderEmit = new enderEmit ( ) ;
1150
+ cteEletronico . infCte . emit . enderEmit . xLgr = config . Empresa . Logradouro ;
1151
+ cteEletronico . infCte . emit . enderEmit . nro = config . Empresa . Numero ;
1152
+ cteEletronico . infCte . emit . enderEmit . xCpl = config . Empresa . Complemento ;
1153
+ cteEletronico . infCte . emit . enderEmit . xBairro = config . Empresa . Bairro ;
1154
+ cteEletronico . infCte . emit . enderEmit . cMun = config . Empresa . CodigoIbgeMunicipio ;
1155
+ cteEletronico . infCte . emit . enderEmit . xMun = config . Empresa . NomeMunicipio ;
1156
+ cteEletronico . infCte . emit . enderEmit . CEP = long . Parse ( config . Empresa . Cep ) ;
1157
+ cteEletronico . infCte . emit . enderEmit . UF = config . Empresa . SiglaUf ;
1158
+ cteEletronico . infCte . emit . enderEmit . fone = config . Empresa . Telefone ;
1159
+
1160
+ #endregion
1161
+
1162
+ // Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente.
1163
+ #region rem
1164
+ cteEletronico . infCte . rem = new rem ( ) ;
1165
+ cteEletronico . infCte . rem . CNPJ = config . Empresa . Cnpj ;
1166
+ cteEletronico . infCte . rem . IE = config . Empresa . InscricaoEstadual ;
1167
+ cteEletronico . infCte . rem . xNome = config . Empresa . Nome ;
1168
+ cteEletronico . infCte . rem . xFant = config . Empresa . NomeFantasia ;
1169
+ cteEletronico . infCte . rem . fone = config . Empresa . Telefone ;
1170
+
1171
+ cteEletronico . infCte . rem . enderReme = new enderReme ( ) ;
1172
+ cteEletronico . infCte . rem . enderReme . xLgr = config . Empresa . Logradouro ;
1173
+ cteEletronico . infCte . rem . enderReme . nro = config . Empresa . Numero ;
1174
+ cteEletronico . infCte . rem . enderReme . xCpl = config . Empresa . Complemento ;
1175
+ cteEletronico . infCte . rem . enderReme . xBairro = config . Empresa . Bairro ;
1176
+ cteEletronico . infCte . rem . enderReme . cMun = config . Empresa . CodigoIbgeMunicipio ;
1177
+ cteEletronico . infCte . rem . enderReme . xMun = config . Empresa . NomeMunicipio ;
1178
+ cteEletronico . infCte . rem . enderReme . CEP = long . Parse ( config . Empresa . Cep ) ;
1179
+ cteEletronico . infCte . rem . enderReme . UF = config . Empresa . SiglaUf ;
1180
+ #endregion
1181
+
1182
+ // Destinatário
1183
+ #region dest
1184
+
1185
+ cteEletronico . infCte . dest = new dest ( ) ;
1186
+ cteEletronico . infCte . dest . CNPJ = config . Empresa . Cnpj ;
1187
+ cteEletronico . infCte . dest . IE = config . Empresa . InscricaoEstadual ;
1188
+ cteEletronico . infCte . dest . xNome = config . Empresa . Nome ;
1189
+ cteEletronico . infCte . dest . fone = config . Empresa . Telefone ;
1190
+
1191
+ cteEletronico . infCte . dest . enderDest = new enderDest ( ) ;
1192
+ cteEletronico . infCte . dest . enderDest . xLgr = config . Empresa . Logradouro ;
1193
+ cteEletronico . infCte . dest . enderDest . nro = config . Empresa . Numero ;
1194
+ cteEletronico . infCte . dest . enderDest . xCpl = config . Empresa . Complemento ;
1195
+ cteEletronico . infCte . dest . enderDest . xBairro = config . Empresa . Bairro ;
1196
+ cteEletronico . infCte . dest . enderDest . cMun = config . Empresa . CodigoIbgeMunicipio ;
1197
+ cteEletronico . infCte . dest . enderDest . xMun = config . Empresa . NomeMunicipio ;
1198
+ cteEletronico . infCte . dest . enderDest . CEP = long . Parse ( config . Empresa . Cep ) ;
1199
+ cteEletronico . infCte . dest . enderDest . UF = config . Empresa . SiglaUf ;
1200
+
1201
+ #endregion
1202
+
1203
+ #region vPrest
1204
+
1205
+ cteEletronico . infCte . vPrest = new vPrest ( ) ;
1206
+ cteEletronico . infCte . vPrest . vTPrest = 100m ;
1207
+ cteEletronico . infCte . vPrest . vRec = 100m ;
1208
+
1209
+ #endregion
1210
+
1211
+ #region imp
1212
+
1213
+ cteEletronico . infCte . imp = new imp ( ) ;
1214
+ cteEletronico . infCte . imp . ICMS = new ICMS ( ) ;
1215
+
1216
+ var icmsSimplesNacional = new ICMSSN ( ) ;
1217
+
1218
+ cteEletronico . infCte . imp . ICMS . TipoICMS = icmsSimplesNacional ;
1219
+
1220
+ if ( config . ConfigWebService . Versao == versao . ve300 )
1221
+ {
1222
+ icmsSimplesNacional . CST = CST . ICMS90 ;
1223
+ }
1224
+
1225
+ #endregion
1226
+
1227
+ #region infCTeNorm
1228
+
1229
+ cteEletronico . infCte . infCTeNorm = new infCTeNorm ( ) ;
1230
+ cteEletronico . infCte . infCTeNorm . infCarga = new infCarga ( ) ;
1231
+ cteEletronico . infCte . infCTeNorm . infCarga . vCarga = 1000m ;
1232
+ cteEletronico . infCte . infCTeNorm . infCarga . proPred = "Linguiça com piqui" ;
1233
+
1234
+ cteEletronico . infCte . infCTeNorm . infCarga . infQ = new List < infQ > ( ) ;
1235
+ cteEletronico . infCte . infCTeNorm . infCarga . infQ . Add ( new infQ
1236
+ {
1237
+ cUnid = cUnid . KG ,
1238
+ qCarga = 10000 ,
1239
+ tpMed = "quilos gramas"
1240
+ } ) ;
1241
+
1242
+ cteEletronico . infCte . infCTeNorm . infDoc = new infDoc ( ) ;
1243
+ cteEletronico . infCte . infCTeNorm . infDoc . infNFe = new List < infNFe > ( ) ;
1244
+ cteEletronico . infCte . infCTeNorm . infDoc . infNFe . Add ( new infNFe
1245
+ {
1246
+ chave = "52161021025760000123550010000087341557247948"
1247
+ } ) ;
1248
+
1249
+ if ( config . ConfigWebService . Versao == versao . ve200 )
1250
+ {
1251
+ cteEletronico . infCte . infCTeNorm . seg = new List < seg > ( ) ;
1252
+ cteEletronico . infCte . infCTeNorm . seg . Add ( new seg
1253
+ {
1254
+ respSeg = respSeg . Destinatario
1255
+ } ) ;
1256
+ }
1257
+
1258
+ cteEletronico . infCte . infCTeNorm . infModal = new infModal ( ) ;
1259
+
1260
+ if ( config . ConfigWebService . Versao == versao . ve200 )
1261
+ {
1262
+ cteEletronico . infCte . infCTeNorm . infModal . versaoModal = versaoModal . veM200 ;
1263
+ }
1264
+
1265
+ if ( config . ConfigWebService . Versao == versao . ve300 )
1266
+ {
1267
+ cteEletronico . infCte . infCTeNorm . infModal . versaoModal = versaoModal . veM300 ;
1268
+ }
1269
+
1270
+ var rodoviario = new rodo ( ) ;
1271
+ rodoviario . RNTRC = config . Empresa . RNTRC ;
1272
+
1273
+ if ( config . ConfigWebService . Versao == versao . ve200 )
1274
+ {
1275
+ rodoviario . dPrev = DateTime . Now ;
1276
+ rodoviario . lota = lota . Nao ;
1277
+ }
1278
+
1279
+
1280
+ cteEletronico . infCte . infCTeNorm . infModal . ContainerModal = rodoviario ;
1281
+ #endregion
1282
+
1283
+
1284
+ var numeroLote = InputBoxTuche ( "Número Lote" ) ;
1285
+
1286
+
1287
+ var servico = new ServicoEnviarCte ( ) ;
1288
+
1289
+
1290
+ var retorno = servico . Enviar ( Convert . ToInt32 ( numeroLote ) , cteEletronico ) ;
1291
+
1292
+
1293
+ string xmlRetorno = string . Empty ;
1294
+
1295
+ if ( retorno . CteProc != null )
1296
+ xmlRetorno = retorno . CteProc . ObterXmlString ( ) ;
1297
+
1298
+ if ( retorno . RetConsReciCTe . protCTe [ 0 ] . infProt . cStat != 100 )
1299
+ {
1300
+ xmlRetorno = retorno . RetConsReciCTe . RetornoXmlString ;
1301
+ }
1302
+
1303
+ OnSucessoSync ( new RetornoEEnvio ( retorno . RetEnviCte . EnvioXmlString , xmlRetorno ) ) ;
1304
+
1305
+ config . ConfigWebService . Numeracao ++ ;
1306
+ new ConfiguracaoDao ( ) . SalvarConfiguracao ( config ) ;
1307
+ }
1060
1308
}
1061
1309
}
0 commit comments