예제 #1
0
        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);
        }
예제 #2
0
 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;
     }
 }