private void butCancelar_Click(object sender, System.EventArgs e) { if ((agrupacionID != 0) && (txtAgrupacionID.Text == "")) //modo alta de nuevos serv { //borrar la que ya se agregó IAgrupacionesServicios agrup = AgrupacionesServiciosFactory.GetAgrupacionesServicios(); agrup.AgrupacionID = agrupacionID; agrup.Eliminar(); } else if ((agrupacionID != 0) && (txtAgrupacionID.Text != "")) //agrega nuevos a una agrupacion existente y cancela { DsServiciosAgrupados dsBaseDatos = new DsServiciosAgrupados(); DsServiciosAgrupados dsSession = new DsServiciosAgrupados(); DsServiciosAgrupados.DatosRow[] drBaseDatos = null; DsServiciosAgrupados.DatosRow drSession = null; IServiciosAgrupados servicios = ServiciosAgrupadosFactory.GetServiciosAgrupadosFactory(); servicios.AgrupacionID = agrupacionID; IAgrupacionesServicios agrupacion = AgrupacionesServiciosFactory.GetAgrupacionesServicios(); agrupacion.AgrupacionID = servicios.AgrupacionID; if (Session ["DsServiciosNuevosAgrupados"] != null) //solo si ha agregado algo en la ultima sesion { dsSession = (DsServiciosAgrupados)Session ["DsServiciosNuevosAgrupados"]; for (int j = 0; j < dsSession.Datos.Count; j++) { //elimino los servicios agregados en la ultima sesion si presiono cancelar //y habia agregado servicios, si no agrego nada sale drSession = (DsServiciosAgrupados.DatosRow)dsSession.Datos.Rows[j]; //copio lo que tengo en la sesion dsBaseDatos = (DsServiciosAgrupados)agrupacion.ConsultarServicios(); //trae el detalle de lo guardado //busco en el detalle el que agrego en esta session y lo elimino drBaseDatos = (DsServiciosAgrupados.DatosRow[])dsBaseDatos.Datos.Select("ServicioTransporteDescrip = '" + drSession.ServicioTransporteDescrip + "'"); if (drBaseDatos.Length > 0) //agrego algo? { servicios.ServicioAgrupadoID = drBaseDatos[0].ServicioAgrupadoID; servicios.Eliminar(); } } } } Session ["DsServiciosNuevosAgrupados"] = null; agrupacionID = 0; Response.Redirect("AgrupacionesServiciosConsul.aspx"); }
private void dtgServiciosAgrupados_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { try { //sacarlo de la grilla solamente SisPackController.AdministrarGrillas.Configurar(dtgServiciosAgrupados, "ServicioAgrupadoID", 10); DsServiciosAgrupados ds = new DsServiciosAgrupados(); DsServiciosAgrupados.DatosRow[] dr = null; if (Session["DsServiciosAgrupados"] != null) { ds = (DsServiciosAgrupados)Session["DsServiciosAgrupados"]; } if ((e.Item.Cells[0].Text) != " ") { dr = (DsServiciosAgrupados.DatosRow[])ds.Datos.Select("ServicioAgrupadoID = " + e.Item.Cells[0].Text); } else if ((e.Item.Cells[2].Text) != " ") { dr = (DsServiciosAgrupados.DatosRow[])ds.Datos.Select("ServicioTransporteDescrip = '" + e.Item.Cells[2].Text + "'"); /*int indice= ddlServicios.Items.IndexOf(ddlServicios.Items.FindByValue(dr[0].ServicioTransporteDescrip)); * ddlServicios.Items[indice].Selected=false;*/ } //tengo que eliminarlo de la bd porque debe volver a aparecer en el combo de los disponibles IServiciosAgrupados servicios = ServiciosAgrupadosFactory.GetServiciosAgrupadosFactory(); //lo elimino con el id si lo tengo, (cuando viene en modo editar) if (e.Item.Cells[2].Text != " ") { if (agrupacionID != 0) { servicios.AgrupacionID = agrupacionID; IAgrupacionesServicios agrupacion = AgrupacionesServiciosFactory.GetAgrupacionesServicios(); agrupacion.AgrupacionID = servicios.AgrupacionID; ds = (DsServiciosAgrupados)agrupacion.ConsultarServicios(); //trae el detalle, por si solo el encabezado no se usa //Session["DsServiciosAgrupados"]=ds; dr = (DsServiciosAgrupados.DatosRow[])ds.Datos.Select("ServicioTransporteDescrip = '" + e.Item.Cells[2].Text + "'"); servicios.ServicioAgrupadoID = dr[0].ServicioAgrupadoID; } } else if ((e.Item.Cells[0].Text) != " ") { servicios.ServicioAgrupadoID = dr[0].ServicioAgrupadoID; agrupacionID = servicios.AgrupacionID; } if (servicios.Eliminar()) { //vuelvo a llenar el combo con el servicio disponible this.LlenarComboServicio(); //lo elimino de la grilla ds.Datos.RemoveDatosRow(dr[0]); Session["DsServiciosAgrupados"] = ds; dtgServiciosAgrupados.DataSource = ds.Datos; dtgServiciosAgrupados.PageSize = 20; dtgServiciosAgrupados.CurrentPageIndex = 0; dtgServiciosAgrupados.DataBind(); //BindGrid(0); } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se pudo eliminar la asociación"); } //} // else //elimino una agrupacion cuando todavia no se ha guardado nada en la bd // { // //vuelvo a llenar el combo con el servicio disponible // this.LlenarComboServicio(); // //lo elimino de la grilla // ds.Datos.RemoveDatosRow(dr[0]); // Session["DsServiciosAgrupados"] = ds; // dtgServiciosAgrupados.DataSource = ds.Datos; // dtgServiciosAgrupados.PageSize=20; // dtgServiciosAgrupados.CurrentPageIndex=0; // dtgServiciosAgrupados.DataBind(); // // } } catch (Exception ex) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message); } }