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 Coche GetGenerico(Empresa empresa, Transportista transportista) { var generico = "(Generico)"; if (transportista != null) { var descripcion = transportista.Descripcion.Length > 19 ? transportista.Descripcion.Substring(0, 19) : transportista.Descripcion; generico = "(Generico - " + descripcion + ")"; } var idEmpresa = empresa != null ? empresa.Id : -1; var coche = FindByInterno(new[] { idEmpresa }, new[] { -1 }, generico); if (coche != null && coche.Dispositivo != null) { return(coche); } if (coche == null) { var modeloDAO = new ModeloDAO(); var tipoCocheDAO = new TipoCocheDAO(); coche = new Coche { Empresa = empresa, Linea = null, Transportista = transportista, Interno = generico, IdentificaChoferes = true, AnioPatente = 2000, Modelo = modeloDAO.GetList(new[] { idEmpresa }, new[] { -1 }, new[] { -1 }).First() }; coche.Marca = coche.Modelo.Marca; coche.ModeloDescripcion = coche.Modelo.Descripcion; coche.NroChasis = generico; coche.NroMotor = generico; coche.Patente = generico; coche.Poliza = generico.Length > 16 ? generico.Substring(0, 16) : generico; coche.TipoCoche = tipoCocheDAO.FindByEmpresasAndLineas(new List <int> { idEmpresa }, new List <int> { -1 }, null) .Cast <TipoCoche>().First(); } if (coche.Dispositivo == null) { var dispositivoDAO = new DispositivoDAO(); coche.Dispositivo = dispositivoDAO.GetGenericDevice(empresa, transportista); } coche.Estado = Coche.Estados.Activo; SaveOrUpdate(coche); return(coche); }
private void QuitarDispositivo_Load(object sender, EventArgs e) { try { this.dataGridView1.DataSource = DispositivoDAO.LeerTodo(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// POST: api/Routes public IHttpActionResult Post(int id, [FromBody] String version) { try { var deviceId = GetDeviceId(Request); if (deviceId == null) { return(BadRequest()); } var mobileId = RouteService.GetMobileIdByImei(deviceId); DetalleDispositivoDAO detalle = new DetalleDispositivoDAO(); TipoParametroDispositivoDAO tipo = new TipoParametroDispositivoDAO(); DispositivoDAO dispositivodao = new DispositivoDAO(); var dispositivo = dispositivodao.FindByImei(deviceId); IList <DetalleDispositivo> lista = dispositivo.DetallesDispositivo.ToList(); DetalleDispositivo setVersion = null; foreach (var item in lista) { if (item.TipoParametro.Nombre.Equals("Version_Software") && item.TipoParametro.TipoDato == "string") { // dispositivo.DetallesDispositivo.Remove(item); //detalle.Delete(item); setVersion = item; setVersion.Valor = version; // dispositivodao.SaveOrUpdate(dispositivo); break; } } if (setVersion == null) { setVersion = new DetalleDispositivo(); TipoParametroDispositivoDAO tp = new TipoParametroDispositivoDAO(); setVersion.Dispositivo = dispositivo; setVersion.TipoParametro = tp.FindByTipoDispositivo(dispositivo.TipoDispositivo.Id).Where(x => x.Nombre.Equals("Version_Software")).FirstOrDefault(); setVersion.Valor = version; tp.SaveOrUpdate(setVersion.TipoParametro); dispositivo.DetallesDispositivo.Add(setVersion); } detalle.SaveOrUpdate(setVersion); dispositivodao.SaveOrUpdate(dispositivo); return(Ok("ok")); } catch (Exception error) { LogicTracker.App.Web.Api.Providers.LogWritter.writeLog(error); return(BadRequest()); } }
private IMessage Translate(SitrackFrame frame) { var deviceId = 0; if (frame.HolderDomain != null) { deviceId = FindDeviceId(frame.HolderDomain); } if (deviceId != 0 && deviceId != -1) { var pos = new GPSPoint { Lat = (float)frame.Latitude, Lon = (float)frame.Longitude, Date = frame.ReportDate.ToUniversalTime(), Speed = new Speed(frame.Speed), Course = new Course(frame.Course) }; if (frame.EventDesc != null) { var dispositivoDao = new DispositivoDAO(); var dispositivo = dispositivoDao.FindById(deviceId); var codeEvent = frame.EventId + 9000; var msgTraduccionDao = new MensajeTraducidoDAO(); var codeEventTraducido = msgTraduccionDao.GetCodigoFinal(dispositivo.Empresa.Id, codeEvent.ToString()); var evento = new Event(Convert.ToInt16(codeEventTraducido), -1, deviceId, (ulong)frame.EventId, pos, pos.GetDate(), "", null, true); return(evento); } var message = pos.ToPosition(deviceId, 0); return(message); } return(null); }
public void SaveAndUpdateSubEntidades(EntidadPadre entidad) { var todos = new[] { -1 }; var subEntidadDao = new SubEntidadDAO(); var dispositivoDao = new DispositivoDAO(); var subentidades = subEntidadDao.GetList(todos, todos, todos, new[] { entidad.Id }, todos, todos); foreach (var subentidad in subentidades) { subentidad.Empresa = entidad.Empresa; subentidad.Linea = entidad.Linea; subEntidadDao.SaveOrUpdate(subentidad); } var dispositivo = entidad.Dispositivo; dispositivo.Empresa = entidad.Empresa; dispositivoDao.SaveOrUpdate(dispositivo); SaveOrUpdate(entidad); }
private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { Dispositivos dispo = null; string nombre; if (MessageBox.Show("Esta seguro que desea eliminar el producto?", "Elimanando", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { nombre = dataGridView1.CurrentRow.Cells["Nombre"].Value.ToString(); for (int i = 0; i < fabricaAux.ListaDispositivos.Count; i++) { if (fabricaAux.ListaDispositivos[i].Nombre == nombre) { dispo = fabricaAux.ListaDispositivos[i]; break; } } try { if (fabricaAux - dispo) { this.dataGridView1.DataSource = null; this.dataGridView1.DataSource = DispositivoDAO.LeerTodo(); MessageBox.Show("Dispositivo eliminado con exito"); } else { MessageBox.Show("No se ha podido eliminar"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
// GET: api/Routes/1234567890A public IHttpActionResult Get(int id) { try { var deviceId = GetDeviceId(Request); if (deviceId == null) { return(BadRequest()); } var items = new List <Geocerca>(); PuertaAccesoDAO puertas = new PuertaAccesoDAO(); // puerta ReferenciaGeograficaDAO referencias = new ReferenciaGeograficaDAO(); EmpleadoDAO empleado = new EmpleadoDAO(); // emple //fecha DispositivoDAO dispositivo = new DispositivoDAO(); 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[] { }; List <PuertaAcceso> lista = puertas.GetList(empresas, lineas); foreach (var item in lista) { if (item.ReferenciaGeografica != null && !items.Exists(x => x.id.Equals(item.Id))) { if (item.ReferenciaGeografica.Id > id) { string radio = "50"; if (item.ReferenciaGeografica.Poligono != null) { radio = item.ReferenciaGeografica.Poligono.Radio.ToString(); } string calle = ""; string altura = ""; if (item.ReferenciaGeografica.Direccion != null) { calle = item.ReferenciaGeografica.Direccion.Calle; altura = item.ReferenciaGeografica.Direccion.Altura.ToString(); } items.Add(new Geocerca() { id = Convert.ToString(item.ReferenciaGeografica.Id), latitude = item.ReferenciaGeografica.Latitude.ToString(), nombre = item.Descripcion, radio = radio, longitude = item.ReferenciaGeografica.Longitude.ToString(), calle = calle, altura = altura, idpuerta = item.Id.ToString() }); } } } return(Ok(items.ToArray().OrderBy(item => item.id).ToArray())); } catch (Exception error) { LogicTracker.App.Web.Api.Providers.LogWritter.writeLog(error); return(BadRequest()); } }
static void Main(string[] args) { //Cambio el titulo de la consola Console.Title = "Agustin-Fernandez-2C"; //Creo la fabrica Fabrica fabrica = new Fabrica(); fabrica.HarcodearProductos(); //Harcodeo los dispositivos Dispositivos d1 = new Notebook("Notebook hp", 25, 500, Notebook.EModeloNotebook.HP); Notebook d2 = new Notebook("Notebook MAC", 1, 242424, Notebook.EModeloNotebook.Mac); Dispositivos d3 = new Celular("Huawei mate 10", 64, 15000, Celular.EModeloCelulares.Huawei); Celular d4 = new Celular("Samsung Note 10", 32, 40000, Celular.EModeloCelulares.Samsung); //Creo los hilos que simulan el harcodeo de mas dispositivos Thread hilo1 = new Thread(new ParameterizedThreadStart(Fabrica.AgregarCelularesAProduccion)); Thread hilo2 = new Thread(new ParameterizedThreadStart(Fabrica.AgregarNotebooksAProduccion)); try { if (DispositivoDAO.DeleteTodosLosDispositivos()) { Console.WriteLine("Se limpio la tabla"); } } catch (Exception e) { Console.WriteLine(e.Message); } //Tratamos de cargar los dispositivos try { //if ((fabrica - d1) && (fabrica - d2) && (fabrica - d3) && (fabrica - d4)) //{ // Console.WriteLine("Primero me aseguro de borrar si es que quedaron guardados de alguna anterior ejecucion"); //} if (fabrica + d1) { Console.WriteLine("Se cargo con exito el dispositivo 1"); } if (fabrica + d2) { Console.WriteLine("Se cargo con exito el dispositivo 2"); } if (fabrica + d3) { Console.WriteLine("Se cargo con exito el dispositivo 3"); } if (fabrica + d4) { Console.WriteLine("Se cargo con exito el dispositivo 4"); } //Cargo un dispositivo repetido Console.WriteLine("Ahora se trata de cargar un dispositivo repetido deberia tirar excepcion"); if (fabrica + d1) { Console.WriteLine("Se cargo con exito el dispositivo 1"); } } catch (DispositivoRepetidoException e) { Console.WriteLine(e.Message); } Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(); Console.Clear(); try { Console.WriteLine("Se trata de sacar un dispositivo de la lista con el operador -"); if (fabrica - d1) { Console.WriteLine("Dispositivo quitado con exito"); } } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(); Console.Clear(); try { Console.WriteLine("Se muestran los productos harcodeados y se crea el archivo .xml"); Console.WriteLine(); Console.WriteLine(fabrica.ToString()); Fabrica.Guardar(fabrica); } catch (ArchivosException e) { Console.WriteLine(e.Message); Console.WriteLine(e.InnerException.Message); } Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(); Console.Clear(); try { Console.WriteLine("Se guarda el archivo en .txt"); string path = String.Concat(AppDomain.CurrentDomain.BaseDirectory, "Fabrica.txt"); ArchivoTxt txt = new ArchivoTxt(); txt.Guardar(path, fabrica.ToString()); Console.WriteLine("Datos guardados con exito"); } catch (ArchivosException e) { Console.WriteLine(e.Message); Console.WriteLine(e.InnerException.Message); } Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(); Console.Clear(); try { hilo1.Name = "Hilo uno"; hilo2.Name = "Hilo dos"; Console.WriteLine("Se hardcodean 6 dispositivos de diferentes hilos"); hilo1.Start(fabrica); Thread.Sleep(5000); hilo2.Start(fabrica); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(); Console.Clear(); }
// GET: api/Routes/1234567890A public IHttpActionResult Get(int id) { try { var deviceId = GetDeviceId(Request); EmpleadoDAO empleado = new EmpleadoDAO();// emple //fecha DispositivoDAO dispositivo = new DispositivoDAO(); var device = dispositivo.FindByImei(deviceId); var employee = empleado.FindEmpleadoByDevice(device); var trip = RouteService.GetDistributionRouteById(id); if (trip == null) { return(NotFound()); } var route = new Route { Code = trip.Codigo, Id = trip.Id, Status = trip.Estado }; var jobs = new List <Job>(); foreach (var detail in trip.Detalles) { var job = new Job(); job.Id = detail.Id; job.StartDate = detail.Programado.ToString("yyyy-MM-ddTHH:mm:ss"); job.EndDate = detail.ProgramadoHasta.ToString("yyyy-MM-ddTHH:mm:ss"); job.State = detail.Estado == 3 ? 0 : detail.Estado; if (detail.PuntoEntrega != null && detail.PuntoEntrega.Descripcion != null) { job.Code = detail.PuntoEntrega.Codigo; job.Name = detail.PuntoEntrega.Descripcion; job.clienttype = detail.PuntoEntrega.Cliente.Descripcion; } else { if (detail.Cliente != null) { job.ClientName = detail.Cliente.Descripcion; job.Code = detail.Cliente.Codigo; } } if (detail.ReferenciaGeografica != null && detail.ReferenciaGeografica.Direccion != null && detail.ReferenciaGeografica.Direccion.Descripcion != null && !String.IsNullOrEmpty(detail.ReferenciaGeografica.Direccion.Calle)) { if (detail.ReferenciaGeografica.Direccion.Altura > 0) { job.direccionreal = detail.ReferenciaGeografica.Direccion.Calle.ToString() + " " + detail.ReferenciaGeografica.Direccion.Altura + " , " + detail.ReferenciaGeografica.Direccion.Partido; } else { job.direccionreal = detail.ReferenciaGeografica.Direccion.Descripcion; } } job.Description = detail.Descripcion; job.Order = detail.Orden; job.Location = new Location(); job.Volumen = (float)detail.Volumen; job.Quantity = detail.Bultos; job.Value = (float)detail.Valor; job.Weight = (float)detail.Peso; if (detail.PuntoEntrega != null) { job.Location.Latitude = (float)detail.PuntoEntrega.ReferenciaGeografica.Latitude; job.Location.Longitude = (float)detail.PuntoEntrega.ReferenciaGeografica.Longitude; } else { job.Location.Latitude = (float)detail.Linea.ReferenciaGeografica.Latitude; job.Location.Longitude = (float)detail.Linea.ReferenciaGeografica.Longitude; } if (detail.PuntoEntrega != null) { jobs.Add(job); } } route.Jobs = jobs.ToArray(); if (trip.Recepcion == null) { ViajeDistribucionDAO vd = new ViajeDistribucionDAO(); trip.Recepcion = DateTime.UtcNow; if (trip.Empleado == null) { trip.Empleado = employee; } vd.SaveOrUpdate(trip); } return(Ok(route)); } catch (Exception error) { LogicTracker.App.Web.Api.Providers.LogWritter.writeLog(error); return(BadRequest()); } }
//METODO CONSTRUTOR public DispositivoBO() { daoDispositivo = new DispositivoDAO(); boDivisao = new DivisaoBO(); boControle = new ControleBO(); }
public IHttpActionResult Get(int id) { try { var deviceId = GetDeviceId(Request); if (deviceId == null) { return(BadRequest()); } List <Rechazo> retorno = new List <Rechazo>(); var device = new DispositivoDAO().FindByImei(deviceId.ToString()); var empleado = new EmpleadoDAO().FindEmpleadoByDevice(device); TicketRechazoDAO dao = new TicketRechazoDAO(); var desde = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); var hasta = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); var activos = dao.GetByEmpleadoAndFecha(empleado, desde, hasta).AsQueryable(); List <TicketRechazo> list = activos.Where(x => !x.UltimoEstado.Equals(TicketRechazo.Estado.Resuelto) && x.Id > id).ToList(); foreach (TicketRechazo item in list) { TicketRechazo.Estado[] estados = TicketRechazo.Next(item.UltimoEstado); List <Estado> estadosmodel = new List <Estado>(); foreach (var itemEstado in item.Detalle) { string transportista = ""; if (item.Transportista != null) { transportista = item.Transportista.Descripcion.ToString(); } estadosmodel.Add(new Estado() { id = (int)itemEstado.Id, fechahora = itemEstado.FechaHora, empleado = itemEstado.Empleado.Entidad.Descripcion.ToString(), estado = itemEstado.Estado.ToString(), observacion = itemEstado.Observacion, transportista = transportista, enhorario = item.EnHorario.ToString(), cliente = item.Cliente.ToString(), }); } retorno.Add( new Rechazo() { id = item.Id, fechahora = item.FechaHora, motivo = item.Motivo.ToString(), estado = item.UltimoEstado.ToString(), bultos = item.Bultos.ToString(), codentrega = item.Entrega.Codigo, nombre = item.Entrega.Descripcion, vendedor = item.Vendedor.Entidad.Descripcion.ToString(), supventa = item.SupervisorVenta.Entidad.Descripcion.ToString(), supruta = item.SupervisorRuta.Entidad.Descripcion.ToString(), territorio = item.Territorio, estados = estadosmodel.ToArray(), usuariomobile = empleado.Entidad.Descripcion }); } return(Ok(retorno.ToArray())); } catch (Exception error) { LogicTracker.App.Web.Api.Providers.LogWritter.writeLog(error); return(BadRequest()); } }