//eliminar categoria public ActionResult Ecat(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { if (id == null) { return(RedirectToAction("Error_admin", "admin")); } else { var eliminarcat = dbc.categoria.Find(id); if (eliminarcat == null) { return(RedirectToAction("Error_admin", "admin")); } else { dbc.categoria.Remove(eliminarcat); dbc.SaveChanges(); return(RedirectToAction("lcat", "admin")); } } }; }
//ver listado de ventas realizadas public ActionResult Vlvent(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { if (id == null) { return(RedirectToAction("Error_usuario", "usuario")); } else { var llv1 = dbc.venta.Find(id); if (llv1 == null) { return(RedirectToAction("Error_usuario", "usuario")); } else { var llv2 = dbc.lista_venta.Where(z => z.venta_id == llv1.id); var lfinal = llv2.Include("producto"); return(View(lfinal.ToList())); } } }; }
//editar producto controlador public ActionResult edprodc([Bind(Include = "id,foto,nombre,descripcion,fecha_creacion,precio,stock,cat_id")] producto producto) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { producto pr = dbc.producto.Find(producto.id); HttpPostedFileBase file = Request.Files[0]; WebImage img = new WebImage(file.InputStream); var bit = img.GetBytes(); var mod = dbc.producto.SingleOrDefault(v => v.id == pr.id); mod.id = producto.id; mod.foto = bit; mod.nombre = producto.nombre; mod.descripcion = producto.descripcion; mod.fecha_creacion = producto.fecha_creacion; mod.precio = producto.precio; mod.stock = producto.stock; mod.cat_id = producto.cat_id; dbc.SaveChanges(); return(RedirectToAction("lprod", "admin")); }; }
//modificar datos de usuario vista public ActionResult mdatos() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var rut = Convert.ToString(Session["r"]); if (rut == null) { return(RedirectToAction("Error_usuario", "usuario")); } else { var moddatosv = dbc.usuario.Find(rut); if (moddatosv == null) { return(RedirectToAction("Error_usuario", "usuario")); } else { return(View(moddatosv)); } } }; }
//login admin y usuario controlador public ActionResult logc(tienda_express.Models.usuario u) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var ru = u.rut; var cl = u.clave; if (ru == null || ru == "" || cl == null || cl == "") { return(RedirectToAction("Error", "sistema")); } else { var l = dbc.usuario.Where(p => p.rut == ru && p.clave == cl).SingleOrDefault(); Session["r"] = l.rut.ToString(); Session["n"] = l.nombre.ToString(); Session["a"] = l.apellido.ToString(); if (l.tipo_id == 1) { return(RedirectToAction("Index_admin", "admin")); } else if (l.tipo_id == 2) { return(RedirectToAction("Index_usuario", "usuario")); } else { return(RedirectToAction("Error", "sistema")); } } }; }
//eliminar producto public ActionResult Eprod(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { if (id == null) { return(RedirectToAction("Error_admin", "admin")); } else { var eprod = dbc.producto.Find(id); if (eprod == null) { return(RedirectToAction("Error_admin", "admin")); } else { dbc.producto.Remove(eprod); dbc.SaveChanges(); return(RedirectToAction("lprod", "admin")); } } }; }
//eliminar cuenta de usuario public ActionResult edatos() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var rut2 = Convert.ToString(Session["r"]); if (rut2 == null) { return(RedirectToAction("Index_usuario", "usuario")); } else { var eliminar = dbc.usuario.Find(rut2); if (eliminar == null) { return(RedirectToAction("Index_usuario", "usuario")); } else { dbc.usuario.Remove(eliminar); Session["r"] = null; dbc.SaveChanges(); return(RedirectToAction("Index", "sistema")); } } }; }
//filtar por categoria vista public ActionResult Fcat() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var listcategoria = dbc.categoria; return(View(listcategoria.ToList())); } }
//listado de categorias public ActionResult lcat() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var list_cat = dbc.categoria.SqlQuery("SELECT * FROM categoria").ToList(); return(View(list_cat)); }; }
//nuevo producto vista public ActionResult Nprod() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var lc = dbc.categoria; return(View(lc.ToList())); }; }
//listado de productos public ActionResult lprod() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var list = dbc.producto; return(View(list.ToList())); }; }
//cerrar sesion public ActionResult csession() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { Session["r"] = null; Session.Abandon(); Session.Clear(); return(View()); }; }
//modificar categoria controlador public ActionResult modcatc([Bind(Include = "id,nombre")] categoria categoria) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { dbc.Entry(categoria).State = EntityState.Modified; dbc.SaveChanges(); return(RedirectToAction("lcat", "admin")); }; }
//ver ventas realizadas public ActionResult vventas() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var rut = Convert.ToString(Session["r"]); var lista = dbc.venta.Where(c => c.usuario_id == rut).ToList(); return(View(lista)); }; }
//ver si la id del producto se repite // debe ser un metodo privado ya que es una accion interna del programa private int idprod(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { //llamar la lista List <carroitem> compras = (List <carroitem>)Session["carro"]; //recorrer el listado for (int i = 0; i < compras.Count; i++) { // verificar si la id del producto se repite if (compras[i].Producto.id == id) { return(i); } } return(-1); }; }
//filtrar por categoria controlador public ActionResult fcatc() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var bporcategoria = Convert.ToInt32(Request.Form["bprod"]); if (bporcategoria == null || bporcategoria <= 0) { return(RedirectToAction("Error_usuario", "usuario")); } else { // buscar por categoria var buscar = dbc.producto.SqlQuery("SELECT * FROM producto WHERE cat_id ='" + bporcategoria + "'").ToList(); return(View(buscar)); } }; }
//mostrar la imagen del libro public ActionResult getimagen(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { //declarar el objeto y buscar su id producto foto = dbc.producto.Find(id); // transforma en bytes la foto byte[] byteimagen = foto.foto; //decalrar la matriz de memoria MemoryStream memory = new MemoryStream(byteimagen); Image img = Image.FromStream(memory); //decalarar el objeto de memorystream memory = new MemoryStream(); // convertir en jpg img.Save(memory, ImageFormat.Jpeg); //matriz en la posicion de la imagen memory.Position = 0; return(File(memory, "img/jpg")); }; }
//mostar la imagen en la vista public ActionResult getid(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { producto producto = dbc.producto.Find(id); byte[] byteimagen = producto.foto; MemoryStream memorystream = new MemoryStream(byteimagen); Image img = Image.FromStream(memorystream); memorystream = new MemoryStream(); img.Save(memorystream, ImageFormat.Jpeg); memorystream.Position = 0; return(File(memorystream, "Image/Jpg")); }; }
//eliminar producto del listado public ActionResult Eliminar(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { //llamar el listado de productos List <carroitem> compras = (List <carroitem>)Session["carro"]; //en el carro de compras la variable compras se debe utilizar en todo momento para ejecutar cualquier accion int misma_id = idprod(id); for (int j = 0; j < compras.Count; j++) { if (compras[j].Cantidad > 1) { compras[j].Cantidad = compras[j].Cantidad - 1; return(View("Agregar")); } } compras.RemoveAt(idprod(id)); return(View("Agregar")); }; }
//registrarse como usuario controlador public ActionResult nusc(tienda_express.Models.usuario u) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var rus = u.rut; var nus = u.nombre; var aus = u.apellido; var dus = u.direccion; var cus = u.clave; if (rus == null || rus == "" || nus == null || nus == "" || aus == null || aus == "" || dus == null || dus == "" || cus == null || cus == "") { return(RedirectToAction("Error", "sistema")); } else { usuario us = new usuario { rut = rus, nombre = nus, apellido = aus, direccion = dus, clave = cus, tipo_id = 2 }; dbc.usuario.Add(us); dbc.SaveChanges(); //capturar los datos para las variables sesiones var regdatos = dbc.usuario.SingleOrDefault(p => p.rut == rus); Session["r"] = regdatos.rut.ToString(); Session["n"] = regdatos.nombre.ToString(); Session["a"] = regdatos.apellido.ToString(); return(RedirectToAction("Index_usuario", "usuario")); } }; }
//modificar datos de usuario controlador public ActionResult modusuarioc(usuario usuario) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var r = usuario.rut; var n = usuario.nombre; var a = usuario.apellido; var d = usuario.direccion; var c = usuario.clave; if (r == null || r == "" || n == null || n == "" || a == null || a == "" || d == null || d == "" || c == null || c == "") { return(RedirectToAction("Error_usuario", "usuario")); } else { var mod = dbc.usuario.SingleOrDefault(b => b.rut == r); mod.rut = r; mod.nombre = n; mod.apellido = a; mod.direccion = d; mod.clave = c; mod.tipo_id = 2; Session["r"] = r.ToString(); Session["n"] = n.ToString(); Session["a"] = a.ToString(); dbc.SaveChanges(); return(RedirectToAction("Index_usuario", "usuario")); } }; }
//agregar al carro de compra cuando hay productos public ActionResult Agregar(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { //crear sesion de carro de compras para mostrar en la vista if (Session["carro"] == null) { List <carroitem> compras = new List <carroitem>(); //agregar producto en al listado en base la id del producto seleccionado compras.Add(new carroitem(dbc.producto.Find(id), 1)); Session["carro"] = compras; } else { // crear una variable que obtiene la id del producto(utilizar la funcion de obtener la id) int Existente = idprod(id); //llamar la lista con una variable sesion List <carroitem> compras = (List <carroitem>)Session["carro"]; //comprarar si una id se repite if (Existente == -1) { //agregar producto compras.Add(new carroitem(dbc.producto.Find(id), 1)); } else { //agregar cantidad del producto compras[Existente].Cantidad++; Session["carro"] = compras; } return(View()); } }; return(View()); }
//nuevo producto controlador public ActionResult nprodc() { using (ejemplodatacontext dbc = new ejemplodatacontext()) { HttpPostedFileBase filebase = Request.Files[0]; var nprod = Request.Form["n"].ToString(); var dprod = Request.Form["d"].ToString(); var fecrea = Convert.ToDateTime(Request.Form["fe"]); var pprod = Convert.ToDouble(Request.Form["p"]); var sprod = Convert.ToInt32(Request.Form["s"]); var cprod = Convert.ToInt32(Request.Form["cid"]); //if ( nprod == "" || dprod == null || dprod == "" || fecrea == null || pprod == null || pprod <= 0 || sprod == null || sprod <= 0 || cprod == null || cprod <= 0) //{ // return RedirectToAction("Error_admin", "admin"); //} //else //{ //transformar a binario la imagen WebImage img = new WebImage(filebase.InputStream); producto pr = new producto(); pr.foto = img.GetBytes(); pr.nombre = nprod; pr.descripcion = dprod; pr.fecha_creacion = fecrea; pr.precio = pprod; pr.stock = sprod; pr.cat_id = cprod; dbc.producto.Add(pr); dbc.SaveChanges(); return(RedirectToAction("lprod", "admin")); //} }; }
//editar categoria vista public ActionResult Editcat(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { if (id == null) { return(RedirectToAction("Error_admin", "admin")); } else { var editcat = dbc.categoria.Find(id); if (editcat == null) { return(RedirectToAction("Error_admin", "admin")); } else { return(View(editcat)); } } }; }
//nueva categoria controlador public ActionResult ncatc(tienda_express.Models.categoria c) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { var nc = c.nombre; if (nc == null || nc == "") { return(RedirectToAction("Error_admin", "admin")); } else { categoria cat = new categoria { nombre = nc, }; dbc.categoria.Add(cat); dbc.SaveChanges(); return(RedirectToAction("lcat", "admin")); } }; }
//editar producto vista public ActionResult Editprod(int id) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { if (id == null) { return(RedirectToAction("Error_admin", "admin")); } else { var idprod = dbc.producto.Find(id); if (idprod == null) { return(RedirectToAction("Error_admin", "admin")); } else { return(View(idprod)); } } }; }
//realizar la venta del producto public ActionResult Terminar_Compra(producto producto) { using (ejemplodatacontext dbc = new ejemplodatacontext()) { //llamar a la lista List <carroitem> compras = (List <carroitem>)Session["carro"]; //verirficar si el listado tiene datos if (compras.Count > 0 && compras != null) { //recorrer el carro de compras for (int k = 0; k < compras.Count; k++) { // verificar si la cantidad es mayor al stock de producto if (compras[k].Cantidad > compras[k].Producto.stock) { return(RedirectToAction("Error_usuario", "usuario")); } else { var mod = dbc.producto.SingleOrDefault(w => w.id == producto.id); producto.stock = producto.stock - compras[k].Cantidad; dbc.SaveChanges(); if (producto.stock <= 0) { return(RedirectToAction("Error_usuario", "usuario")); } } } // --> end for //funciona pero no elimina el stock de producto //realizar la venta y registrar en la bases de datos var rut = Session["r"].ToString(); venta v = new venta(); v.dia_venta = DateTime.Today; v.sub_total = compras.Sum(x => x.Cantidad * x.Producto.precio); v.iva = 0.19; v.total = v.sub_total * v.iva + v.sub_total; v.usuario_id = rut; //realizar la lista de la venta(boleta) v.lista_venta = (from item in compras select new lista_venta { venta_id = v.id, producto_id = item.Producto.id, cantidad = item.Cantidad, total = item.Cantidad * item.Producto.precio, }).ToList(); dbc.venta.Add(v); dbc.SaveChanges(); return(RedirectToAction("comprarealizada", "usuario")); } else { return(RedirectToAction("ntienedatos", "usuario")); } }; }