public bool Eliminar() { using (SqlConnection conexion = new SqlConnection()) { SqlTransaction transaccion = null; conexion.ConnectionString = Config.ConnectionString; try { conexion.Open(); transaccion = conexion.BeginTransaction(); this.EstadoAgencia = SisPack.EstadoAgencia.Baja; Config.Conexion.EjecutarSinResultados("PuntoRecepcionDEL", this.PuntoRecepcionID, (int)this.EstadoAgencia); if (!this.oDomicilio.Eliminar(transaccion)) { transaccion.Rollback(); return(false); } //Hacer UPD a la tablas: DestinoFleteUnidadVentaTEMP OrigenDestinoFleteUVta oFleteUvta = new OrigenDestinoFleteUVta(); oFleteUvta.UnidadNegocio = this.unidadNegocioID; oFleteUvta.PuntoRecepcionID = this.PuntoRecepcionID; oFleteUvta.ActualizarOrigenDestinoUVta(transaccion); transaccion.Commit(); return(true); } catch (Exception ex) { //guardar en el log transaccion.Rollback(); throw ex; } } }
public bool Guardar() { using (SqlConnection conexion = new SqlConnection()) { SqlTransaction transaccion = null; conexion.ConnectionString = Config.ConnectionString; try { conexion.Open(); transaccion = conexion.BeginTransaction(); if (!this.oDomicilio.Guardar(transaccion)) { transaccion.Rollback(); return(false); } if (this.PuntoRecepcionID == 0) { /*if (this.Codigo == "" || this.Codigo == null) * { * this.Codigo = Config.Conexion.EjecutarResultadoUnico(transaccion, "GetCodigoPuntoRecepcion", this.Empresa.EmpresaID).ToString(); * if (this.SucursalDGI == "") * { * transaccion.Rollback(); * return false; * } * }*/ this.PuntoRecepcionID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "PuntoRecepcionINS", Utiles.BaseDatos.IntToSql(this.EmpresaTercerosID), this.RazonSocial, Utiles.BaseDatos.StrToSql(this.Nombre), Utiles.BaseDatos.StrToSql(this.Email), Utiles.BaseDatos.IntToSql(this.AgenciaReferenciaRedespacho), this.EsReceptora, this.Domicilio.DomicilioID, this.Responsable.ResponsableID, this.EntregaDomicilio, Utiles.BaseDatos.IntToSql(this.EmpresaTercerosEntregaID), Utiles.BaseDatos.IntToSql(this.TarifarioRetiroEntregaID), (int)this.EstadoAgencia)); } else { Config.Conexion.EjecutarSinResultados(transaccion, "PuntoRecepcionUPD", this.PuntoRecepcionID, this.Codigo, Utiles.BaseDatos.IntToSql(this.EmpresaTercerosID), this.RazonSocial, Utiles.BaseDatos.StrToSql(this.Nombre), Utiles.BaseDatos.StrToSql(this.Email), Utiles.BaseDatos.IntToSql(this.AgenciaReferenciaRedespacho), this.EsReceptora, this.Domicilio.DomicilioID, this.Responsable.ResponsableID, this.EntregaDomicilio, Utiles.BaseDatos.IntToSql(this.EmpresaTercerosEntregaID), Utiles.BaseDatos.IntToSql(this.TarifarioRetiroEntregaID), (int)this.EstadoAgencia); } /*if (this.EsEmisora) * { * OrigenFlete origen=new OrigenFlete(); * this.Empresa.Consultar(); * origen.GuardarAgencia(transaccion,this.AgenciaID,this.Empresa.UnidadNegocio.UnidadNegocioID); * }*/ if (this.EsReceptora) { DestinoFlete destino = new DestinoFlete(); destino.GuardarPuntoRecepcion(transaccion, this.PuntoRecepcionID, this.UnidadNegocioID); } if (!this.LimpiarServicios(transaccion)) { transaccion.Rollback(); return(false); } if (this.ServiciosPuntoRecepcionCol.getCount() > 0) { this.ServiciosPuntoRecepcionCol.PuntoRecepcionID = this.PuntoRecepcionID; if (!this.ServiciosPuntoRecepcionCol.Guardar(transaccion)) { transaccion.Rollback(); return(false); } } //(si this.Emisora = true){Instancia de origenflete //orgienflete.guardarorigenAgencia(...)} //Instancia de destinoflete (si this.receptora = true) //destinoflete.guardaragencia( /*if(!this.GuardarHistorico(transaccion, usuario)) * { * transaccion.Rollback(); * return false; * }*/ //Hacer UPD a la tablas: OrigenFleteUnidadVentaTEMP, DestinoFleteUnidadVentaTEMP OrigenDestinoFleteUVta oFleteUvta = new OrigenDestinoFleteUVta(); oFleteUvta.UnidadNegocio = this.UnidadNegocioID; oFleteUvta.PuntoRecepcionID = this.PuntoRecepcionID; oFleteUvta.ActualizarOrigenDestinoUVta(transaccion); transaccion.Commit(); /*SFE: Se comenta porque para codigos postales ya no se necesitaria. se utiliza el store que esta despues*/ // Obtengo los datos actualizados, remuevo el cache viejo, y creo el nuevo caché con los nuevos datos // con esto logro que el tiempo se disminuya //DsDestinosGuias ds = new DsDestinosGuias(); //Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "UVentaModEntregaAgenciaDestinoSEL"); //CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.UnidadVentaMEntregaDestino.ToString()); //CacheDataManager.SetCacheValue(SisPack.CacheObjetos.UnidadVentaMEntregaDestino.ToString(), ds); //// Limpio de cache los datos para la emisión de la guía (new AdministrarGuias()).LimpiarCacheUVAgLocParaEmisionGuia(); /*SFE: Modificacion para consultar los servicios que puede recibir el punto de recepcion*/ // Obtengo los datos actualizados, remuevo el cache viejo, y creo el nuevo caché con los nuevos datos // con esto logro que el tiempo se disminuya DsDestinosGuiaServicios dsServicios = new DsDestinosGuiaServicios(); Config.Conexion.LlenarTypeDataSet(dsServicios.Datos, System.Data.CommandType.StoredProcedure, "UVentaModalidadEntregaServicioAgenciaDestinoSEL"); CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.ServiciosGuiaDestino.ToString()); CacheDataManager.SetCacheValue(SisPack.CacheObjetos.ServiciosGuiaDestino.ToString(), dsServicios); //Hay que sacar del cache los objetos relacionados con agencia: UVentaAgenciaOrigen, UVentaAgenciaDestino //CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.UVentaProductoServicioTEntregaMEntregaAgenciaOrigen.ToString()); //CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.UnidadVentaMEntregaDestino.ToString()); //Remover del cache las agencias //CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.Agencia.ToString()); return(true); } catch (Exception ex) { transaccion.Rollback(); throw ex; } } }