Exemplo n.º 1
0
        static void ReadDataSupervisor(IMessageHandling proxy)
        {
            // consultar lista de departamentos
            DepartamentQuery       dptQry    = new DepartamentQuery();
            DepartamentQueryResult dptQryRst = proxy.Handle(dptQry);

            Console.WriteLine("\nLeida lista de departamentos. Cantidad: " + dptQryRst.Coleccion.Count);
            foreach (var depart in dptQryRst.Coleccion)
            {
                Console.WriteLine(string.Format(" Leído Departamento Id: {0}\t Nombre: {1}", depart.Id, depart.Description));
            }

            // consultar claves mes existentes
            ClaveMesQuery       cmQry    = new ClaveMesQuery();
            ClaveMesQueryResult cmQryRst = proxy.Handle(cmQry);

            Console.WriteLine("\nClaves Mes registradas");
            foreach (var item in cmQryRst.Coleccion)
            {
                Console.WriteLine(string.Format(" Clave Mes: {0}", item.Texto));
            }

            // consultar asistencia para un mes y tres departamentos
            ClaveMes         mk      = cmQryRst.Coleccion[1];
            Collection <int> departs = new Collection <int>();

            departs.Add(dptQryRst.Coleccion[1].Id);
            departs.Add(dptQryRst.Coleccion[3].Id);
            departs.Add(dptQryRst.Coleccion[5].Id);

            AsistenciaQuery       asistQry    = new AsistenciaQuery(mk.Id, departs);
            AsistenciaQueryResult asistQryRst = proxy.Handle(asistQry);

            //Console.WriteLine("\nIncidencias en el Mes registradas: " + asistQryRst.Incidencias.Count);
            Console.WriteLine("\nAsistencias en el Mes registradas");
            Console.WriteLine(string.Format("Recibidos {0} empleados.", asistQryRst.Empleados.Count));
            // listando empleados
            foreach (var item in asistQryRst.Empleados)
            {
                Console.WriteLine(string.Format("Nombre: {0}\t Id: {1}\t Codigo: {2} Cant. Asistencias: {3}", item.Nombre, item.Id, item.Code, item.Asistencias.Count));
            }

            foreach (var empleado in asistQryRst.Empleados)
            {
                Console.WriteLine();
                Console.WriteLine(string.Format(" {0}", empleado.Nombre));

                foreach (var asist in empleado.Asistencias)
                {
                    Console.WriteLine(string.Format(" {0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", asist.State, asist.Id, asist.Fecha, asist.DiaSemana, asist.ChekinTime, asist.ChekoutTime, asist.IncidenciaCausaId, asist.IncidenciaObservacion));
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Realiza la consulta de Asistencia.
        /// </summary>
        /// <param name="qry">Objeto con parámetros de consulta.</param>
        private static void ConsultarAsistencias(AsistenciaQuery qry)
        {
            const string methodName = "ConsultarAsistencias";

            try
            {
                Log.WriteEntry(ClassName, methodName, TraceEventType.Information, "Consultando Asistencias registradas.");

                AsistenciaQueryResult result = _proxy.Handle(qry);

                bdsTodosEmpleados.DataSource   = result.Empleados;
                bdsEmpleados.DataSource        = result.Empleados;
                bdsCausasIncidencia.DataSource = result.CausasIncidencias;
                // Actualizar etiqueta Mes en Form Edicion
                ActualizarFechaConsultaForm();

                Log.WriteEntry(ClassName, methodName, TraceEventType.Information, "Asistencias consultadas con exito.");
            }
            catch (Exception ex)
            {
                Log.WriteEntry(ClassName, methodName, TraceEventType.Error, string.Format("Error: {0}", ex.Message));
            }
        }
Exemplo n.º 3
0
        // Metodo de entrada de resultado
        public static void In_AsistenciaQueryResult(AsistenciaQueryResult result)
        {
            const string methodName = "In_AsistenciaQueryResult";

            try
            {
                FinEsperaPorTarea(TipoEspera.Consulta);

                bdsTodosEmpleados.DataSource   = result.Empleados;
                bdsEmpleados.DataSource        = result.Empleados;
                bdsCausasIncidencia.DataSource = result.CausasIncidencias;

                // Actualizar etiqueta Mes en Form Edicion
                ActualizarFechaConsultaForm();

                _editForm.TabNavigationMode(FormClient.TabNavigationStatus.Resultados);

                Log.WriteEntry(ClassName, methodName, TraceEventType.Information, "Asistencias consultadas con exito.");
            }
            catch (Exception ex)
            {
                Log.WriteEntry(ClassName, methodName, TraceEventType.Error, string.Format("Error: {0}", ex.Message));
            }
        }
Exemplo n.º 4
0
        public AsistenciaQueryResult Handle(AsistenciaQuery query)
        {
            // creando colecciones para respuesta

            //Collection<Incidencia> colIncidencias;
            Collection <Empleado>   colEmpleados;
            Collection <Asistencia> colAssist;

            // Lectura de toda la tabla
            Collection <CausaIncidencia> colCausasIncid = RetCausaIncidencia();

            // select Empleado handler de acuerdo a tipo de query
            switch (query.Mode)
            {
            case AsistenciaQuery.QueryMode.MesAnnoDepart:
            case AsistenciaQuery.QueryMode.ClaveMesDepart:
                colEmpleados = RetEmpleadosByDepart(query.Departamentos[0]);
                break;

            case AsistenciaQuery.QueryMode.MesAnnoListDepart:
            case AsistenciaQuery.QueryMode.ClaveMesListDepart:
            default:
                colEmpleados = RetEmpleadosByDepart(query.Departamentos);
                break;
            }

            // select Asistencia handler de acuerdo a tipo de query
            switch (query.Mode)
            {
            case AsistenciaQuery.QueryMode.MesAnnoDepart:
                colAssist = GetRegistroAsistenciaMes(query.Mes, query.Anno, query.Departamentos[0]);

                break;

            case AsistenciaQuery.QueryMode.ClaveMesDepart:
                colAssist = GetRegistroAsistenciaMes(query.MesId, query.Departamentos[0]);
                break;

            case AsistenciaQuery.QueryMode.MesAnnoListDepart:
                colAssist = GetRegistroAsistenciaMes(query.Mes, query.Anno, query.Departamentos);
                break;

            case AsistenciaQuery.QueryMode.ClaveMesListDepart:
            default:
                colAssist = GetRegistroAsistenciaMes(query.MesId, query.Departamentos);
                break;
            }

            // enlazando Empleados y Asistencias
            //colIncidencias = new Collection<Incidencia>();

            foreach (var empl in colEmpleados)
            {
                IEnumerable <Asistencia> assistByEmpl = colAssist.Where(a => a.UserId == empl.Id);
                // Asignando asistencias a cada empleado por su Id
                empl.Asistencias = new Collection <Asistencia>(assistByEmpl.ToArray());

                // actualizando Descriptor de Causa de Incidencia en  Asistencias
                foreach (var asist in empl.Asistencias)
                {
                    if (asist.IncidenciaRef != null)
                    {
                        // lookup improvisado
                        int incId = asist.IncidenciaCausaId;
                        var desc  = colCausasIncid.Where(c => c.Id == incId).First();
                        asist.IncidenciaCausaDesc = desc.Description;
                    }
                }
            }

            // Creando conjunto de datos de retorno
            //AsistenciaQueryResult ret = new AsistenciaQueryResult(colCausasIncid, colIncidencias, colEmpleados);
            AsistenciaQueryResult ret = new AsistenciaQueryResult(colCausasIncid, colEmpleados);


            // retornando
            return(ret);
        }
Exemplo n.º 5
0
        static void ReadDataJefeGrupo(IMessageHandling proxy)
        {
            // consultar dept del usuario
            UserDepartamentQuery       dptQry    = new UserDepartamentQuery(_userID);
            UserDepartamentQueryResult dptQryRst = proxy.Handle(dptQry);

            Console.WriteLine(string.Format(" Leído Departamento Id: {0}\t Nombre: {1}", dptQryRst.Id, dptQryRst.Name));
            // consultar claves mes existentes
            ClaveMesQuery       cmQry    = new ClaveMesQuery();
            ClaveMesQueryResult cmQryRst = proxy.Handle(cmQry);

            Console.WriteLine("\nClaves Mes registradas");
            foreach (var item in cmQryRst.Coleccion)
            {
                Console.WriteLine(string.Format(" Clave Mes: {0}", item.Texto));
            }
            // consultar asistencia para un mes y departamento del usuario
            // aislar datos de mes
            ClaveMes mk = cmQryRst.Coleccion[0];

            AsistenciaQuery       asistQry    = new AsistenciaQuery(mk.Id, dptQryRst.Id);
            AsistenciaQueryResult asistQryRst = proxy.Handle(asistQry);

            // guardando ref a incidencias recibidas
            //Console.WriteLine("\nIncidencias en el Mes registradas: " + asistQryRst.Incidencias.Count);

            _asistencias = new Collection <Asistencia>();

            Console.WriteLine("\nAsistencias en el Mes registradas");
            Console.WriteLine(string.Format("Recibidos {0} empleados.", asistQryRst.Empleados.Count));
            // listando empleados
            foreach (var item in asistQryRst.Empleados)
            {
                Console.WriteLine(string.Format("Nombre: {0}\t Id: {1}\t Codigo: {2} Cant. Asistencias: {3}", item.Nombre, item.Id, item.Code, item.Asistencias.Count));
            }

            Console.WriteLine("\nAsistencias por trabajador");

            foreach (var empleado in asistQryRst.Empleados)
            {
                Console.WriteLine();
                Console.WriteLine(string.Format(" {0}", empleado.Nombre));

                foreach (var asist in empleado.Asistencias)
                {
                    Console.WriteLine(string.Format(" {0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", asist.State, asist.Id, asist.Fecha, asist.DiaSemana, asist.ChekinTime, asist.ChekoutTime, asist.IncidenciaCausaId, asist.IncidenciaObservacion));

                    if (asist.Id == 177)
                    {
                        _asist01 = asist;
                    }
                    if (asist.Id == 232)
                    {
                        _asist02 = asist;
                    }
                    if (asist.Id == 342)
                    {
                        _asist03 = asist;
                    }
                    if (asist.Id == 452)
                    {
                        _asist04 = asist;
                    }
                }
            }

            _asistencias.Add(_asist01);
            _asistencias.Add(_asist02);
            _asistencias.Add(_asist03);
            _asistencias.Add(_asist04);
        }