Esempio n. 1
0
        public void GuardarHit(int idArbol, int idUsuario)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                HitConsulta hit = new HitConsulta
                {
                    IdTipoArbolAcceso = new BusinessArbolAcceso().ObtenerArbolAcceso(idArbol).IdTipoArbolAcceso,
                    IdArbolAcceso     = idArbol,
                    IdUsuario         = idUsuario,
                    IdUbicacion       = new BusinessUbicacion().ObtenerUbicacionUsuario(new BusinessUsuarios().ObtenerUsuario(idUsuario).IdUbicacion).Id,
                    IdOrganizacion    = new BusinessOrganizacion().ObtenerOrganizacionUsuario(new BusinessUsuarios().ObtenerUsuario(idUsuario).IdOrganizacion).Id,
                    HitGrupoUsuario   = new List <HitGrupoUsuario>(),
                    FechaHoraAlta     = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture)
                };
                foreach (GrupoUsuarioInventarioArbol guia in new BusinessArbolAcceso().ObtenerGruposUsuarioArbol(idArbol))
                {
                    hit.HitGrupoUsuario.Add(new HitGrupoUsuario
                    {
                        IdRol             = guia.IdRol,
                        IdGrupoUsuario    = guia.IdGrupoUsuario,
                        IdSubGrupoUsuario = guia.IdSubGrupoUsuario
                    });
                }

                if (hit.Id == 0)
                {
                    db.HitConsulta.AddObject(hit);
                }
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 2
0
        public void GuardarHit(int idArbol, int idTipoUsuario, int?idUsuario)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                new BusinessArbolAcceso().HitArbolAcceso(idArbol);
                ArbolAcceso arbol = new BusinessArbolAcceso().ObtenerArbolAcceso(idArbol);
                HitConsulta hit   = new HitConsulta
                {
                    IdTipoArbolAcceso = arbol.IdTipoArbolAcceso,
                    IdArbolAcceso     = idArbol,
                    IdTipoUsuario     = idTipoUsuario,
                    IdUsuario         = idUsuario.HasValue ? idUsuario : null,
                    IdUbicacion       = idUsuario.HasValue ? new BusinessUbicacion().ObtenerUbicacionUsuario(new BusinessUsuarios().ObtenerUsuario(int.Parse(idUsuario.ToString())).IdUbicacion).Id : (int?)null,
                    IdOrganizacion    = idUsuario.HasValue ? new BusinessOrganizacion().ObtenerOrganizacionUsuario(new BusinessUsuarios().ObtenerUsuario(int.Parse(idUsuario.ToString())).IdOrganizacion).Id : (int?)null,
                    HitGrupoUsuario   = new List <HitGrupoUsuario>(),
                    FechaHoraAlta     = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture)
                };
                foreach (GrupoUsuarioInventarioArbol guia in new BusinessArbolAcceso().ObtenerGruposUsuarioArbol(idArbol))
                {
                    hit.HitGrupoUsuario.Add(new HitGrupoUsuario
                    {
                        IdRol             = guia.IdRol,
                        IdGrupoUsuario    = guia.IdGrupoUsuario,
                        IdSubGrupoUsuario = guia.IdSubGrupoUsuario
                    });
                }

                DateTime   fechaTicket = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd"), "yyyy-MM-dd", CultureInfo.InvariantCulture);
                Frecuencia frecuencia  = db.Frecuencia.SingleOrDefault(s => s.IdTipoUsuario == arbol.IdTipoUsuario && s.IdTipoArbolAcceso == arbol.IdTipoArbolAcceso && s.IdArbolAcceso == arbol.Id && s.Fecha == fechaTicket);
                if (frecuencia == null)
                {
                    frecuencia = new Frecuencia
                    {
                        IdTipoUsuario     = arbol.IdTipoUsuario,
                        IdTipoArbolAcceso = arbol.IdTipoArbolAcceso,
                        IdArbolAcceso     = arbol.Id,
                        NumeroVisitas     = 1,
                        Fecha             = fechaTicket,
                        UltimaVisita      = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture)
                    };
                    db.Frecuencia.AddObject(frecuencia);
                }
                else
                {
                    frecuencia.NumeroVisitas++;
                    frecuencia.UltimaVisita = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture);
                }

                if (hit.Id == 0)
                {
                    db.HitConsulta.AddObject(hit);
                }
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
        }