public static List <Vendedor> ObtenerVendedoresPorFecha(DateTime fecha) { if (fecha == null) { fecha = DateTime.Today; } var vendedoresPresentes = new List <string>(); try { using (var connection = new SqlConnection(AccesoDB.SqlPreventa)) { SqlParameter[] parameters = { new SqlParameter("@pFechaDesde", fecha), new SqlParameter("@pFechaHasta", fecha.AddDays(1)) }; var query = @"select p.usuario from posiciongps p inner join vendedores v on p.usuario = v.usuario where fecha >= @pFechaDesde and fecha < @pFechaHasta and v.borrado = 0 group by p.usuario"; var command = AccesoDB.CrearComando(connection, query, CommandType.Text, parameters); connection.Open(); using (var dr = command.ExecuteReader()) { while (dr.Read()) { vendedoresPresentes.Add(dr.GetString(0)); } } } } catch (Exception ex) { throw new Exception("Error al obtener vendedores. " + ex.Message + "\n\nCtrlVend_ObtenerVendedoresPorFecha"); } var vendedores = new List <Vendedor>(); foreach (var codigo in vendedoresPresentes) { var vendedor = ControladorVendedores.ObtenerVendedor(codigo); ControladorZonas.CargarZonasDelVendedor(vendedor, fecha); vendedores.Add(vendedor); } return(vendedores); }
public static void CargarClientes(Vendedor vendedor, DateTime dia, ModoClientesRuteo modo) { try { if (vendedor.Zonas.Count == 0) { ControladorZonas.CargarZonasDelVendedor(vendedor, dia); } vendedor.CantidadClientes = 0; foreach (var zona in vendedor.Zonas) { ControladorZonas.CargarClientes(zona, modo); vendedor.CantidadClientes += zona.Clientes.Count; } } catch (Exception ex) { throw ex; } }