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()); } }
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; }