/// <summary> /// Método encargado de Insertar la Evidencia del Documento /// </summary> /// <param name="id_servicio">Servicio</param> /// <param name="id_servicio_ce">Servicio Control Evidencia</param> /// <param name="id_segmento">Segmento</param> /// <param name="id_segmento_ce">Segmento Control Evidencia</param> /// <param name="id_hoja_instruccion_doc">Documento de la Hoja de Instrucción</param> /// <param name="id_lugar_cobro">Lugar de Cobro</param> /// <param name="documento">Documento</param> /// <param name="id_sesion">Sesión del Usuario que Actualiza el Registro</param> /// <returns></returns> public string InsertaControlEvidenciaDocumento(int id_servicio, int id_servicio_ce, int id_segmento, int id_segmento_ce, int id_hoja_instruccion_doc, int id_lugar_cobro, string documento, int id_sesion) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Instanciando la Sesión de Usuario using (SAT_CL.Seguridad.UsuarioSesion user_sesion = new SAT_CL.Seguridad.UsuarioSesion(id_sesion)) { //Validando que la Sesión este Activa if (user_sesion.habilitar && user_sesion.EstatusSesion == SAT_CL.Seguridad.UsuarioSesion.Estatus.Activo) { //Instanciando Hoja de Instruccion Documento using (HojaInstruccionDocumento hid = new HojaInstruccionDocumento(id_hoja_instruccion_doc)) { //Validando que exista el Documento if (hid.habilitar) { //Declarando Variables de Obtención de Formatos //(Si es original, se niega valor de copia) bool bit_copia = hid.id_copia_original == 1 ? false : true; //(Si es copia, se nieva valor de original) bool bit_original = hid.id_copia_original == 2 ? false : true; //Realizando actualización result = ControlEvidenciaDocumento.InsertaControlEvidenciaDocumento(id_servicio_ce, id_servicio, id_segmento_ce, id_segmento, (byte)hid.id_tipo_documento, ControlEvidenciaDocumento.EstatusDocumento.Imagen_Digitalizada, hid.id_hoja_instruccion_documento, 0, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro(), id_lugar_cobro, bit_original, bit_copia, hid.bit_sello, 0, "", user_sesion.id_usuario); //Validando la Operación if (result.OperacionExitosa) { //Obteniendo Parada int idRegistro = result.IdRegistro; //Instanciando Servicio Control Evidencia using (ServicioControlEvidencia ce = new ServicioControlEvidencia(ServicioControlEvidencia.TipoConsulta.IdServicio, id_servicio)) { //Actualizando estatus de Control de evidencia result = ce.ActualizaEstatusGeneralServicioControlEvidencia(user_sesion.id_usuario); //Validando la Operación if (result.OperacionExitosa) { //Instanciamos Segmento para obtenener información de las paradas using (SegmentoCarga objSegmento = new SegmentoCarga(id_segmento)) { //Instanciamos Parada de Inicio y Parada Fin using (Parada objParadaInicio = new Parada(objSegmento.id_parada_inicio), objParadaFin = new Parada(objSegmento.id_parada_fin)) { //Actualizando Ultima Actividad result = user_sesion.ActualizaUltimaActividad(); //Validando Operación Exitosa if (result.OperacionExitosa) { //Instanciando Servicio result = new RetornoOperacion(idRegistro); //Añadiendo resultado a mensaje final result = new RetornoOperacion(result.IdRegistro, string.Format("{0}: {1}", documento + " [" + objParadaInicio.descripcion + "-" + objParadaFin.descripcion + "] ", result.Mensaje), result.OperacionExitosa); //Completando Transacción trans.Complete(); } } } } } } } else { //Instanciando Excepción result = new RetornoOperacion("No Existe el Documento de la Hoja de Instrucción"); } } } else { //Instanciando Excepción result = new RetornoOperacion("La Sesión no esta Activa"); } } } //Devolviendo Resultado Obtenido return(result.ToXMLString()); }
/// <summary> /// Metotodo encargado de Recibir los Documentos /// </summary> private void aclaraDocumento() { //obteniendo filas seleccionadas GridViewRow[] Documentos = Controles.ObtenerFilasSeleccionadas(gvDocumentos, "chkVariosDocumentos"); //si hay vales seleccionados if (Documentos.Length > 0) { //Declaramos Objeto Resultado RetornoOperacion resultado = new RetornoOperacion(); //Declaramos Variable para almacenar el Id del documento string idDocumento = " "; //recorriendo cada uno de los detalles foreach (GridViewRow Documento in Documentos) { //Iniciamos Transacción using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Selecionamos Fila gvDocumentos.SelectedIndex = Documento.RowIndex; //Instanciamos Documento using (PaqueteEnvioDocumento objPaqueteDocumento = new PaqueteEnvioDocumento(Convert.ToInt32(gvDocumentos.SelectedDataKey.Value))) { //Validamos que es Estatus sea En Transito if (objPaqueteDocumento.estatus == PaqueteEnvioDocumento.EstatusPaqueteEnvioDocumento.Transito) { resultado = objPaqueteDocumento.ActualizaEstatusPaqueteEnvioDocumento(PaqueteEnvioDocumento.EstatusPaqueteEnvioDocumento.En_Aclaracion, ((Usuario)Session["usuario"]).id_usuario); //Asignamos Id del Documento idDocumento = resultado.IdRegistro.ToString(); //Si se Actualizo correctamente el estatus del paquete if (resultado.OperacionExitosa) { //Instanciamos Control Evidencia Docuemento using (ControlEvidenciaDocumento objControlEvidencia = new ControlEvidenciaDocumento(objPaqueteDocumento.id_control_evidencia_documento)) { //Instanciando registro documento using (ServicioControlEvidencia se = new ServicioControlEvidencia(ServicioControlEvidencia.TipoConsulta.IdServicioControlEvidencia, objControlEvidencia.id_servicio_control_evidencia)) { resultado = objControlEvidencia.ActualizaEstatusControlEvidenciaDocumento(ControlEvidenciaDocumento.EstatusDocumento.En_Aclaracion, ((Usuario)Session["usuario"]).id_usuario); //Validamos Actualización de Estatus if (resultado.OperacionExitosa) { //Actualizando estatus del Servicio Control de evidencia resultado = se.ActualizaEstatusGeneralServicioControlEvidencia(((Usuario)Session["usuario"]).id_usuario); } } } } //Mostramos Resultado Error lblError.Text = lblError.Text + idDocumento + " " + resultado.Mensaje + "<br>"; } } //Finalizando transacción if (resultado.OperacionExitosa) { scope.Complete(); } } } //Cargamos Paquete cargaPaquetesEnRecepcion(); //Cargamos Documentos cargaDocumentosDelPaquete(); //Inicializa Indices GRid View Controles.InicializaIndices(gvDocumentos); } }