public async Task <ActionResult <IEnumerable <Producto> > > GetProducto([FromQuery] int pagina, [FromQuery] int cantidad, [FromQuery] int categoria, [FromHeader] String Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); List <Producto> producto = new List <Producto>(); //if (usuario.admin) //{ if (pagina != 0 && cantidad != 0) { producto = await _context.Producto.Where(c => c.Activo == true).Skip((pagina - 1) * cantidad).Take(cantidad).ToListAsync(); } else { producto = await _context.Producto.Where(c => c.Activo == true).ToListAsync(); } if (categoria != 0) { producto = producto.Where(data => data.Activo == true && data.IdCategoria.ToString().Contains(categoria.ToString())).ToList(); } return(producto); }
public async Task <UsuarioFirebase> obtener_usuario(string idToken) { UsuarioFirebase usuario = new UsuarioFirebase(); FirebaseToken decodedToken = await FirebaseAuth.DefaultInstance.VerifyIdTokenAsync(idToken); //Sirve para poner claims a un token //var prueba = new Dictionary<string, object>() //{ //{ "admin", true }, //}; //await FirebaseAuth.DefaultInstance.SetCustomUserClaimsAsync(decodedToken.Uid, prueba); usuario.Uid = decodedToken.Uid; var claims = decodedToken.Claims; object isAdmin, isSeller; if (claims.TryGetValue("admin", out isAdmin)) { if ((bool)isAdmin) { usuario.admin = true; } } if (claims.TryGetValue("seller", out isSeller)) { if ((bool)isSeller) { usuario.seller = true; } } return(usuario); }
public async Task <ActionResult <Orden> > PostOrden(Orden orden, [FromHeader] string authorization) { string idToken = authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); orden.UsuarioId = usuario.Uid; orden.Estado = "Pendiente"; orden.Fecha = DateTime.Now.ToString(); _context.Orden.Add(orden); await _context.SaveChangesAsync(); return(CreatedAtAction("GetOrden", new { id = orden.Id }, orden)); }
public async Task <ActionResult <IEnumerable <Orden> > > GetOrdenes([FromHeader] string authorization) { string idToken = authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); var ordenes = _context.Orden.Where(o => o.UsuarioId == usuario.Uid).ToList(); foreach (var orden in ordenes) { orden.LineaDeOrden = _context.LineaDeOrden.Where(l => l.OrdenId == orden.Id).ToList(); } return(ordenes); }
public async Task <ActionResult <SolicitudDeAfiliacion> > GetSolicitudDeAfiliacion(int id, [FromHeader] String Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); if (usuario.admin) { var solicitud = await _context.SolicitudDeAfiliacion.FindAsync(id); return(solicitud); } return(NotFound()); }
public async Task <ActionResult <IEnumerable <Deseo> > > GetListDeseos([FromHeader] String Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); List <Producto> productos = new List <Producto>(); var deseos = _context.Deseo.Where(d => d.UsuarioId == usuario.Uid).ToList(); foreach (Deseo deseo in deseos) { Producto producto = _context.Producto.Where(p => p.Id == deseo.ProductoId).FirstOrDefault(); productos.Add(producto); } return(deseos); }
public async Task <ActionResult <SolicitudDeAfiliacion> > PostSolicitudDeAfiliacion(SolicitudDeAfiliacion solicitudDeAfiliacion, [FromHeader] string Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); string[] valores = imagenes(solicitudDeAfiliacion, 0);; solicitudDeAfiliacion.PagareUrl = valores[0]; solicitudDeAfiliacion.ReciboAguaUrl = valores[1]; solicitudDeAfiliacion.ReciboLuzUrl = valores[2]; solicitudDeAfiliacion.ReciboTelefonoUrl = valores[3]; solicitudDeAfiliacion.ReferenciaBancariaUrl = valores[4]; solicitudDeAfiliacion.IdUsuario = usuario.Uid; _context.SolicitudDeAfiliacion.Add(solicitudDeAfiliacion); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSolicitudDeAfiliacion", new { id = solicitudDeAfiliacion.Id }, solicitudDeAfiliacion)); }
public async Task <ActionResult <Deseo> > PostDeseo(Deseo deseo, [FromHeader] string Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); var deseoExistente = _context.Deseo.Where(d => d.ProductoId == deseo.ProductoId && d.UsuarioId == usuario.Uid).FirstOrDefault(); if (deseoExistente != null) { throw new Exception("Este producto ya fue agregado a la lista de deseos"); } _context.Deseo.Add(deseo); deseo.UsuarioId = usuario.Uid; await _context.SaveChangesAsync(); return(CreatedAtAction("GetDeseo", new { id = deseo.Id }, deseo)); }
public async Task <IActionResult> PostSolicitudDeAfiliacion(int id, string estado, [FromHeader] string Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); var solicitudDeAfiliacion = new SolicitudDeAfiliacion(); solicitudDeAfiliacion = await _context.SolicitudDeAfiliacion.Where(c => c.Id == id).FirstOrDefaultAsync(); if (id != solicitudDeAfiliacion.Id) { return(BadRequest()); } //if (estado == "Aprobado" && solicitudDeAfiliacion.Comentario == "") if (estado == "Aprobado") { solicitudDeAfiliacion.Estado = "Aprobado"; solicitudDeAfiliacion.Comentario = "Bienviendo nuevo vendedor, es un placer contar contigo."; } else if (solicitudDeAfiliacion.Estado == "Denegado" && solicitudDeAfiliacion.Comentario == "") { solicitudDeAfiliacion.Comentario = "Su solicitud ha sido denegada"; } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SolicitudDeAfiliacionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutSolicitudDeAfiliacion(int id, SolicitudDeAfiliacion solicitudDeAfiliacion, [FromHeader] string Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); if (id != solicitudDeAfiliacion.Id) { return(BadRequest()); } if (solicitudDeAfiliacion.Estado == "Aprobado" && solicitudDeAfiliacion.Comentario == "") { solicitudDeAfiliacion.Comentario = "Bienviendo nuevo vendedor, es un placer contar contigo."; } string[] valores = imagenes(solicitudDeAfiliacion, 1);; solicitudDeAfiliacion.PagareUrl = valores[0]; solicitudDeAfiliacion.ReciboAguaUrl = valores[1]; solicitudDeAfiliacion.ReciboLuzUrl = valores[2]; solicitudDeAfiliacion.ReciboTelefonoUrl = valores[3]; solicitudDeAfiliacion.ReferenciaBancariaUrl = valores[4]; _context.Entry(solicitudDeAfiliacion).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SolicitudDeAfiliacionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <IEnumerable <SolicitudDeAfiliacion> > > GetSolicitudDeAfiliacion([FromQuery] int pagina, [FromQuery] int cantidad, [FromQuery] string estado, [FromHeader] string Authorization) { string idToken = Authorization.Remove(0, 7); usuario = await autenticar.obtener_usuario(idToken); List <SolicitudDeAfiliacion> solicitud = new List <SolicitudDeAfiliacion>(); if (usuario.admin) { if (pagina != 0 && cantidad != 0) { if (estado != null) { solicitud = await _context.SolicitudDeAfiliacion.Where(c => c.Estado == estado).Skip((pagina - 1) * cantidad).Take(cantidad).ToListAsync(); } else { solicitud = await _context.SolicitudDeAfiliacion.Skip((pagina - 1) *cantidad).Take(cantidad).ToListAsync(); } } else { if (estado != null) { solicitud = await _context.SolicitudDeAfiliacion.Where(c => c.Estado == estado).ToListAsync(); } else { solicitud = await _context.SolicitudDeAfiliacion.ToListAsync(); } } } else { solicitud.Add(await _context.SolicitudDeAfiliacion.Where(c => c.IdUsuario == usuario.Uid).OrderByDescending(c => c.Id).FirstOrDefaultAsync()); } return(solicitud); }