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