// GET: /OrdenCompraViewModel/ public ActionResult Index(int?id) { var formasPago = db.FormaPagos; var proveedores = db.Proveedores; // var requerimiento = db.Requerimientos.Single(p => p.requerimientoId == 11); // var requerimiento = db.Requerimientos.First(); Requerimiento req = new Requerimiento(); var requerimiento = req; var ordenesCompra = db.Ordenes.Where(p => p.Requerimiento.tipoCompraId == id); var tipoCompra = db.TipoCompra.Find(id); var monedas = db.Monedas; var OrdenCompraViewModels = new OrdenCompraViewModel(formasPago.ToList(), proveedores.ToList(), requerimiento, ordenesCompra.ToList(), monedas.ToList(), tipoCompra); return(View(OrdenCompraViewModels)); }
// GET: Pedidos/Create public ActionResult Create() { OrdenCompraViewModel orden = new OrdenCompraViewModel(db); if (AppViewModel.PedidosEnProceso == null) { AppViewModel.PedidosEnProceso = new Dictionary <long, List <GestionProductoPedidoViewModel> >(); } AppViewModel.PedidosEnProceso.Add(orden.Token, new List <GestionProductoPedidoViewModel>()); return(View(orden)); }
public ActionResult Create([Bind(Include = "Token, Pedido")] OrdenCompraViewModel orden) { orden.Pedido.ProductosPedido = new List <PedidoProducto>(); ICollection <ValidationResult> resultado = new List <ValidationResult>(); // Will contain the results of the validation List <GestionProductoPedidoViewModel> productos = AppViewModel.PedidosEnProceso[orden.Token]; if (productos != null) { foreach (var item in productos) { PedidoProducto objeto = new PedidoProducto(); objeto.Pedido = orden.Pedido; objeto.Pedido.ID = orden.Pedido.ID; objeto.Producto = db.Productos.Find(item.Id); objeto.ProductoId = objeto.Producto.ID; objeto.ValorUnitario = item.ValorUnitario; objeto.Cantidad = item.Cantidad; ValidationContext vc = new ValidationContext(objeto); bool isValid = Validator.TryValidateObject(objeto, vc, resultado, true); if (!isValid) { var precios = db.ProductoValores.Where(x => x.ProductoId == objeto.ProductoId).First(); string validacion = string.Format("El precio de {0} debe estar entre {1} y {2}", objeto.Producto.Descripcion, precios.ValorMinimo, precios.ValorMaximo); ModelState.AddModelError("", validacion); } orden.Pedido.ProductosPedido.Add(objeto); } } if (ModelState.IsValid) { if (productos != null) { AppViewModel.PedidosEnProceso.Remove(orden.Token); } orden.Pedido.EstadoPedido = EstadoPedido.Creado; db.Pedidos.Add(orden.Pedido); foreach (var i in orden.Pedido.ProductosPedido) { db.PedidoProductos.Add(i); } db.SaveChanges(); return(RedirectToAction("Index")); } orden.SetearBases(db); return(View(orden)); }
public ActionResult OrdenCompraFormulario() { var formaPagos = _context.FormasPago.ToList(); var proveedores = _context.Proveedores.ToList(); var viewModel = new OrdenCompraViewModel() { FormaPagos = formaPagos, Proveedores = proveedores }; return(View(viewModel)); }
//public ActionResult IndexApprove() //{ // var formasPago = db.FormaPagos; // var proveedores = db.Proveedores; // var requerimiento = db.Requerimientos.Single(p => p.requerimientoId == 1); // var ordenesCompra = db.Ordenes; // var monedas = db.Monedas; // var OrdenCompraViewModels = new OrdenCompraViewModel(formasPago.ToList(), proveedores.ToList(), requerimiento, ordenesCompra.ToList(), monedas.ToList()); // return View(OrdenCompraViewModels); //} // GET: /RequerimientoViewModel/Create public ActionResult Create(int?id) { var formasPago = db.FormaPagos; var proveedores = db.Proveedores; var estadoRequerimientoDetalle = db.EstadoRequerimientoDetalle.Where(p => p.nombre == "Aprobado").SingleOrDefault();; var requerimiento = db.Requerimientos.Single(p => p.requerimientoId == id); requerimiento.Detalles = requerimiento.Detalles.Where(p => p.estadoRequerimientoDetalleId == estadoRequerimientoDetalle.estadoRequerimientoDetalleId).ToList(); var ordenesCompra = db.Ordenes; var monedas = db.Monedas; var tipoCompra = db.TipoCompra.Find(requerimiento.tipoCompraId); var OrdenCompraViewModels = new OrdenCompraViewModel(formasPago.ToList(), proveedores.ToList(), requerimiento, ordenesCompra.ToList(), monedas.ToList(), tipoCompra); return(View(OrdenCompraViewModels)); }
// GET: /RequerimientoViewModel/Create public ActionResult Edit(int?id) { var formasPago = db.FormaPagos; var proveedores = db.Proveedores; var estadoRequerimientoDetalle = db.EstadoRequerimientoDetalle.Where(p => p.nombre == "Aprobado").SingleOrDefault(); var ordenesCompra = db.Ordenes.Where(p => p.ordenCompraId == id).Single(); var requerimiento = db.Requerimientos.Single(p => p.requerimientoId == ordenesCompra.requerimientoId); var estadosRequerimientoDetalle = new string[] { "Aprobado", "Con OC" }; //var ordenes = db.Ordenes.Where(p => estadoList.Contains(p.EstadoOrden.nombre)).Include(o => o.EstadoOrden).Include(o => o.FormaPago).Include(o => o.Moneda).Include(o => o.Obra).Include(o => o.Proveedor).Include(o => o.Requerimiento); requerimiento.Detalles = requerimiento.Detalles.Where((p => estadosRequerimientoDetalle.Contains(p.EstadoRequerimientoDetalle.nombre))).ToList(); var monedas = db.Monedas; var tipoCompra = db.TipoCompra.Find(requerimiento.tipoCompraId); List <OrdenCompra> oc = new List <OrdenCompra>(); oc.Add(ordenesCompra); var OrdenCompraViewModels = new OrdenCompraViewModel(formasPago.ToList(), proveedores.ToList(), requerimiento, oc.ToList(), monedas.ToList(), tipoCompra); ViewBag.proveedor = new SelectList(db.Proveedores, "proveedorId", "razonSocial", ordenesCompra.proveedorId); ViewBag.formaPago = new SelectList(db.FormaPagos, "formapagoId", "nombre", ordenesCompra.formaPagoId); ViewBag.moneda = new SelectList(db.Monedas, "monedaId", "nombre", ordenesCompra.monedaId); return(View(OrdenCompraViewModels)); }
public OrdenCompraPage() { InitializeComponent(); BindingContext = new OrdenCompraViewModel(); }