/// <summary> ///Asocia un examne a un profresional. Inserta un registro en T591_FICEPIEXAMEN ///Si hay cambio de examen /// Borra el examen viejo de las vias (T585_EXAMENCERT) si es un examen no válido (t583_valido=0) o vía no válida (t001_idficepi!=null) /// Borra el examen viejo de T591_FICEPIEXAMEN /// Borra el examen viejo de T583_EXAMEN si es un examen no válido (t583_valido=0) /// </summary> /// <param name="tr"></param> /// <param name="idExamenOld"></param> /// <param name="idExamenNew"></param> /// <param name="nombre"></param> /// <param name="doc"></param> /// <param name="ndoc"></param> /// <param name="t001_idficepi"></param> /// <param name="fechaO"></param> /// <param name="fechaC"></param> /// <param name="t839_idestado"></param> /// <param name="t595_motivort"></param> /// <param name="t001_idficepiu"></param> /// <param name="bCambioDoc"></param> /// <param name="t583_valido"></param> /// <param name="t591_origenCVT"></param> /// <returns></returns> public static int AsignarProfesional(SqlTransaction tr, int t001_idficepi, int idExamenOld, int idExamenNew, string ndoc, string sUsuTick, Nullable <DateTime> fechaO, Nullable <DateTime> fechaC, char t839_idestado, bool t591_origenCVT, string sMotivo) { int iRes = idExamenNew; long?idDocAtenea = null; if (sUsuTick.Trim() != "")//Recupero el idDocumento de la tabla Temporal { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(tr, sUsuTick); idDocAtenea = oDoc.t2_iddocumento; } if (idExamenOld == -1)//Inserto en FICEPIEXAMEN el nuevo examen { SUPER.DAL.Examen.InsertarProf(tr, t001_idficepi, idExamenNew, ndoc, fechaO, fechaC, t839_idestado, t591_origenCVT, idDocAtenea, sMotivo); } else { if (idExamenNew == idExamenOld) { //Update FICEPIEXAMEN SUPER.DAL.Examen.ModificarProf(tr, t001_idficepi, idExamenNew, fechaO, fechaC, t839_idestado); if (idDocAtenea != null) {//Ha habido cambio de documento SUPER.DAL.Examen.PonerDocumento(tr, t001_idficepi, idExamenNew, (long)idDocAtenea, ndoc); } } else { //Borra el examen de las vías no validadas SUPER.DAL.Examen.BorrarVia(tr, idExamenOld, t001_idficepi); if (idDocAtenea == null) { //RECUPERO LOS DATOS DEL DOCUMENTO PARA ASIGNÁRSELOS AL NUEVO REGISTRO Examen oExamOld = SelectDoc(tr, idExamenOld, t001_idficepi); idDocAtenea = oExamOld.t2_iddocumento; } //Inserto en FICEPIEXAMEN el nuevo examen SUPER.DAL.Examen.InsertarProf(tr, t001_idficepi, idExamenNew, ndoc, fechaO, fechaC, t839_idestado, t591_origenCVT, idDocAtenea, sMotivo); //Borro de FICEPIEXAMEN el examen viejo. Lo hago en este orden (PRIMERO INSERTAR Y LUEGO BORRAR) //porque si primero borrara el examen viejo y el certificado sólo tuviera ese examen, por trigger sobre FICEPIEXAMEN //se borraría también el registro en FICEPICERT SUPER.DAL.Examen.DeleteAsistente(tr, idExamenOld, t001_idficepi); //Si el examen viejo era NO VALIDO, se borra el examen SUPER.DAL.Examen.DeleteNoValido(tr, idExamenOld); } } if (sUsuTick.Trim() != "") { //Marco el documento como asignado para que el trigger no lo borre de Atenea if (idDocAtenea != null) { SUPER.DAL.DocuAux.Asignar(tr, (long)idDocAtenea); } //Borro el documento de la tabla temporal SUPER.DAL.DocuAux.BorrarDocumento(tr, "E", sUsuTick); } return(iRes); }
public static DocuAux GetDocumento(SqlTransaction tr, string t686_usuticks) { DocuAux oDoc = new DocuAux(); SqlDataReader dr; SqlParameter[] aParam = new SqlParameter[] { ParametroSql.add("@t686_usuticks", SqlDbType.VarChar, 50, t686_usuticks) }; if (tr == null) { dr = SqlHelper.ExecuteSqlDataReader("SUP_DOCUAUX_S", aParam); } else { dr = SqlHelper.ExecuteSqlDataReaderTransaccion(tr, "SUP_DOCUAUX_S", aParam); } if (dr.Read()) { oDoc.t2_iddocumento = long.Parse(dr["t2_iddocumento"].ToString()); oDoc.t686_nombre = dr["t686_nombre"].ToString(); } dr.Close(); dr.Dispose(); return(oDoc); }
public string Grabar(int idTituloIdioma, int idFicepi, int idIdioma, string sDenTitulo, string sFecha, string sObs, string sCentro, string sDenDoc, string sCambioDoc, string sUsuTick, string sEstado, string sMotivo, string sEstadoIni, string sIdContentServer, string sEsMiCV) { string sRes = "OK@#@"; try { long?idDocAtenea = null; if (sUsuTick.Trim() != "")//Recupero el idDocumento de la tabla Temporal { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sUsuTick); idDocAtenea = oDoc.t2_iddocumento; } else { if (sIdContentServer != "") { idDocAtenea = long.Parse(sIdContentServer); } } TituloIdiomaFic.Grabar((idTituloIdioma == -1) ? null : (int?)idTituloIdioma, sDenTitulo, (sFecha == "") ? null : (DateTime?)DateTime.Parse(sFecha), //Fecha Obtencion sObs, sCentro, idFicepi, idIdioma, sDenDoc, bool.Parse(sCambioDoc), char.Parse(sEstado), sMotivo, (int)Session["IDFICEPI_ENTRADA"], //IDFICEPIU char.Parse(sEstadoIni), idDocAtenea, sEsMiCV); if (sUsuTick.Trim() != "") { //Marco el documento como asignado para que el trigger no lo borre de Atenea if (idDocAtenea != null) { SUPER.DAL.DocuAux.Asignar(null, (long)idDocAtenea); } //Borro el documento de la tabla temporal SUPER.DAL.DocuAux.BorrarDocumento(null, "T", sUsuTick); } } catch (Exception ex) { sRes = "Error@#@" + ex.Message; } return(sRes); }
public string Grabar(string t012_idtituloficepi, int idFicepi, string sIdTitulacion, string sTitulo, string sTipo, string sModalidad, string sTic, string sFinalizado, string sEspecialidad, string sCentro, string sInicio, string sFin, string sNombreDoc, string sNombreExp, string sObs, string sEstadoNuevo, string sMotivoR, string sCambioDoc, string sCambioExpte, string sEstadoInicial, string sOperacion, short idTitulacionIni, string sUsuTickTit, string sUsuTickExpte, string sIdContentServer, string sIdContentServerExpte, string sEsMiCV) { string sRes = "OK@#@"; try { long?idContentServer = null; long?idContentServerExpte = null; #region Atenea if (sUsuTickTit.Trim() != "" && sNombreDoc.Trim() != "")//Recupero el idDocumento de la tabla Temporal { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sUsuTickTit); idContentServer = oDoc.t2_iddocumento; } else { if (sIdContentServer != "") { idContentServer = long.Parse(sIdContentServer); } } if (sUsuTickExpte.Trim() != "" && sNombreExp.Trim() != "")//Recupero el idDocumento de la tabla Temporal { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sUsuTickExpte); idContentServerExpte = oDoc.t2_iddocumento; } else { if (sIdContentServerExpte != "") { idContentServerExpte = long.Parse(sIdContentServerExpte); } } #endregion TituloFicepi.Grabar((t012_idtituloficepi == "") ? null : (int?)int.Parse(t012_idtituloficepi), sTitulo, (sIdTitulacion == "") ? (short)-1 : short.Parse(sIdTitulacion), idFicepi, ((sTipo == "") ? null : (byte?)byte.Parse(sTipo)), ((sModalidad == "") ? null : (byte?)byte.Parse(sModalidad)), (sTic == "S") ? true : false, (sFinalizado == "S") ? true : false, sEspecialidad, sCentro, ((sInicio == "") ? null : (short?)short.Parse(sInicio)), ((sFin == "") ? null : (short?)short.Parse(sFin)), sNombreDoc, sNombreExp, sObs, char.Parse(sEstadoNuevo), sMotivoR, int.Parse(Session["IDFICEPI_ENTRADA"].ToString()), bool.Parse(sCambioDoc), bool.Parse(sCambioExpte), char.Parse(sEstadoInicial), sOperacion, idTitulacionIni, idContentServer, idContentServerExpte, sEsMiCV); if (sUsuTickTit.Trim() != "") { //Marco el documento como asignado para que el trigger no lo borre de Atenea if (idContentServer != null) { SUPER.DAL.DocuAux.Asignar(null, (long)idContentServer); } //Borro el documento de la tabla temporal SUPER.DAL.DocuAux.BorrarDocumento(null, "A", sUsuTickTit); } if (sUsuTickExpte.Trim() != "") { //Marco el documento como asignado para que el trigger no lo borre de Atenea if (idContentServerExpte != null) { SUPER.DAL.DocuAux.Asignar(null, (long)idContentServerExpte); } //Borro el documento de la tabla temporal SUPER.DAL.DocuAux.BorrarDocumento(null, "A", sUsuTickExpte); } } catch (Exception ex) { sRes = "Error@#@" + ex.Message; } return(sRes); }
public string Grabar(int idFicepi, int idCurso, string sDenCurso, string sDenDoc, string sUsuTick, string sFIni, string sFFin, string sProv, string sHoras, string sProveedor, string sEntorno, string sContenido, string sObs, string sTecnico, string sEstado, string sMotivo, string sOnLine, string sVisibleCV, string sEsMiCV, string sCambioDoc, string sEstadoInicial, string sIdContentServer) { string sRes = "OK@#@"; int idFicepiU = int.Parse(Session["IDFICEPI_ENTRADA"].ToString()); try { int? iCursoOnline = null; long?idDocAtenea = null; if (sUsuTick.Trim() != "" && sDenDoc.Trim() != "")//Recupero el idDocumento de la tabla Temporal { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sUsuTick); idDocAtenea = oDoc.t2_iddocumento; } else { if (sIdContentServer != "") { idDocAtenea = long.Parse(sIdContentServer); } } if (sOnLine == "S") { iCursoOnline = 77; } if (idCurso == -1) { Curso.Grabar(sDenCurso.Trim(), 3, 1, //Tipo (sFIni != "") ? (DateTime?)DateTime.Parse(sFIni) : null, //Fecha Inicio (sFFin != "") ? (DateTime?)DateTime.Parse(sFFin) : null, //Fecha Fin (sProv == "") ? null : (int?)int.Parse(sProv), //Provincia (sHoras != "") ? float.Parse(sHoras) : (float)0, //Horas sProveedor.Trim(), //Proveedor (Si hdnIdProveedor "" then T574_Direccion=Proveedor (sEntorno == "") ? null : (int?)int.Parse(sEntorno), //Entorno sContenido, sObs, //Observaciones asistente (sTecnico == "N") ? 0 : 1, //Tecnico-Competencias idFicepi, sDenDoc, char.Parse(sEstado), sMotivo, idFicepiU, iCursoOnline, (sVisibleCV == "N") ? false : true, idDocAtenea, sEsMiCV); } else { Curso.Update(idCurso, sDenCurso.Trim(), 3, 1, //Tipo (sFIni != "") ? (DateTime?)DateTime.Parse(sFIni) : null, //Fecha Inicio (sFFin != "") ? (DateTime?)DateTime.Parse(sFFin) : null, //Fecha Fin (sProv == "") ? null : (int?)int.Parse(sProv), //Provincia (sHoras != "") ? float.Parse(sHoras) : (float)0, //Horas sProveedor.Trim(), //Proveedor (Si hdnIdProveedor "" then T574_Direccion=Proveedor (sEntorno == "") ? null : (int?)int.Parse(sEntorno), //Entorno sContenido, sObs, (sTecnico == "N") ? 0 : 1, //Tecnico-Competencias idFicepi, sDenDoc, bool.Parse(sCambioDoc), char.Parse(sEstado), sMotivo, idFicepiU, char.Parse(sEstadoInicial), iCursoOnline, (sVisibleCV == "N") ? false : true, idDocAtenea, sEsMiCV); } if (sUsuTick.Trim() != "") { //Marco el documento como asignado para que el trigger no lo borre de Atenea if (idDocAtenea != null) { SUPER.DAL.DocuAux.Asignar(null, (long)idDocAtenea); } //Borro el documento de la tabla temporal SUPER.DAL.DocuAux.BorrarDocumento(null, "R", sUsuTick); } } catch (Exception ex) { sRes = "Error@#@" + ex.Message; } return(sRes); }
protected void Page_Load(object sender, EventArgs e) { #region Control de sesión if (Session["IDRED"] == null) { try { Response.Redirect("~/SesionCaducadaModal.aspx", true); } catch (System.Threading.ThreadAbortException) { return; } } #endregion string sTipo = Request.QueryString["sTipo"].ToString(); string[] sIDDOC = null; int nIDDOC = 0; switch (sTipo) { case "TIF": case "TAD": case "TAE": sIDDOC = Regex.Split(Request.QueryString["nIDDOC"].ToString(), "datos"); break; case "CVTCUR": case "CVTCUR_IMP": case "CVTEXAMEN": case "CVTCERT": case "CVTEXAMEN2": sIDDOC = Regex.Split(Request.QueryString["nIDDOC"].ToString(), "datos"); break; default: try { nIDDOC = int.Parse(Request.QueryString["nIDDOC"].ToString()); } catch (Exception e1) { string sError = "Descargar.aspx->Page_Load. Tipo=" + sTipo + " Id documento=" + Request.QueryString["nIDDOC"].ToString(); sError += " Ficepi=" + Session["IDFICEPI_PC_ACTUAL"].ToString() + " Error=" + e1.Message; throw (new Exception(sError)); } break; } #region Pruebas //string sPath = "", sNomFich=""; ////sPath = @"../../Upload/634527150288235168.txt"; ////sPath = Server.MapPath(@"/Upload/634527150288235168.txt"); ////sPath = @"d:\inetpub\wwwroot\SUPER\Upload\634527150288235168.txt"; //if (Request.QueryString["sPath"] != null) //{ // sNomFich = Utilidades.decodpar(Request.QueryString["sPath"].ToString()); // //sNomFich = "pepe.xml"; // //sPath = Server.MapPath(@"/SUPER/Upload/") + @"\" + sNomFich; // if (System.Configuration.ConfigurationManager.ConnectionStrings["ENTORNO"].ToString() == "D") // sPath = Server.MapPath(@"/SUPER/Upload/") + sNomFich; // else // sPath = Server.MapPath(@"/Upload/") + sNomFich; // //sPath = @"d:\inetpub\wwwroot\SUPER\Upload\634527150288235168.txt"; // //sPath = Server.MapPath(@"/Upload/634527150288235168.txt"); //} ////sPath = Server.MapPath(@"/Upload/634527150288235168.xml"); ////sNomFich = "634527150288235168.txt"; #endregion string sNombreArchivo = ""; byte[] ArchivoBinario = null; long? t2_iddocumento = null; Response.ClearContent(); Response.ClearHeaders(); Response.Buffer = true; if (Request.QueryString["descargaToken"] != null) { Response.AppendCookie(new HttpCookie("fileDownloadToken", Request.QueryString["descargaToken"].ToString())); //downloadTokenValue will have been provided in the form submit via the hidden input field } Response.ContentType = "application/octet-stream"; try { #region Leer archivo en función de la tabla solicitada switch (sTipo) { case "AS_T": //Asunto de Bitácora de TAREA DOCASU_T oDocAS_T = DOCASU_T.Select(null, nIDDOC); //, true); sNombreArchivo = oDocAS_T.t602_nombrearchivo; t2_iddocumento = oDocAS_T.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocAS_T.t602_archivo; break; case "AC_T": //Acción de Bitácora de TAREA DOCACC_T oDocAC_T = DOCACC_T.Select(null, nIDDOC); //, true); sNombreArchivo = oDocAC_T.t603_nombrearchivo; t2_iddocumento = oDocAC_T.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocAC_T.t603_archivo; break; case "AS_PT": //Asunto de Bitácora de PT DOCASU_PT oDocAS_PT = DOCASU_PT.Select(null, nIDDOC); //, true); sNombreArchivo = oDocAS_PT.t411_nombrearchivo; t2_iddocumento = oDocAS_PT.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocAS_PT.t411_archivo; break; case "AC_PT": //Acción de Bitácora de PT DOCACC_PT oDocAC_PT = DOCACC_PT.Select(null, nIDDOC); //, true); sNombreArchivo = oDocAC_PT.t412_nombrearchivo; t2_iddocumento = oDocAC_PT.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocAC_PT.t412_archivo; break; case "AS": //Asunto de Bitácora case "AS_PE": //Asunto de Bitácora DOCASU oDocAS = DOCASU.Select(null, nIDDOC); //, true); sNombreArchivo = oDocAS.t386_nombrearchivo; t2_iddocumento = oDocAS.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocAS.t386_archivo; break; case "AC": //Acción de Bitácora case "AC_PE": //Acción de Bitácora DOCACC oDocAC = DOCACC.Select(null, nIDDOC); //, true); sNombreArchivo = oDocAC.t387_nombrearchivo; t2_iddocumento = oDocAC.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocAC.t387_archivo; break; case "IAP_T": case "T": DOCUT oDocT = DOCUT.Select(null, nIDDOC); //, true); sNombreArchivo = oDocT.t363_nombrearchivo; t2_iddocumento = oDocT.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocT.t363_archivo; break; case "A": //Actividad DOCUA oDocA = DOCUA.Select(null, nIDDOC); //, true); sNombreArchivo = oDocA.t365_nombrearchivo; t2_iddocumento = oDocA.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocA.t365_archivo; break; case "F": //Fase DOCUF oDocF = DOCUF.Select(null, nIDDOC); //, true); sNombreArchivo = oDocF.t364_nombrearchivo; t2_iddocumento = oDocF.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocF.t364_archivo; break; case "PT": //Proyecto Técnico DOCUPT oDocPT = DOCUPT.Select(null, nIDDOC); //, true); sNombreArchivo = oDocPT.t362_nombrearchivo; t2_iddocumento = oDocPT.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocPT.t362_archivo; break; case "PE": //Proyecto Económico case "PSN": //Proyecto Económico DOCUPE oDocPE = DOCUPE.Select(null, nIDDOC); //, true); sNombreArchivo = oDocPE.t368_nombrearchivo; t2_iddocumento = oDocPE.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocPE.t368_archivo; break; case "PEF": //Espacio de acuerdo de Proyecto Económico DOC_ACUERDO_PROY oDocPEF = DOC_ACUERDO_PROY.Select(null, nIDDOC); //, true); sNombreArchivo = oDocPEF.t640_nombrearchivo; t2_iddocumento = oDocPEF.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocPEF.t640_archivo; break; case "HT": //Hito lineal case "HM": //Hito discontinuo DOCUH oDocH = DOCUH.Select(null, nIDDOC); //, true); sNombreArchivo = oDocH.t366_nombrearchivo; t2_iddocumento = oDocH.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocH.t366_archivo; break; case "HF": //Hito de fecha DOCUHE oDocHE = DOCUHE.Select(null, nIDDOC); //, true); sNombreArchivo = oDocHE.t367_nombrearchivo; t2_iddocumento = oDocHE.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocHE.t367_archivo; break; case "OF": //ORDEN DE FACTURACIÓN DOCUOF oDocOF = DOCUOF.Select(null, nIDDOC, true); sNombreArchivo = oDocOF.t624_nombrearchivo; t2_iddocumento = oDocOF.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocOF.t624_archivo; break; case "PL_OF": //PLANTILLA ORDEN DE FACTURACIÓN PLANTILLADOCUOF oDocPOF = PLANTILLADOCUOF.Select(null, nIDDOC); //, true); sNombreArchivo = oDocPOF.t631_nombrearchivo; t2_iddocumento = oDocPOF.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocPOF.t631_archivo; break; case "EC": //ESPACIO DE COMUNICACION DOCUEC oDocEC = DOCUEC.Select(null, nIDDOC); //, true); sNombreArchivo = oDocEC.t658_nombrearchivo; t2_iddocumento = oDocEC.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocEC.t658_archivo; break; case "DI": //DIALOGO DE ALERTA SUPER.Capa_Datos.DOCDIALOGO oDocDI = SUPER.Capa_Datos.DOCDIALOGO.Select(null, nIDDOC); //, true); sNombreArchivo = oDocDI.t837_nombrearchivo; t2_iddocumento = oDocDI.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocDI.t837_archivo; break; case "SC": //SOLICITUD DE CERTIFICADO SUPER.BLL.DOCSOLICITUD oDocSC = SUPER.BLL.DOCSOLICITUD.Select(null, nIDDOC); //, true); sNombreArchivo = oDocSC.t697_nombrearchivo; t2_iddocumento = oDocSC.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocSC.t697_archivo; break; case "CVTEXAMEN": //CURVIT EXAMEN if (Utilidades.isNumeric(sIDDOC[0].ToString())) { Examen oDocCVTE = Examen.SelectDoc(null, int.Parse(sIDDOC[0].ToString()), int.Parse(sIDDOC[1].ToString())); sNombreArchivo = oDocCVTE.T591_NDOC; //ArchivoBinario = oDocCVTE.T591_DOC; t2_iddocumento = oDocCVTE.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocCVTE.T591_DOC; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; case "CVTEXAMEN2": //DESDE VARIABLE DE SESIÓN. NO ESTÁ AÚN GRABADO... sNombreArchivo = sIDDOC[1]; ArchivoBinario = (byte[])Session[Utilidades.decodpar(sIDDOC[0])]; break; case "CVTCERT": //CURVIT CERTIFICADO if (Utilidades.isNumeric(sIDDOC[0].ToString())) { Certificado oDocCVTC = Certificado.SelectDoc(null, int.Parse(sIDDOC[0].ToString()), int.Parse(sIDDOC[1].ToString())); sNombreArchivo = oDocCVTC.T593_NDOC; //ArchivoBinario = oDocCVTC.T593_DOC; t2_iddocumento = oDocCVTC.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oDocCVTC.T593_DOC; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; case "TIF": //CURVIT TITULO IDIOMA FICEPI if (Utilidades.isNumeric(sIDDOC[0].ToString())) { TituloIdiomaFic o = TituloIdiomaFic.SelectDoc(null, int.Parse(sIDDOC[0].ToString())); sNombreArchivo = o.T021_NDOC; t2_iddocumento = o.t2_iddocumento; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; case "CVTCUR": //CURVIT CURSO RECIBIDOS if (Utilidades.isNumeric(sIDDOC[0].ToString())) { Curso oCurso = Curso.SelectDoc(null, int.Parse(sIDDOC[0].ToString()), int.Parse(sIDDOC[1].ToString())); sNombreArchivo = oCurso.T575_NDOC; //ArchivoBinario = oCurso.T575_DOC; t2_iddocumento = oCurso.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oCurso.T575_DOC; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; case "CVTCUR_IMP": //CURVIT CURSO IMPARTIDOS if (Utilidades.isNumeric(sIDDOC[0].ToString())) { Curso oCursoImp = Curso.SelectDoc2(null, int.Parse(sIDDOC[0].ToString()), int.Parse(sIDDOC[1].ToString())); sNombreArchivo = oCursoImp.T580_NDOC; //ArchivoBinario = oCursoImp.T580_DOC; t2_iddocumento = oCursoImp.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oCursoImp.T580_DOC; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; case "CVTDOCTIT": //CURVIT TITULACION DOCUMENTO TITULO Titulacion oTitulo = Titulacion.SelectDoc(null, nIDDOC, "Tit"); sNombreArchivo = oTitulo.NDOC; //ArchivoBinario = oTitulo.DOC; t2_iddocumento = oTitulo.t2_iddocumento; //if (t2_iddocumento == null) ArchivoBinario = oTitulo.DOC; break; case "CVTDOCEX": //CURVIT TITULACION DOCUMENTO EXPEDIENTE Titulacion oTitulo1 = Titulacion.SelectDoc(null, nIDDOC, "Ex"); sNombreArchivo = oTitulo1.NDOC; //ArchivoBinario = oTitulo1.DOC; t2_iddocumento = oTitulo1.t2_iddocumentoExpte; //if (t2_iddocumento == null) ArchivoBinario = oTitulo1.DOC; break; case "TAD": //CURVIT TITULO FICEPI if (Utilidades.isNumeric(sIDDOC[0].ToString())) { TituloFicepi o = TituloFicepi.Select(int.Parse(sIDDOC[0].ToString())); sNombreArchivo = o.T012_NDOCTITULO; t2_iddocumento = o.t2_iddocumento; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; case "TAE": //CURVIT Expediente TITULO FICEPI if (Utilidades.isNumeric(sIDDOC[0].ToString())) { TituloFicepi o = TituloFicepi.Select(int.Parse(sIDDOC[0].ToString())); sNombreArchivo = o.T012_NDOCEXPDTE; t2_iddocumento = o.t2_iddocumentoExpte; } else { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(null, sIDDOC[0].ToString()); sNombreArchivo = oDoc.t686_nombre; t2_iddocumento = oDoc.t2_iddocumento; } break; } #endregion if (t2_iddocumento != null) { ArchivoBinario = IB.Conserva.ConservaHelper.ObtenerDocumento((long)t2_iddocumento).content; } Response.AddHeader("Content-Disposition", "attachment; filename=\"" + sNombreArchivo + "\""); if (HttpContext.Current.Request.Browser.Browser.ToString() == "Chrome") { Response.AddHeader("Content-Length", "999999999999"); } Response.BinaryWrite(ArchivoBinario); if (Response.IsClientConnected) { Response.Flush(); } } catch (ConservaException cex) { this.hdnError.Value = Utilidades.MsgErrorConserva("R", cex); } //catch (System.Web.HttpException hexc) //{ //} catch (Exception ex) { this.hdnError.Value = "No se ha podido obtener el archivo.<br /><br />Error: " + ex.Message; if (ex.InnerException != null) { this.hdnError.Value += "<br />Detalle error: " + ex.InnerException.Message; } } //Response.Flush(); finally { if (this.hdnError.Value == "") { Response.Close(); //Response.End(); } } }
public int Grabar(int t001_idficepi, int idCertOld, int idCertNew, int idFicepiCert, string sDenDoc, string sUsuTick, string sEstado, string sMotivo, string sCertValido, string slExamenes, string sIdContentServer) { bool bTodosBorrados = true, bCertValido = false; /* En certificados un Encargado no puede validar pues se hará desde RRHH * Por tanto para un encargado, las opciones serán o enviar a validar o enviar a cumplimentar */ #region Inicio Transacción SqlConnection oConn; SqlTransaction tr; try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); } catch (Exception ex) { throw (new Exception("Error al abrir la conexion", ex)); } #endregion try { if (sCertValido == "S") { bCertValido = true; } if (sEstado != "") { if (idCertOld != -1 && idFicepiCert == -1) //Quiere ir a por un certificado sugerido { sEstado = "P"; //idCertNew = idCertOld; } } #region Tramitar certificado long?idDocAtenea = null; if (sUsuTick.Trim() != "")//Recupero el idDocumento de la tabla Temporal { SUPER.DAL.DocuAux oDoc = SUPER.DAL.DocuAux.GetDocumento(tr, sUsuTick); idDocAtenea = oDoc.t2_iddocumento; } if (idFicepiCert == -1 || idCertOld != idCertNew) { if (sEstado == "X" || sEstado == "Y") {//Si estaba pdte de anexar y lo vuelvo a enviar a validar, borro el motivo por el que el documento no era válido sMotivo = ""; } if (sUsuTick.Trim() == "") { if (sIdContentServer != "") { idDocAtenea = long.Parse(sIdContentServer); } } SUPER.BLL.Certificado.InsertarProfesional(tr, idCertNew, t001_idficepi, sDenDoc, idDocAtenea); //Si ha habido cambio de certificado comprobamos lo siguiente //1.- Que en FicepiCert no quede registro para ese certificado y ese profesional //2.- Que si el certificado es no válido (y por tanto provenía de propuesta del profesional) y no tiene ningún // FicepiCert colgando, hay que borrarlo de la tabla maestra de certificados if (idCertOld != idCertNew) { if (idCertOld != -1) { SUPER.BLL.Certificado.BorrarProfesional(tr, idCertOld, t001_idficepi); if (!bCertValido) { if (!SUPER.BLL.Certificado.TieneProfesionales(tr, idCertOld)) { SUPER.BLL.Certificado.DeleteNoValido(tr, idCertOld); } } } } } else {//Si solo ha cambiado el documento if (idDocAtenea != null) { SUPER.BLL.Certificado.PonerDocumento(tr, t001_idficepi, idCertNew, (long)idDocAtenea, sDenDoc); } } SUPER.BLL.Certificado.PonerMotivo(tr, t001_idficepi, idCertNew, sMotivo); if (sUsuTick.Trim() != "") { //Marco el documento como asignado para que el trigger no lo borre de Atenea if (idDocAtenea != null) { SUPER.DAL.DocuAux.Asignar(tr, (long)idDocAtenea); } //Borro el documento de la tabla temporal SUPER.DAL.DocuAux.BorrarDocumento(tr, "C", sUsuTick); } #endregion #region Borro examenes marcados para borrado y creo array con los restantes string[] aFilas = Regex.Split(slExamenes, "@exa@"); for (int i = 0; i < aFilas.Length; i++) { string[] aColumnas = Regex.Split(aFilas[i], "@col@"); if (aColumnas[1] == "D") {//Borrado de un examen SUPER.BLL.Examen.BorrarAsistente("B", t001_idficepi, int.Parse(aColumnas[0])); } else { bTodosBorrados = false; } } //Si el certificado se ha quedado sin exámenes, lo borramos if (bTodosBorrados) { SUPER.BLL.Certificado.DeleteNoValido(tr, idCertNew); } #endregion Conexion.CommitTransaccion(tr); return(idCertNew); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); throw ex; } finally { Conexion.Cerrar(oConn); } }