//--PERSONALIZACIÓN DE LA TIENDA-- public void PersonalizarTienda(Personalizacion pr, string idTienda) { try { chequearTienda(idTienda); using (var context = ChebayDBPublic.CreatePublic()) { var qPers = from per in context.personalizaciones where per.PersonalizacionID == idTienda select per; if (qPers.Count() == 0) //Si no existe personalización. { context.personalizaciones.Add(pr); context.SaveChanges(); } else //Si existe y hay que actualizarla. { Personalizacion p = qPers.FirstOrDefault(); p.datos = pr.datos; p.template = pr.template; p.backgroud_image = pr.backgroud_image; p.css = pr.css; context.SaveChanges(); } } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
//--ATRIBUTOS DE SESION ADMINISTRADOR-- public void AgregarAtributoSesion(AtributoSesion AtributoS) { using (var context = ChebayDBPublic.CreatePublic()) { //AtributoSesion atrs = context.atributossesion.Find(AtributoS.AtributoSesionID); var query = from a in context.administradores.Find(AtributoS.AdministradorID).atributosSesion where a.AtributoSesionID.Equals(AtributoS.AtributoSesionID) select a; Debug.WriteLine(AtributoS.AdministradorID + AtributoS.AtributoSesionID); if (query.Count() == 0) { Debug.WriteLine("Agregando atributo..."); context.atributossesion.Add(AtributoS); context.SaveChanges(); } else { //update Debug.WriteLine("Update atributo..."); query.First().Datos = AtributoS.Datos; context.SaveChanges(); } } }
public List <Tienda> ListarTiendas(string idAdmin) { try { using (var context = ChebayDBPublic.CreatePublic()) { var qAdmin = from adm in context.administradores where adm.AdministradorID == idAdmin select adm; Administrador a = qAdmin.FirstOrDefault(); var qTiendas = from tnd in context.tiendas select tnd; List <Tienda> aux = qTiendas.ToList(); List <Tienda> ret = new List <Tienda>(); foreach (Tienda t in aux) { if (t.administradores.Contains(a)) { ret.Add(t); } } return(ret); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public List <AtributoSesion> ObtenerAtributosSesion(string AdminID) { using (var context = ChebayDBPublic.CreatePublic()) { return(context.administradores.Find(AdminID).atributosSesion.ToList()); } }
//--ADMINISTRADORES-- public void AgregarAdministrador(Administrador admin) { try { if (admin == null) { throw new Exception("Debe pasar un administrador."); } using (var context = ChebayDBPublic.CreatePublic()) { var query = from adm in context.administradores where adm.AdministradorID == admin.AdministradorID select adm; if (query.Count() == 0) { context.administradores.Add(admin); context.SaveChanges(); Debug.WriteLine("Administrador " + admin.AdministradorID + " creado correctamente"); } else { throw new Exception("Ya existe un administrador " + admin.AdministradorID); } } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
void chequearTienda(string idTienda) { try { if (idTienda == null) { throw new Exception("Debe pasar una tienda."); } using (var context = ChebayDBPublic.CreatePublic()) { var qTienda = from t in context.tiendas where t.TiendaID == idTienda select t; if (qTienda.Count() == 0) { throw new Exception("No existe la tienda" + idTienda); } } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public bool ExisteTienda(string idTienda) { using (var c = ChebayDBPublic.CreatePublic()) { Tienda t = c.tiendas.Find(idTienda); if (t == null) { return(false); } } return(true); }
//--TIENDAS-- public void AgregarTienda(Tienda tienda, string idAdmin) { try { if (tienda == null) { throw new Exception("Debe pasar una tienda."); } using (var context = ChebayDBPublic.CreatePublic()) { var qAdmin = from ad in context.administradores where ad.AdministradorID == idAdmin select ad; if (tienda.administradores == null) { tienda.administradores = new HashSet <Administrador>(); } tienda.administradores.Add(qAdmin.FirstOrDefault()); Personalizacion p = new Personalizacion { PersonalizacionID = tienda.TiendaID, template = 1, algoritmo = null }; context.personalizaciones.Add(p); context.tiendas.Add(tienda); context.SaveChanges(); Debug.WriteLine("Creando schema..."); ChebayDBContext.ProvisionTenant(tienda.TiendaID); Debug.WriteLine("Tienda " + tienda.TiendaID + " creada con éxito."); //Crea la Categoria Raiz. var schema = ChebayDBContext.CreateTenant(tienda.TiendaID); CategoriaCompuesta raiz = new CategoriaCompuesta(); raiz.Nombre = "/"; raiz.hijas = new List <Categoria>(); schema.categorias.Add(raiz); schema.SaveChanges(); Debug.WriteLine("Categoría raíz de " + tienda.TiendaID + " creada con éxito."); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; //Dropear las tablas creadas. } }
public void EliminarAtributoSesion(string AdminID, string AtributoID) { using (var context = ChebayDBPublic.CreatePublic()) { var query = from s in context.atributossesion where s.AdministradorID.Equals(AdminID) && s.AtributoSesionID.Equals(AtributoID) select s; AtributoSesion atrs = query.FirstOrDefault(null); if (atrs != null) { context.atributossesion.Remove(atrs); } } }
public List <Tienda> ObtenerTodasTiendas() { try { using (var context = ChebayDBPublic.CreatePublic()) { var qTienda = from t in context.tiendas select t; return(qTienda.ToList()); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public void ActualizarAlgoritmoPersonalizacion(Personalizacion pers) { try { chequearTienda(pers.PersonalizacionID); using (var context = ChebayDBPublic.CreatePublic()) { Personalizacion p = context.personalizaciones.Find(pers.PersonalizacionID); p.algoritmo = pers.algoritmo; context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public bool AutenticarAdministrador(string idAdministrador, string passwd) //Devuelve true si es el password correcto para el usuario. { Debug.WriteLine("IDADMIN:" + idAdministrador); try { if (idAdministrador == null) { throw new Exception("Debe pasar el identificador de un administrador."); } if (passwd == null) { throw new Exception("Debe pasar una contraseña."); } using (var context = ChebayDBPublic.CreatePublic()) { var query = from admin in context.administradores where admin.AdministradorID.Equals(idAdministrador) select admin; if (query.Count() == 0) { throw new Exception("El nombre de usuario no es correcto."); } else { Administrador adm = query.FirstOrDefault(); if (adm != null && adm.password.Equals(passwd)) { Debug.WriteLine(idAdministrador + " ha sido correctamente autenticado."); return(true); } else { throw new Exception("La contraseña no es correcta."); } } } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public Tienda ObtenerTienda(string idTienda) { try { chequearTienda(idTienda); using (var context = ChebayDBPublic.CreatePublic()) { var query = from t in context.tiendas where t.TiendaID == idTienda select t; return(query.FirstOrDefault()); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public Personalizacion ObtenerPersonalizacionTienda(string idTienda) { try { chequearTienda(idTienda); using (var context = ChebayDBPublic.CreatePublic()) { var qTienda = from tnd in context.tiendas where tnd.TiendaID == idTienda select tnd; Tienda t = qTienda.FirstOrDefault(); return(t.personalizacion); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public List <Tienda> ObtenerPagina(int n, string idAdmin) { try { using (var context = ChebayDBPublic.CreatePublic()) { //Chequeo que exista el administrador var qAdmin = from adm in context.administradores where adm.AdministradorID == idAdmin select adm; if (qAdmin.Count() == 0) { throw new Exception("No existe el administrador " + idAdmin); } Administrador a = qAdmin.FirstOrDefault(); var qTienda = from t in context.tiendas select t; List <Tienda> lt = qTienda.ToList(); List <Tienda> ret = new List <Tienda>(); int cant = 1; foreach (Tienda t in lt) { if (t.administradores.Contains(a)) { if ((cant >= (n - 1) * 8) && (cant <= n * 8 - 1)) { ret.Add(t); } cant++; } } return(ret); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public void EliminarPersonalizacion(string idTienda) { try { chequearTienda(idTienda); using (var context = ChebayDBPublic.CreatePublic()) { var qTienda = from tnd in context.personalizaciones where tnd.PersonalizacionID == idTienda select tnd; Personalizacion t = qTienda.FirstOrDefault(); context.personalizaciones.Remove(t); context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public void EliminarAdministrador(string idAdministrador) { try { if (idAdministrador == null) { throw new Exception("Debe pasar el identificador de un administrador."); } using (var context = ChebayDBPublic.CreatePublic()) { var query = from adm in context.administradores where adm.AdministradorID == idAdministrador select adm; context.administradores.Remove(query.FirstOrDefault()); context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); } }
public Administrador ObtenerAdministrador(string idAdministrador) { try { if (idAdministrador == null) { throw new Exception("Debe pasar el identificador de un administrador."); } using (var context = ChebayDBPublic.CreatePublic()) { var query = from adm in context.administradores where adm.AdministradorID == idAdministrador select adm; return(query.FirstOrDefault()); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public void ActualizarTienda(Tienda tienda) { try { chequearTienda(tienda.TiendaID); using (var context = ChebayDBPublic.CreatePublic()) { var qTienda = from t in context.tiendas where t.TiendaID == tienda.TiendaID select t; Tienda tnd = qTienda.FirstOrDefault(); tnd.descripcion = tienda.descripcion; tnd.nombre = tienda.nombre; context.SaveChanges(); Debug.WriteLine("Tienda " + tienda.TiendaID + " actualizada con éxito."); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public int ObtenerCantPaginas(string idAdmin) { try { using (var context = ChebayDBPublic.CreatePublic()) { //Chequeo que exista el administrador var qAdmin = from adm in context.administradores where adm.AdministradorID == idAdmin select adm; if (qAdmin.Count() == 0) { throw new Exception("No existe el administrador " + idAdmin); } Administrador a = qAdmin.FirstOrDefault(); var qTiendas = from tnd in context.tiendas.Include("administradores") select tnd; int ret = 0; List <Tienda> aux = qTiendas.ToList(); foreach (Tienda t in aux) { if (t.administradores.Contains(a)) { ret++; } } return((int)Math.Ceiling((double)ret / 8)); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public void EliminarTienda(string idTienda) { try { using (var context = ChebayDBPublic.CreatePublic()) { var qTienda = from t in context.tiendas where t.TiendaID.Equals(idTienda) select t; if (qTienda.Count() != 0) { //EliminarAdministrador la Tienda. Tienda tnd = qTienda.FirstOrDefault(); context.tiendas.Remove(tnd); //Elimina la personalización de la tienda. var qPers = from p in context.personalizaciones where p.PersonalizacionID == idTienda select p; context.personalizaciones.Remove(qPers.FirstOrDefault()); context.SaveChanges(); Debug.WriteLine("La tienda " + idTienda + " ha sido eliminada."); } else { Debug.WriteLine("La tienda " + idTienda + " no existe."); } } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public void Test0Inicial() { ChebayDBPublic cdbp = new ChebayDBPublic(); using (var schema = ChebayDBPublic.CreatePublic()) { Debug.WriteLine("INICIO"); Debug.WriteLine("0.1. Elimino TestAdmin."); it.EliminarAdministrador(adminTest); it.EliminarPersonalizacion(urlTest); Debug.WriteLine("\n0.2. Elimino TestURL."); it.EliminarTienda(urlTest); } }