private void SendVouchers(List <State_voucher> state_Voucher) { foreach (State_voucher voucher in state_Voucher) { if (voucher.SVALOR == "1") //Se genero la factura { State_voucher Response = new State_voucher(); var ObjVoucher = _mapper.Map <CobranzaVoucher>(voucher); string JsonRequest = JsonConvert.SerializeObject(ObjVoucher); for (int i = 1; i <= 3; i++) { try { Response = JsonConvert.DeserializeObject <State_voucher>(SendFE(JsonRequest)); voucher.Resultado = Response.Resultado; InsertarLogFE(voucher); if (Response.Resultado == "ok") { break; } } catch (Exception ex) { voucher.Resultado = ex.Message; InsertarLogFE(voucher); } } } } }
public Task <ResponseControl> GeneraPlanillaFactura(string idproceso, int idproducto, int idbanco, string tipooperacion, int usercode) { bool exito = true; List <OracleParameter> parameters = new List <OracleParameter>(); ResponseControl Response = new ResponseControl(ResponseControl.Status.Ok); List <State_voucher> state_Vouchers = new List <State_voucher>(); State_voucher voucher; try { parameters.Add(new OracleParameter("P_SIDPROCESS", OracleDbType.Varchar2, idproceso, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_NPRODUCT", OracleDbType.Varchar2, idproducto, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_NIDBANK", OracleDbType.Varchar2, idbanco, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_STYPEOPE", OracleDbType.Varchar2, tipooperacion, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_NUSERCODE", OracleDbType.Varchar2, usercode, ParameterDirection.Input)); var pCode = new OracleParameter("P_NCODE", OracleDbType.Int16, ParameterDirection.Output); var p_Message = new OracleParameter("P_SMESSAGE", OracleDbType.NVarchar2, ParameterDirection.Output); var table = new OracleParameter("C_TABLE", OracleDbType.RefCursor, ParameterDirection.Output); p_Message.Size = 2500; table.Size = 4000; parameters.Add(pCode); parameters.Add(p_Message); parameters.Add(table); //_connectionBase.ExecuteByStoredProcedure("PKG_SCTR_COBRANZAS.SPS_GENERA_PLANILLA_DOCUMENTO", parameters, ConnectionBase.enuTypeDataBase.OracleConciliacion); using (OracleDataReader dr = (OracleDataReader)_connectionBase.ExecuteByStoredProcedure("PKG_SCTR_COBRANZAS.SPS_GENERA_PLANILLA_DOCUMENTO", parameters, ConnectionBase.enuTypeDataBase.OracleConciliacion)) { while (dr.Read()) { voucher = new State_voucher { SCAMPO = (dr["SCAMPO"] != null ? dr["SCAMPO"].ToString() : ""), SGRUPO = (dr["SGRUPO"] != null ? dr["SGRUPO"].ToString() : ""), SMENSAJE = (dr["SMENSAJE"] != null ? dr["SMENSAJE"].ToString() : ""), SVALOR = (dr["SVALOR"] != null ? dr["SVALOR"].ToString() : ""), BILLTYPE = (dr["SBILLTYPE"] != null ? dr["SBILLTYPE"].ToString() : ""), SBILING = (dr["SBILLING"] != null ? dr["SBILLING"].ToString() : ""), NINSUR_AREA = (dr["NINSUR_AREA"] != null ? dr["NINSUR_AREA"].ToString() : ""), NBILLNUM = (dr["NBILLNUM"] != null ? dr["NBILLNUM"].ToString() : ""), OPERADOR = (dr["SCORREO_OPE"] != null ? dr["SCORREO_OPE"].ToString() : "") }; state_Vouchers.Add(voucher); } Response.Data = state_Vouchers; Response.message = p_Message.Value.ToString(); if (!(pCode.Value.ToString() == "0")) { Response.Code = pCode.Value.ToString(); throw new Exception(p_Message.Value.ToString()); } } } catch (Exception ex) { throw new Exception(ex.Message); } return(Task.FromResult <ResponseControl>(Response)); }
public Task <bool> Insertar_Respuesta_FE(State_voucher _Voucher) { CultureInfo cultureInfo = new CultureInfo("es-PE"); bool exito = true; try { List <OracleParameter> parameters = new List <OracleParameter>(); parameters.Add(new OracleParameter("P_NINSUR_AREA", OracleDbType.Int64, _Voucher.NINSUR_AREA ?? string.Empty, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_SBILLTYPE", OracleDbType.Varchar2, _Voucher.BILLTYPE, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_SBILLING", OracleDbType.Varchar2, _Voucher.SBILING ?? string.Empty, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_NBILLNUM", OracleDbType.Int64, _Voucher.NBILLNUM, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_ADDRESS_SUBMIT", OracleDbType.Varchar2, _Voucher.OPERADOR, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_RESPONSE", OracleDbType.Varchar2, _Voucher.Resultado, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_STATUS", OracleDbType.Varchar2, _Voucher.status, ParameterDirection.Input)); parameters.Add(new OracleParameter("P_APPLICATION", OracleDbType.Varchar2, _Voucher.Application, ParameterDirection.Input)); var pCode = new OracleParameter("P_NCODE", OracleDbType.Int16, ParameterDirection.Output); var p_Message = new OracleParameter("P_SMESSAGE", OracleDbType.NVarchar2, ParameterDirection.Output); p_Message.Size = 2500; parameters.Add(pCode); parameters.Add(p_Message); _connectionBase.ExecuteByStoredProcedure("PKG_SCTR_COBRANZAS.SPS_INS_RESPONSE_FE", parameters, ConnectionBase.enuTypeDataBase.OracleConciliacion); bool flag = pCode.Value.ToString() == "0" ? true : false; if (!flag) { exito = false; throw new Exception(p_Message.Value.ToString()); } } catch (Exception ex) { throw new Exception(ex.Message); } return(Task.FromResult <bool>(exito)); }
public async void InsertarLogFE(State_voucher voucher) { voucher.status = (voucher.Resultado == "ok" ? "1" : "0"); voucher.Application = "CONCILIACIONES"; Boolean RptLog = await _cobranzasRepository.Insertar_Respuesta_FE(voucher); }