public IEnumerable <Paciente> GetPacientesPlantilla(decimal idPlantilla, IEnumerable <decimal> usuarios, IEnumerable <decimal> areas, DateTime fechaInicio, DateTime fechaFin, decimal tipoFecha)
        {
            using (Tracer t = new Tracer())
            {
                t.TraceVerbose("GetPacientesPlantilla idPlantilla: [{0}], usuarios: [{1}], areas: [{2}], fechaFin: [{3}], fechaInicio: [{4}]",
                               string.Join(",", idPlantilla), string.Join(",", usuarios), areas, fechaInicio, fechaFin);

                List <Paciente> pacientes = new List <Paciente>();

                string usuariosList = GetList(usuarios);
                string areasList    = GetList(areas);

                try
                {
                    EstspPacientesPlantillaSelResult wsPacientes = null;

                    using (WsplantillaestadisticaWebClient wsClient = new WsplantillaestadisticaWebClient())
                    {
                        wsPacientes = wsClient.estspPacientesPlantillaSel
                                      (
                            idPlantilla,
                            usuariosList,
                            areasList,
                            fechaInicio,
                            fechaFin,
                            tipoFecha
                                      );

                        if (wsPacientes == null || wsPacientes.pacientes == null)
                        {
                            return(null);
                        }



                        foreach (var item in wsPacientes.pacientes)
                        {
                            Paciente paciente = new Paciente();

                            paciente.Nombre     = item.nombre;
                            paciente.IdPaciente = item.pacienteid;

                            pacientes.Add(paciente);
                        }
                    }
                }
                catch (Exception ex)
                {
                    String error = ex.Message;
                    Console.WriteLine("Error = " + error);
                    t.TraceError("Error = " + error);
                }

                return(pacientes);
            }
        }
        public IEnumerable <IncidenciaModulo> GetIncidenciasModulos(decimal idPlantilla, decimal idPaciente, IEnumerable <decimal> usuarios, IEnumerable <decimal> areas, DateTime fechaInicio, DateTime fechaFin, decimal tipoFecha)
        {
            //Codigo
            //Fecha
            //Variables
            //    Codigo
            //    Valor
            using (Tracer t = new Tracer())
            {
                t.TraceVerbose("GetIncidenciasModulos idPlantilla: [{0}], usuarios: [{1}], areas: [{2}], fechaFin: [{3}], fechaInicio: [{4}]",
                               string.Join(",", idPlantilla), string.Join(",", usuarios), areas, fechaInicio, fechaFin);

                string usuariosList = GetList(usuarios);
                string areasList    = GetList(areas);

                try
                {
                    EstspIncsmoduloPacienteSelResult wsPacientes = null;

                    using (WsplantillaestadisticaWebClient wsClient = new WsplantillaestadisticaWebClient())
                    {
                        wsPacientes = wsClient.estspIncsmoduloPacienteSel
                                      (
                            idPlantilla,
                            idPaciente,
                            usuariosList,
                            areasList,
                            fechaInicio,
                            fechaFin,
                            tipoFecha
                                      );

                        if (wsPacientes == null || !wsPacientes.incidencias.HasElements())
                        {
                            return(null);
                        }

                        return(wsPacientes.incidencias.Select(i => new IncidenciaModulo {
                            Fecha = i.fecha, IdPlantilla = i.codigo, IdPaciente = idPaciente
                        }));
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error = " + ex.Message);
                    t.TraceError("Error = " + ex.Message);

                    return(Enumerable.Empty <IncidenciaModulo>());
                }
            }
        }
        public IEnumerable <PlantillaEstadistica> GetPlantillas(IEnumerable <decimal> usuarios, IEnumerable <decimal> areas, DateTime fechaInicio, DateTime fechaFin, Contrato.Models.TipoFecha tipo)
        {
            using (Tracer t = new Tracer())
            {
                t.TraceVerbose("GetPlantillas usuarios: [{0}], areas: [{1}], fechaInicio: [{2}], fechaFin: [{3}], tipo: [{4}]",
                               string.Join(",", usuarios), string.Join(",", areas), fechaInicio, fechaFin, tipo.ToString());

                IEnumerable <PlantillaEstadistica> plantillas = new List <PlantillaEstadistica>();

                string usuariosList = GetList(usuarios);
                string areasList    = GetList(areas);

                try
                {
                    EstspPlantillasSelResult wsPlantillas = null;
                    using (WsplantillaestadisticaWebClient wsClient = new WsplantillaestadisticaWebClient())
                    {
                        wsPlantillas = wsClient.estspPlantillasSel(
                            usuariosList,
                            areasList,
                            fechaInicio,
                            fechaFin,
                            (int)tipo);
                    }

                    plantillas = ConvertirADTOLocal(wsPlantillas);
                }
                catch (Exception ex)
                {
                    String error = ex.Message;
                    Console.WriteLine("Error = " + error);
                    t.TraceError("Error = " + error);
                }

                return(plantillas);
            }
        }