public ActionResult CargarPedidoViejo(string PrePed) { try { int IDPrePedido = int.Parse(PrePed); //aca cargo los datos del Prepedido en la sesion var PrePedido = DocWorker.ObtenerDocXID(IDPrePedido); ListCarrito carrito = new ListCarrito(); carrito.IDDocumento = PrePedido.IDDocumento; modelCarrito item; foreach (var p in PrePedido.DocumentoDetalle) { item = new modelCarrito(); item.id = p.PrecioDetalle.Producto.IDProducto; item.Nombre = p.PrecioDetalle.Producto.Nombre; item.IDPrecioDetalle = p.IDPrecioDetalle; item.Cant = p.Cantidad; item.Precio = (double)p.PrecioDetalle.Precio; carrito.Productos.Add(item); } //ya tengo el carrito. Acá tengo q verificar los precios y actualizarlo. //agarro los productos con precios. var ListaP = ProdWorker.traerProductosConPrecio(); Boolean PrePedidoActualizado = false; foreach (var prodCarr in carrito.Productos) { prodCarr.conPrecio = false; foreach (var prodBase in ListaP) { if (prodCarr.id == prodBase.IDProducto) { prodCarr.conPrecio = true; if (prodCarr.IDPrecioDetalle != prodBase.IDPrecioDetalle) { prodCarr.IDPrecioDetalle = prodBase.IDPrecioDetalle; prodCarr.Precio = prodBase.PrecioActual; PrePedidoActualizado = true; } break; } } } string msgReturn = ""; if (PrePedidoActualizado) { msgReturn = Language.PrePedidoActualizado; } Session["ListCarrito"] = carrito; ViewBag.NrPedido = carrito.IDDocumento; return Json(new { Result = msgReturn }, JsonRequestBehavior.AllowGet); } catch (Exception ex2) { Nullable<int> idUser = null; string ip = "Unknown"; try { idUser = (int)Session["userID"]; } catch (Exception ex) { } try { ip = Session["_ip"].ToString(); } catch (Exception ex) { } try { Bita.guardarBitacora(new BIZBitacora("Error", "Error al intentar cargar un prepedido", idUser, ip)); } catch (Exception ex) { } TempData["ErrorNormal"] = Language.ErrorLogInAgain; return RedirectToAction("CerrarSesion", "Login"); } }
public ActionResult PedidoAjax2(ModelPedido item) { try { BIZUsuario UsuarioIN = (BIZUsuario)Session["SUsuario"]; var productosSesion = Session["productosSesion"]; var ListaP = (List<BIZProducto>)productosSesion; var ListCarrito = (Session["ListCarrito"] as ListCarrito) ?? new ListCarrito(); int id = Convert.ToInt32(item.id); int cantidad = Convert.ToInt32(item.Cantidad); if (ListCarrito.Productos.Count == 0) { modelCarrito carri = new modelCarrito(); carri.id = id; //carri. = b.Name; carri.Cant = cantidad; // carri.Precio = Convert.ToInt32(item.); if (cantidad > 0) //evitamos negativos { foreach (var p in ListaP) { if (carri.id == p.IDProducto) { carri.Precio = p.PrecioActual; carri.Nombre = p.Nombre; carri.IDPrecioDetalle = p.IDPrecioDetalle; break; } } ListCarrito.Productos.Add(carri); Session["ListCarrito"] = ListCarrito; } //carri.Precio = 100; //var cartObjects = (Session["CartObjects"] as List<carrito>) ?? new List<carrito>(); } else { bool existe = false; for (int i = ListCarrito.Productos.Count - 1; i >= 0; i--) { // foreach (carrito elem in cartObjects) // { if (id == ListCarrito.Productos[i].id) { ListCarrito.Productos[i].Cant += cantidad; existe = true; } if (ListCarrito.Productos[i].Cant <= 0) { ListCarrito.Productos.RemoveAt(i); } } if (!existe) { modelCarrito carri = new modelCarrito(); carri.id = id; //carri.Name = b.Name; carri.Cant = cantidad; foreach (var p in ListaP) { if (carri.id == p.IDProducto) { carri.Precio = p.PrecioActual; carri.Nombre = p.Nombre; carri.IDPrecioDetalle = p.IDPrecioDetalle; } } if (carri.Cant > 0) // esto para evitar cantidades negativas { ListCarrito.Productos.Add(carri); } //Session["CartObjects"] = cartObjects; } } Session["ListCarrito"] = ListCarrito; double Subtotal = 0; foreach (modelCarrito elem in ListCarrito.Productos) { Subtotal += (double)elem.Precio * (int)elem.Cant; } double IVA = UsuarioIN.ClienteEmpresa.TipoIVA.Valor; string rIVA = IVA.ToString(); return Json(new { ListCarrito, rIVA }, JsonRequestBehavior.AllowGet); } catch (Exception er) { Nullable<int> idUser = null; string ip = "Unknown"; try { idUser = (int)Session["userID"]; } catch (Exception ex) { } try { ip = Session["_ip"].ToString(); } catch (Exception ex) { } try { Bita.guardarBitacora(new BIZBitacora("Error", "Error al intentar agregar un producto al carrito", idUser, ip)); } catch (Exception ex) { } ViewBag.AlertError = Language.ErrorLogInAgain; return Json(new { Result = "" }, JsonRequestBehavior.AllowGet); } }
public ActionResult VerPedido(string Pedido) { try { int IDPedido = int.Parse(Pedido); //aca cargo los datos del Prepedido en la sesion var RPedido = DocWorker.ObtenerDocXID(IDPedido); ListCarrito carritoPedido = new ListCarrito(); carritoPedido.IDDocumento = RPedido.IDDocumento; modelCarrito item; foreach (var p in RPedido.DocumentoDetalle) { item = new modelCarrito(); item.id = p.PrecioDetalle.Producto.IDProducto; item.Nombre = p.PrecioDetalle.Producto.Nombre; item.IDPrecioDetalle = p.IDPrecioDetalle; item.Cant = p.Cantidad; item.Precio = (double)p.PrecioDetalle.Precio; carritoPedido.Productos.Add(item); } carritoPedido.estado = RPedido.EstadoMisc.Detalle; carritoPedido.comentario = RPedido.Detalle; //Session["CarritoPedido"] = carritoPedido; ViewBag.NrPedido = carritoPedido.IDDocumento; return Json(new { Result = "", Pedido = carritoPedido }, JsonRequestBehavior.AllowGet); } catch (Exception ex2) { Nullable<int> idUser = null; string ip = "Unknown"; try { idUser = (int)Session["userID"]; } catch (Exception ex) { } try { ip = Session["_ip"].ToString(); } catch (Exception ex) { } try { Bita.guardarBitacora(new BIZBitacora("Error", "Error al intentar visualizar pedido en modal", idUser, ip)); } catch (Exception ex) { } TempData["ErrorNormal"] = Language.ErrorLogInAgain; return RedirectToAction("CerrarSesion", "Login"); } }