/// <returns>Retorna un booleano indicando si la operación se realizó con éxito.</returns> public bool GuardarDistribucion(IUsuarios usuario) { using (SqlConnection conexion = new SqlConnection()) { conexion.ConnectionString = Config.ConnectionString; SqlTransaction transaccion; try { // conexion.Open(); // transaccion = conexion.BeginTransaction(); conexion.Open(); //transaccion ; SqlCommand command = conexion.CreateCommand(); // Start a local transaction. transaccion = conexion.BeginTransaction(); // Must assign both transaction object and connection // to Command object for a pending local transaction command.Connection = conexion; command.Transaction = transaccion; //Reviso si estoy agregando o modificando un registro existente if (this.AgenciaCodigoPostalDistribID == 0) { this.AgenciaCodigoPostalDistribID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "AgenciaCodigoPostalDistribINS", Utiles.BaseDatos.IntToSql(this.AgenciaOrigenID), Utiles.BaseDatos.IntToSql(this.AgenciaOperativaID), Utiles.BaseDatos.IntToSql(this.TarifarioRetiroEntregaID))); if (this.Localidades.Count > 0) { for (int i = 0; i < Localidades.Count; i++) { LocalidadAgenciaCodigoPostal localidad = new LocalidadAgenciaCodigoPostal(); localidad.AgenciaCodigoPostalDistribID = this.AgenciaCodigoPostalDistribID; localidad.CodigoPostalID = this.Localidades[i].CodigoPostalID; localidad.LocalidadID = this.Localidades[i].LocalidadID; localidad.AgenciaOrigen = this.AgenciaOrigenID; localidad.AgenciaOperativo = this.AgenciaOperativaID; if (localidad.GuardarDistribucion(usuario, transaccion) == false) { transaccion.Rollback(); return(false); } ; } } if (this.UnidadesVentas.Count > 0) { for (int i = 0; i < UnidadesVentas.Count; i++) { UnidadVentaAgenciaCodigoPostal unidadVenta = new UnidadVentaAgenciaCodigoPostal(); unidadVenta.AgenciaCodigoPostalDistribID = this.AgenciaCodigoPostalDistribID; unidadVenta.UnidadVentaID = this.UnidadesVentas[i].UnidadVentaID; unidadVenta.CategoriaUVentaID = this.UnidadesVentas[i].CategoriaUVentaID; if (unidadVenta.GuardarDistribucion(usuario, transaccion) == false) { transaccion.Rollback(); return(false); } } } } else { // Estoy Modificando un registro Config.Conexion.EjecutarSinResultados(transaccion, "AgenciaCodigoPostalDistribUPD", Utiles.BaseDatos.IntToSql(this.AgenciaCodigoPostalDistribID), Utiles.BaseDatos.IntToSql(this.AgenciaOrigenID), Utiles.BaseDatos.IntToSql(this.AgenciaOperativaID), Utiles.BaseDatos.IntToSql(this.TarifarioRetiroEntregaID), usuario.UsuarioID); if (this.Localidades.Count > 0) { for (int i = 0; i < Localidades.Count; i++) { LocalidadAgenciaCodigoPostal localidad = new LocalidadAgenciaCodigoPostal(); localidad.AgenciaCodigoPostalDistribID = this.AgenciaCodigoPostalDistribID; localidad.CodigoPostalID = this.Localidades[i].CodigoPostalID; localidad.LocalidadID = this.Localidades[i].LocalidadID; localidad.AgenciaOrigen = this.AgenciaOrigenID; localidad.AgenciaOperativo = this.AgenciaOperativaID; if (localidad.GuardarDistribucion(usuario, transaccion) == false) { transaccion.Rollback(); return(false); } ; } } if (this.UnidadesVentas.Count > 0) { for (int i = 0; i < UnidadesVentas.Count; i++) { UnidadVentaAgenciaCodigoPostal unidadVenta = new UnidadVentaAgenciaCodigoPostal(); unidadVenta.AgenciaCodigoPostalDistribID = this.AgenciaCodigoPostalDistribID; unidadVenta.UnidadVentaID = this.UnidadesVentas[i].UnidadVentaID; unidadVenta.CategoriaUVentaID = this.UnidadesVentas[i].CategoriaUVentaID; if (unidadVenta.GuardarDistribucion(usuario, transaccion) == false) { transaccion.Rollback(); return(false); } } } } transaccion.Commit(); CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.LocalidadEntrega.ToString()); try { CargarCache(); } catch (Exception ex) { //throw ex; } } catch (Exception ex) { //transaccion.Rollback(); //transaccion.Rollback(); throw ex; } finally { conexion.Close(); } return(true); } }
/// <returns>Retorna un booleano indicando si la operación se realizó con éxito.</returns> public bool Guardar(IUsuarios usuario) { using (SqlConnection conexion = new SqlConnection()) { SqlTransaction transaccion = null; conexion.ConnectionString = Config.ConnectionString; try { conexion.Open(); transaccion = conexion.BeginTransaction(); // Reviso si estoy agregando o modificando un registro existente if (this.AgenciaCodigoPostalID == 0) { this.AgenciaCodigoPostalID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "AgenciaCodigoPostalINS", Utiles.BaseDatos.IntToSql(this.AgenciaTerminalID), Utiles.BaseDatos.IntToSql(this.AgenciaDomicilioID), Utiles.BaseDatos.IntToSql(this.PuntoRecepcionTerminalID), Utiles.BaseDatos.IntToSql(this.PuntoRecepcionDomicilioID), Utiles.BaseDatos.IntToSql(this.TarifarioRetiroEntregaID), Utiles.BaseDatos.IntToSql(this.AgenciaReferenciaID))); if (this.Localidades.Count > 0) { for (int i = 0; i < Localidades.Count; i++) { LocalidadAgenciaCodigoPostal localidad = new LocalidadAgenciaCodigoPostal(); localidad.AgenciaCodigoPostalID = this.AgenciaCodigoPostalID; localidad.CodigoPostalID = this.Localidades[i].CodigoPostalID; localidad.LocalidadID = this.Localidades[i].LocalidadID; localidad.Guardar(usuario, transaccion); } } /*SFE: Comento lo de categoria, ahora voy a guardar la categoria, no la unidad de venta.*/ /*DM 01/11/2012 me fijo si tengo unidaddes de venta o categorias de UV*/ //if (categoriaUnVta) //{ // UnidadVenta uv = new UnidadVenta(); // for (int i = 0; i < UnidadesVentas.Count; i++) // { // /*DM 01/11/2012 Busco las UV pertenecientes a una categoria*/ // DsUnidadesVenta datos = // uv.GetUnidadesVentByCategoria(UnidadesVentas[i].UnidadVentaID); // for (int j = 0; j < datos.Tables[0].Rows.Count; j++) // { // UnidadVentaAgenciaCodigoPostal unidadVenta = new UnidadVentaAgenciaCodigoPostal(); // unidadVenta.AgenciaCodigoPostalID = this.AgenciaCodigoPostalID; // unidadVenta.UnidadVentaID = (int)datos.Tables[0].Rows[j]["UnidadVentaID"]; // unidadVenta.Guardar(usuario, transaccion); // } // } //} //else //{ if (this.UnidadesVentas.Count > 0) { for (int i = 0; i < UnidadesVentas.Count; i++) { UnidadVentaAgenciaCodigoPostal unidadVenta = new UnidadVentaAgenciaCodigoPostal(); unidadVenta.AgenciaCodigoPostalID = this.AgenciaCodigoPostalID; unidadVenta.UnidadVentaID = this.UnidadesVentas[i].UnidadVentaID; unidadVenta.CategoriaUVentaID = this.UnidadesVentas[i].CategoriaUVentaID; unidadVenta.Guardar(usuario, transaccion); } } //} } else { // Estoy Modificando un registro Config.Conexion.EjecutarSinResultados(transaccion, "AgenciaCodigoPostalUPD", Utiles.BaseDatos.IntToSql(this.AgenciaCodigoPostalID), Utiles.BaseDatos.IntToSql(this.AgenciaDomicilioID), Utiles.BaseDatos.IntToSql(this.AgenciaTerminalID), Utiles.BaseDatos.IntToSql(this.PuntoRecepcionTerminalID), Utiles.BaseDatos.IntToSql(this.PuntoRecepcionDomicilioID), Utiles.BaseDatos.IntToSql(this.TarifarioRetiroEntregaID), usuario.UsuarioID, Utiles.BaseDatos.IntToSql(this.AgenciaReferenciaID)); if (this.Localidades.Count > 0) { for (int i = 0; i < Localidades.Count; i++) { LocalidadAgenciaCodigoPostal localidad = new LocalidadAgenciaCodigoPostal(); localidad.AgenciaCodigoPostalID = this.AgenciaCodigoPostalID; localidad.CodigoPostalID = this.Localidades[i].CodigoPostalID; localidad.LocalidadID = this.Localidades[i].LocalidadID; localidad.Guardar(usuario, transaccion); } } /*SFE: Comento lo de categoria, ahora voy a guardar la categoria, no la unidad de venta.*/ /*DM 01/11/2012 me fijo si tengo unidaddes de venta o categorias de UV*/ //if (categoriaUnVta) //{ // if (this.UnidadesVentas.Count > 0) // { // UnidadVenta uv = new UnidadVenta(); // for (int i = 0; i < UnidadesVentas.Count; i++) // { // /*DM 01/11/2012 Busco las UV pertenecientes a una categoria*/ // DsUnidadesVenta datos = // uv.GetUnidadesVentByCategoria(UnidadesVentas[i].UnidadVentaID); // for (int j = 0; j < datos.Tables[0].Rows.Count; j++) // { // UnidadVentaAgenciaCodigoPostal unidadVenta = new UnidadVentaAgenciaCodigoPostal(); // unidadVenta.AgenciaCodigoPostalID = this.AgenciaCodigoPostalID; // unidadVenta.UnidadVentaID = (int)datos.Tables[0].Rows[j]["UnidadVentaID"]; // unidadVenta.Guardar(usuario, transaccion); // } // } // } //} //else //{ if (this.UnidadesVentas.Count > 0) { for (int i = 0; i < UnidadesVentas.Count; i++) { UnidadVentaAgenciaCodigoPostal unidadVenta = new UnidadVentaAgenciaCodigoPostal(); unidadVenta.AgenciaCodigoPostalID = this.AgenciaCodigoPostalID; unidadVenta.UnidadVentaID = this.UnidadesVentas[i].UnidadVentaID; unidadVenta.CategoriaUVentaID = this.UnidadesVentas[i].CategoriaUVentaID; unidadVenta.Guardar(usuario, transaccion); } } //} } transaccion.Commit(); CacheDataManager.RemoveCacheValue(SisPack.CacheObjetos.LocalidadEntrega.ToString()); try { CargarCache(); } catch (Exception ex) { //throw ex; } } catch (Exception ex) { transaccion.Rollback(); throw ex; } finally { conexion.Close(); } return(true); } }