Exemple #1
0
        public IHttpActionResult actualizarGeocerca([FromBody] Geocerca geocerca)
        {
            try
            {
                if (geocerca == null)
                {
                    return(BadRequest());
                }
                var msgCodes = new List <string>();
                var deviceId = GetDeviceId(Request);
                if (deviceId == null)
                {
                    return(Unauthorized());
                }

                DateTime horaentrada = DateTime.ParseExact(geocerca.horaentrada.ToString(), "yyyy-MM-dd-HH.mm.ss.fff", System.Globalization.CultureInfo.InvariantCulture);
                DateTime horasalida  = DateTime.ParseExact(geocerca.horariosalida.ToString(), "yyyy-MM-dd-HH.mm.ss.fff", System.Globalization.CultureInfo.InvariantCulture);

                EmpleadoDAO     empleado    = new EmpleadoDAO();     // emple //fecha
                DispositivoDAO  dispositivo = new DispositivoDAO();
                PuertaAccesoDAO puertas     = new PuertaAccesoDAO(); // puerta

                var device   = dispositivo.FindByImei(deviceId);
                var employee = empleado.FindEmpleadoByDevice(device);

                List <int> empresas = new List <int>();
                empresas.Add(employee.Empresa.Id);
                var          lineas = new int[] { };
                PuertaAcceso puerta = puertas.GetList(empresas, lineas).Where(x => x.Id.ToString().Equals(geocerca.idpuerta)).First();
                if (puerta != null)
                {
                    EventoAcceso entrada = new EventoAcceso();
                    entrada.Empleado = employee;
                    entrada.Alta     = DateTime.UtcNow;
                    entrada.Entrada  = true;

                    entrada.Fecha  = horaentrada.ToUniversalTime();
                    entrada.Puerta = puerta;

                    EventoAccesoDAO eventos = new EventoAccesoDAO();
                    eventos.Save(entrada);

                    EventoAcceso salida = new EventoAcceso();
                    salida.Empleado = employee;
                    salida.Alta     = DateTime.UtcNow;
                    salida.Entrada  = false;
                    salida.Fecha    = horasalida.ToUniversalTime();
                    salida.Puerta   = puerta;

                    eventos.Save(salida);
                }
                return(Ok(msgCodes.ToArray()));
            }
            catch (Exception error)
            {
                LogicTracker.App.Web.Api.Providers.LogWritter.writeLog(error);
                return(BadRequest());
            }
        }
Exemple #2
0
 public PuertaAccesoVo(PuertaAcceso puerta)
 {
     Id                = puerta.Id;
     Codigo            = puerta.Codigo;
     Descripcion       = puerta.Descripcion;
     ZonaAccesoEntrada = puerta.ZonaAccesoEntrada != null ? puerta.ZonaAccesoEntrada.Descripcion : string.Empty;
     ZonaAccesoSalida  = puerta.ZonaAccesoSalida != null ? puerta.ZonaAccesoSalida.Descripcion : string.Empty;
 }