protected void ShowSelected() { var id = grid.SelectedIndex > -1 && grid.SelectedIndex < grid.DataKeys.Count ? Convert.ToInt32(grid.DataKeys[grid.SelectedIndex].Value) : -1; var intercalados = Intercalados.Get(); ShowResults(intercalados, id); }
protected void reorderDetalles_ItemReorder(object sender, ReorderListItemReorderEventArgs e) { if (grid.SelectedIndex < 0) { return; } if (e.NewIndex == 0) { return; // Salida de base } var intercalados = Intercalados.Get(); var selected = Convert.ToInt32(grid.DataKeys[grid.SelectedIndex].Value); var distribucion = DAOFactory.ViajeDistribucionDAO.FindById(selected); if (distribucion.RegresoABase && e.NewIndex == distribucion.EntregasTotalCountConBases) { return; // Regreso a base } var puntoEntrega = DAOFactory.PuntoEntregaDAO.FindById(cbPuntoEntrega.Selected); var intercalador = new Intercalador(DAOFactory); intercalador.Load(intercalados, Horas); intercalador.CambiarIndice(selected, puntoEntrega, e.NewIndex); Intercalados.Set(intercalador.Intercalados); ShowSelected(); }
protected void SetResults(List <Intercalado> intercalados) { ColorViaje.Set(null); Intercalados.Set(intercalados); grid.DataSource = intercalados; grid.DataBind(); grid.SelectedIndex = intercalados == null ? -1 : 0; ShowSelected(); }
protected void btGuardar_Click(object sender, EventArgs e) { try { var intercalados = Intercalados.Get(); var id = grid.SelectedIndex > -1 && grid.SelectedIndex < grid.DataKeys.Count ? Convert.ToInt32(grid.DataKeys[grid.SelectedIndex].Value) : -1; if (id <= 0) { return; } var viaje = DAOFactory.ViajeDistribucionDAO.FindById(id); Intercalado intercalado = intercalados.FirstOrDefault(i => i.Id == id); var nuevoDetalle = new EntregaDistribucion { Viaje = viaje, PuntoEntrega = DAOFactory.PuntoEntregaDAO.FindById(cbPuntoEntrega.Selected) }; nuevoDetalle.Cliente = nuevoDetalle.PuntoEntrega.Cliente; nuevoDetalle.Descripcion = nuevoDetalle.PuntoEntrega.Descripcion; nuevoDetalle.Orden = intercalado.Index; nuevoDetalle.Programado = intercalado.Hora; nuevoDetalle.TipoServicio = DAOFactory.TipoServicioCicloDAO.FindById(cbTipoServicio.Selected); viaje.InsertarEntrega(intercalado.Index, nuevoDetalle); DAOFactory.ViajeDistribucionDAO.SaveOrUpdate(viaje); ShowInfo("La entrega se ha intercalado correctamente"); if (InformarPorMail) { try { SendMail(); } catch (Exception ex) { STrace.Exception("Intercalador de Entregas", ex); ShowError("La entrega se ha intercalado correctamente, pero no se pudo enviar el mail"); } } BtnSearchClick(sender, e); } catch (Exception ex) { ShowError(ex); } }
public Intercalado CambiarIndice(int idViaje, PuntoEntrega nuevoPunto, int nuevoIndice) { var viaje = Viajes.FirstOrDefault(v => v.Id == idViaje); if (viaje == null) { return(null); } var intercalado = Intercalados.FirstOrDefault(i => i.Id == idViaje); if (intercalado == null) { return(null); } intercalado.Index = nuevoIndice; CalcularDirectionsIntercalado(intercalado, nuevoPunto); return(intercalado); }