public ResultadoProcedimientoVM registrarTramite(TramiteSimpleVM tramite) { ResultadoProcedimientoVM resultado = new ResultadoProcedimientoVM(); try { using (var bdConn = new OracleConnection(cadenaConexion)) { using (var bdCmd = new OracleCommand("PKG_TRAMITE.SP_REGISTRAR_TRAMITE", bdConn)) { bdCmd.CommandType = CommandType.StoredProcedure; bdCmd.Parameters.AddRange(ParametrosRegistroTramite(tramite)); bdConn.Open(); bdCmd.ExecuteNonQuery(); resultado.CodResultado = 1; resultado.NomResultado = "Registro Correctamente"; resultado.CodAuxiliar = int.Parse(bdCmd.Parameters["P_ID_TRAMITE"].Value.ToString()); bdConn.Close(); bdConn.Dispose(); } } } catch (Exception ex) { resultado.CodResultado = 0; resultado.NomResultado = ex.Message; } return(resultado); }
public JsonResult registrarTramiteSAT(int tipoPersona, int modalidad, int tramite, int procedimiento, int tipoDocumento, string nroDocumento, string apepat, string apemat, string nombres, string reciboPago, string email, string ruc, int autorizaEmail, string nroTelefono, string direccion, string nroactacontrol, string fechaacta, int diashabiles, string idMulta, string placa, string nroressancion, double montoinresol, string fechaResol, int flagpresentorecurso, int idbanco, string fechapago, string nrorecibo, double montocancelado, double montoenresol, int nrocuotas, HttpPostedFileBase[] files) { var codResultado = 0; var desResultado = ""; var codAuxiliar = 0; var desResultadoEx = ""; //seteando datos del tramite simple TramiteSimpleVM t = new TramiteSimpleVM(); t.TIPO_PERSONA = tipoPersona; t.IDMODALIDAD = modalidad; t.IDPROCEDIMIENTO = procedimiento; t.IDTIPODOCUMENTO = tipoDocumento; t.NRODOCUMENTO = nroDocumento; t.APEPAT = apepat; t.APEMAT = apemat; t.NOMBRES = nombres; t.NRORECIBOPAGO = ""; t.CORREOELECTRONICO = email; t.RUC = ruc; t.ID_TIPO_PERSONA = tipoPersona; t.AUTORIZA_EMAIL = autorizaEmail; t.NRO_TELEF = nroTelefono; t.DIRECCION = direccion; //seteando datos para el tramite SAT TramiteSATVM tramiteSAT = new TramiteSATVM(); tramiteSAT.ID_TRAMITE = 0; tramiteSAT.NRO_ACTA_CONTROL = nroactacontrol; tramiteSAT.FECHA_ACTA = fechaacta; tramiteSAT.DIAS_HABILES_ACTA = diashabiles; tramiteSAT.ID_MULTA = idMulta; tramiteSAT.PLACA = placa; tramiteSAT.NRO_RESOL_SANC = nroressancion; tramiteSAT.MONTO_IN_RESOL = montoinresol; tramiteSAT.FECHA_RESOLUCION = fechaResol; tramiteSAT.FLAG_PRESENTO_RECURSO = flagpresentorecurso; tramiteSAT.ID_BANCO = idbanco; tramiteSAT.FECHA_PAGO = fechapago; tramiteSAT.NRO_RECIBO = nrorecibo; tramiteSAT.MONTO_CANCELADO = montocancelado; tramiteSAT.MONTO_IN_RESOL = montoenresol; tramiteSAT.NRO_CUOTAS = nrocuotas; try { using (TransactionScope scope = new TransactionScope()) { var registroTramite = new TramiteSimpleBLL().registrarTramiteSimple(t); if (registroTramite.CodResultado == 1) { tramiteSAT.ID_TRAMITE = registroTramite.CodAuxiliar; var registroTramiteSAT = new TramiteSATBLL().registrarTramiteSAT(tramiteSAT); // if (registroTramiteSAT.CodResultado == 1)//registro tramite sat { int confirmacionCorreo = enviarCorreoTramiteSAT(t.CORREOELECTRONICO, t.NOMBRES + " " + t.APEPAT + " " + t.APEMAT, t.NRODOCUMENTO); codResultado = 1; desResultado = "El trámite fue registrado correctamente"; scope.Complete(); } else { codResultado = 0; desResultado = "Ocurrio un error en el registro del trámite SAT."; scope.Dispose(); } } else { codResultado = 0; desResultado = registroTramite.NomResultado; //desResultado = "Ocurrio un error en el registro del trámite virtual."; scope.Dispose(); } } } catch (Exception ex) { codResultado = 0; desResultado = "Ocurrio un error en el registro del trámite virtual."; desResultadoEx = ex.Message; } return(Json(new { codResultado = codResultado, desResultado = desResultado, codAuxiliar = codAuxiliar, resultadoex = desResultadoEx })); }
public JsonResult registrarTramite(int tipoPersona, int modalidad, int tramite, int procedimiento, int tipoDocumento, string nroDocumento, string apepat, string apemat, string nombres, string reciboPago, string email, string ruc, int autorizaEmail, string nroTelefono, string direccion, int idBanco, string fechaPago, HttpPostedFileBase[] files) { TramiteSimpleVM t = new TramiteSimpleVM(); t.TIPO_PERSONA = tipoPersona; t.IDMODALIDAD = modalidad; t.IDPROCEDIMIENTO = procedimiento; t.IDTIPODOCUMENTO = tipoDocumento; t.NRODOCUMENTO = nroDocumento; t.APEPAT = apepat; t.APEMAT = apemat; t.NOMBRES = nombres; t.NRORECIBOPAGO = reciboPago; t.CORREOELECTRONICO = email; t.RUC = ruc; t.ID_TIPO_PERSONA = tipoPersona; t.AUTORIZA_EMAIL = autorizaEmail; t.NRO_TELEF = nroTelefono; t.DIRECCION = direccion; t.PLACA = ""; t.IDBANCO = idBanco; t.FECHA_PAGO = fechaPago; //Verifica El nro del recibo if (t.NRORECIBOPAGO.Length > 0) { var resultadoBusqueda = new TramiteSimpleBLL().busqueda_recibo(t.NRORECIBOPAGO); if (resultadoBusqueda.CodResultado == 1) { return(Json(new { codResultado = 0, desResultado = resultadoBusqueda.NomResultado, codAuxiliar = 0, resultadoex = "" })); } } //Persona TRAMITE PersonaVM solicitante = new PersonaVM(); solicitante.NRO_DOCUMENTO = t.NRODOCUMENTO; solicitante.APELLIDO_PATERNO = t.APEPAT; solicitante.APELLIDO_MATERNO = t.APEMAT; solicitante.NOMBRES = t.NOMBRES; solicitante.direccion = ""; solicitante.NRO_RUC = t.RUC; solicitante.CORREO = t.CORREOELECTRONICO; //Busca persona en STD si no lo encuentra entonces lo crea //var resultadoBusqueda = new PersonaBLL().ConsultaPersonaSTD(t.NRODOCUMENTO); var codResultado = 0; var desResultado = ""; var codAuxiliar = ""; var resultadoex = ""; using (TransactionScope scope = new TransactionScope()) { var registroTramite = new TramiteSimpleBLL().registrarTramiteSimple(t); try { if (registroTramite.CodAuxiliar > 0) { #region registrar STD var personaSTD = new PersonaVM(); var empresaSTD = new EmpresaVM(); switch (t.TIPO_PERSONA) { case 1: //juridica #region consulta STD persona juridica si no lo encuentra entonces crea en STD empresaSTD = new EmpresaBLL().ConsultaEmpresaSTD(solicitante.NRO_RUC); // persona #endregion break; case 2: //persona natural #region consulta STD persona si no lo encuentra entonces crea en STD personaSTD = new PersonaBLL().ConsultaPersonaSTD(solicitante); // persona #endregion break; default: break; } //setea datos para STD segun tipo Persona STDVM resultadoExpediente = new STDVM(); switch (t.TIPO_PERSONA) { case 1: //juridica #region consulta STD persona juridica si no lo encuentra entonces crea en STD STDVM STD_JURIDICA = new STDVM() { IDUNIDAD_STD = 7, //unidad de la institucion CODPAIS = empresaSTD.CODPAIS, CODDPTO = empresaSTD.CODDPTO, CODPROV = empresaSTD.CODPROV, CODDIST = empresaSTD.CODDIST, DIRECCION_STD = personaSTD.direccion, NOMBRE = personaSTD.NOMBRES, ID_PROCEDIMIENTO = t.IDPROCEDIMIENTO, ID_PROVEEDOR = empresaSTD.ID_EMPRESA, //Proceso TUPA STD TIPO_EXPEDIENTE = 3, OBSERVACION = "PROCEDIMIENTO TUPA", }; resultadoExpediente = new ExpedienteBLL().creaSoloExpediente(STD_JURIDICA); #endregion break; case 2: //persona natural #region registra expediente en STD STDVM STD_NATURAL = new STDVM() { IDUNIDAD_STD = 7, //unidad de la institucion CODPAIS = personaSTD.CODPAIS, CODDPTO = personaSTD.CODDPTO, CODPROV = personaSTD.CODPROV, CODDIST = personaSTD.CODDIST, DIRECCION_STD = personaSTD.direccion, NOMBRE = personaSTD.NOMBRES, ID_PERSONA = personaSTD.ID_PERSONA, ID_PROCEDIMIENTO = t.IDPROCEDIMIENTO, //ID_PROVEEDOR = modelo.ID_EMPRESA, //Proceso TUPA STD TIPO_EXPEDIENTE = 3, OBSERVACION = "PROCEDIMIENTO TUPA", }; resultadoExpediente = new ExpedienteBLL().creaSoloExpediente(STD_NATURAL); #endregion break; default: break; } #endregion int contador = 0; try { var nombreArchivosSerializado = ""; foreach (HttpPostedFileBase file in files) { if (file != null) { contador++; var nombreArchivo = Path.GetFileName(file.FileName); var extensionArchivo = Path.GetExtension(file.FileName); var arrFileName = nombreArchivo.Split('.'); var nuevoNombreArchivoExcel = "tramite_" + registroTramite.CodAuxiliar.ToString() + "_archivo_" + contador.ToString() + extensionArchivo; var pathArchivo = Server.MapPath("~/Adjunto/tramites/" + nuevoNombreArchivoExcel); string pathFinal = Path.Combine(pathArchivo); file.SaveAs(pathFinal); nombreArchivosSerializado += nuevoNombreArchivoExcel + "|"; } } var ssid_exp = resultadoExpediente.NUMERO_SID.ToString() + "-" + resultadoExpediente.NUMERO_ANIO; var actualizacionNombresArchivo = new TramiteSimpleBLL().actualizarDataTramiteSimple(registroTramite.CodAuxiliar, nombreArchivosSerializado, resultadoExpediente.IDDOC, ssid_exp); codResultado = actualizacionNombresArchivo.CodResultado; desResultado = actualizacionNombresArchivo.NomResultado; if (codResultado == 1 && resultadoExpediente.IDDOC > 0) { scope.Complete(); if (t.AUTORIZA_EMAIL == 1) { var rptaEnvioCorreo = enviarCorreoSimple(solicitante.CORREO, solicitante.NOMBRES + " " + solicitante.APELLIDO_PATERNO + " " + solicitante.APELLIDO_MATERNO, solicitante.NRO_DOCUMENTO, resultadoExpediente.NUMERO_SID.ToString(), resultadoExpediente.NUMERO_ANIO); if (rptaEnvioCorreo == 0) { codResultado = 0; desResultado = "Ocurrio un error en el registro del trámite. (ERR5)"; scope.Dispose(); Conexion.finalizar(ref bdConn); } } codAuxiliar = resultadoExpediente.NUMERO_SID.ToString() + "-" + resultadoExpediente.NUMERO_ANIO; } else { codResultado = 0; desResultado = "Ocurrio un error en el registro del trámite.(ERR4)"; scope.Dispose(); Conexion.finalizar(ref bdConn); } } catch (Exception ex) { codResultado = 0; desResultado = "Ocurrio un error en la carga de archivos.(ERR3)"; resultadoex = ex.Message; scope.Dispose(); Conexion.finalizar(ref bdConn); } //codAuxiliar = registroTramite.CodAuxiliar; } else { codResultado = 0; desResultado = "Ocurrió un error en el registro del trámite."; scope.Dispose(); Conexion.finalizar(ref bdConn); } } catch (Exception ex) { codResultado = 0; desResultado = "Ocurrió un error en el registro del trámite.(ERR2)"; resultadoex = ex.Message; scope.Dispose(); Conexion.finalizar(ref bdConn); } } return(Json(new { codResultado = codResultado, desResultado = desResultado, codAuxiliar = codAuxiliar, resultadoex = resultadoex })); }
private OracleParameter[] ParametrosRegistroTramite(TramiteSimpleVM tramite) { OracleParameter[] bdParameters = new OracleParameter[19]; bdParameters[0] = new OracleParameter("P_ID_MODALIDAD", OracleDbType.Int32) { Value = tramite.IDMODALIDAD }; bdParameters[1] = new OracleParameter("P_ID_PROCEDIMIENTO", OracleDbType.Int32) { Value = tramite.IDPROCEDIMIENTO }; bdParameters[2] = new OracleParameter("P_TIPO_DOCUMENTO", OracleDbType.Int32) { Value = tramite.IDTIPODOCUMENTO }; bdParameters[3] = new OracleParameter("P_NRODOCUMENTO", OracleDbType.Varchar2) { Value = tramite.NRODOCUMENTO }; bdParameters[4] = new OracleParameter("P_NOMBRES", OracleDbType.Varchar2) { Value = tramite.NOMBRES }; bdParameters[5] = new OracleParameter("P_APEPAT", OracleDbType.Varchar2) { Value = tramite.APEPAT }; bdParameters[6] = new OracleParameter("P_APEMAT", OracleDbType.Varchar2) { Value = tramite.APEMAT }; bdParameters[7] = new OracleParameter("P_NRORECIBOPAGO", OracleDbType.Varchar2) { Value = tramite.NRORECIBOPAGO }; bdParameters[8] = new OracleParameter("P_CORREOELECTRONICO", OracleDbType.Varchar2) { Value = tramite.CORREOELECTRONICO }; bdParameters[9] = new OracleParameter("P_FECHACREACION", OracleDbType.Varchar2) { Value = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") }; bdParameters[10] = new OracleParameter("P_ID_TIPO_PERSONA", OracleDbType.Int32) { Value = tramite.ID_TIPO_PERSONA }; bdParameters[11] = new OracleParameter("P_RUC", OracleDbType.Varchar2) { Value = tramite.RUC }; bdParameters[12] = new OracleParameter("P_AUTORIZA_EMAIL", OracleDbType.Int32) { Value = tramite.AUTORIZA_EMAIL }; bdParameters[13] = new OracleParameter("P_NRO_TELEF", OracleDbType.Varchar2) { Value = tramite.NRO_TELEF }; bdParameters[14] = new OracleParameter("P_DIRECCION", OracleDbType.Varchar2) { Value = tramite.DIRECCION }; bdParameters[15] = new OracleParameter("P_PLACA", OracleDbType.Varchar2) { Value = tramite.PLACA }; bdParameters[16] = new OracleParameter("P_IDBANCO", OracleDbType.Int32) { Value = tramite.IDBANCO }; bdParameters[17] = new OracleParameter("P_FECHA_PAGO", OracleDbType.Varchar2) { Value = tramite.FECHA_PAGO }; bdParameters[18] = new OracleParameter("P_ID_TRAMITE", OracleDbType.Int32, direction: ParameterDirection.Output); return(bdParameters); }
public ResultadoProcedimientoVM registrarTramiteSimple(TramiteSimpleVM tramite) { TramiteSimpleDAL obj = new TramiteSimpleDAL(ref bdConn); return(obj.registrarTramite(tramite)); }