public int Guardar(DsGuiasPendientesTrasbordo dsPendientes, bool modifica, int usuario) { using (SqlConnection conexion = new SqlConnection()) { SqlTransaction transaccion = null; conexion.ConnectionString = Config.ConnectionString; int estadoMovimiento = 0; int estadoEstatico = 0; try { conexion.Open(); transaccion = conexion.BeginTransaction(); if (this.PlanillaTrasbordoID == 0) //aun no ha sido creada { //seteo el estado de la planilla nueva a "Generada" this.EstadoPlanillaTrasbordoID = (int)SisPack.EstadoPlanillaTrasbordo.Generada; this.PlanillaTrasbordoID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "PlanillaTrasbordoINS", this.PlanillaTrasbordoDescrip, this.EstadoPlanillaTrasbordoID, this.AgenciaDestinoID, this.AgenciaOrigenID)); this.PlanillaTrasbordoNro = this.PlanillaTrasbordoID; } else { //si existe ya la planilla modifica los datos del encabezado Config.Conexion.EjecutarSinResultados(transaccion, "PlanillaTrasbordoUPD", this.PlanillaTrasbordoID, this.PlanillaTrasbordoDescrip, this.EstadoPlanillaTrasbordoID); } if (modifica) //si se modifica, se eliminan lo detalles existentes y se crean los nuevos //para cuando se habilite la modificacion { Config.Conexion.EjecutarSinResultados(transaccion, "PlanillaTrasbordoDetalleDEL", this.PlanillaTrasbordoID); } for (int i = 0; i < dsPendientes.Datos.Count; i++) { IPlanillaTrasbordoDetalle detalle = new PlanillaTrasbordoDetalle(); DsGuiasPendientesTrasbordo.DatosRow dr = (DsGuiasPendientesTrasbordo.DatosRow)dsPendientes.Datos.Rows[i]; detalle.GuiaID = dr.GuiaID; detalle.PlanillaTrasbordoID = this.PlanillaTrasbordoID; if (dr.Asignada == true) { //si fue asignada, toma un nuevo valor //En Planilla de Trasbordo (estado movimiento ) y ninguno en (estado movimiento) estadoMovimiento = (int)SisPack.ValorEstadoMovimiento.EnPlanillaTrasbordo; estadoEstatico = (int)SisPack.ValorEstadoEstatico.Ninguno; detalle.Guardar(transaccion, estadoMovimiento, estadoEstatico, dr.Asignada, this.AgenciaOrigenID, usuario); //solo guarda los asignados } } transaccion.Commit(); return(this.PlanillaTrasbordoID); } catch (Exception ex) { transaccion.Rollback(); throw ex; } } }
private bool Guardar() { //genera la nueva planilla de trasbordo y las guias elegidas pasan //a tener el estado "Trasbordadas" IPlanillaTrasbordo planilla = PlanillaTrasbordoFactory.GetPlanillaTrasbordoFactory(); planilla.PlanillaTrasbordoDescrip = txtDescripcion.Text.Trim(); planilla.AgenciaDestinoID = Utiles.Validaciones.obtieneEntero(busqAgencia.AgenciaID); planilla.AgenciaOrigenID = this.AgenciaConectadaID; //la agencia conectada es la agencia de origen de la planilla DsGuiasPendientesTrasbordo dsPendientes = new DsGuiasPendientesTrasbordo(); dsPendientes = (DsGuiasPendientesTrasbordo)Session["DsGuiasPendientes"]; foreach (DataGridItem item in dtgGuiasAsociadas.Items) { if (((CheckBox)item.FindControl("chkGuia")).Checked == true) { DsGuiasPendientesTrasbordo.DatosRow drGuia = (DsGuiasPendientesTrasbordo.DatosRow)dsPendientes.Datos.Rows[item.DataSetIndex]; drGuia.Asignada = true; hayAsignadas = true; } } if (hayAsignadas) { if (dsPendientes.Datos.Count > 0) { id = planilla.Guardar(dsPendientes, modifica, this.usuario.UsuarioID); } } else { throw new Exception("Debe elegir al menos una guía para generar la planilla"); } if (id > 0) //guardamos las tildadas { return(true); } else { return(false); } }
public void BindGrid(int currentPage) { DsGuiasPendientesTrasbordo ds = new DsGuiasPendientesTrasbordo(); //bindea la grilla con las guias pendientes de trasbordo if (Session["chkElegidas"] == null) { IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = this.AgenciaConectadaID; agencia.ConsultarBasicoByAgenciaID(); lblAgenciaConectadaDescrip.Text = agencia.Nombre; lblFechaActual.Text = DateTime.Now.ToShortDateString(); IGuia guias = GuiaFactory.GetGuia(); guias.AgenciaDestinoID = Utiles.Validaciones.obtieneEntero(busqAgencia.AgenciaID); AdministrarGrillas.Configurar(dtgGuiasAsociadas, "GuiaID", CantidadOpciones, true, false); ds = guias.GetGuiasPendTrasbordo(); if (ds.Datos.Count > 0) { butGenerar.Enabled = true; } dsGuias = ds; } else { this.dsGuias = (DsGuiasPendientesTrasbordo)Session["chkElegidas"]; foreach (DataGridItem item in dtgGuiasAsociadas.Items) { DsGuiasPendientesTrasbordo.DatosRow dr = (DsGuiasPendientesTrasbordo.DatosRow) this.dsGuias.Datos.Rows[item.DataSetIndex]; CheckBox chk = (CheckBox)item.FindControl("chkGuia"); dr.Asignada = chk.Checked; } } dtgGuiasAsociadas.DataSource = dsGuias; Session ["DsGuiasPendientes"] = dsGuias; Session["chkElegidas"] = dsGuias; dtgGuiasAsociadas.CurrentPageIndex = currentPage; dtgGuiasAsociadas.DataBind(); RegistrarScriptsGuias(); RegistrarInhabilitaAgencia(); }