public void BindGridServicios(int currentPage) { try { SisPackController.AdministrarGrillas.Configurar(dtgServiciosAgrupados, "ServicioTransporteID", this.CantidadOpciones); DsServiciosAgrupados ds = new DsServiciosAgrupados(); DsServiciosAgrupados dsNuevos = new DsServiciosAgrupados(); if (Session["DsServiciosAgrupados"] != null) { //if (ds!=(DsServiciosAgrupados)Session["DsServiciosAgrupados"]) ds = (DsServiciosAgrupados)Session["DsServiciosAgrupados"]; //esto es para que agregue } for (int i = 0; i <= ddlServicios.Items.Count - 1; i++) { //recorro la lista de servicios if (ddlServicios.Items[i].Selected) { DsServiciosAgrupados.DatosRow dr = ds.Datos.NewDatosRow(); DsServiciosAgrupados.DatosRow drNuevo = dsNuevos.Datos.NewDatosRow(); dr["ServicioTransporteDescrip"] = ddlServicios.Items[i].Value; drNuevo["ServicioTransporteDescrip"] = ddlServicios.Items[i].Value; //asigno el id del servicio y la descripcion dr["ServicioTransporteDescrip"] = ddlServicios.Items[i].Text; drNuevo["ServicioTransporteDescrip"] = ddlServicios.Items[i].Text; ds.Datos.Rows.Add(dr); //agrega los nuevos dsNuevos.Datos.Rows.Add(drNuevo); } } Session["DsServiciosAgrupados"] = ds; //lo asigno a la sesion Session["DsServiciosNuevosAgrupados"] = dsNuevos; //solo contiene los que se agregaron en esta sesion, por si los quiere eliminar dtgServiciosAgrupados.DataSource = ds.Datos; dtgServiciosAgrupados.PageSize = 20; if (currentPage > dtgServiciosAgrupados.PageSize) { currentPage = 0; } dtgServiciosAgrupados.CurrentPageIndex = currentPage; dtgServiciosAgrupados.DataBind(); //guarda los cambios en la base Guardar(); LlenarComboServicio(); } catch (Exception ex) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message); } }
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"); }