//GET: // Para crear el objeto que tiene las lineas de pedido (productos y cantidad) y el proveedor para pasárselos a la vista SeleccionarProductos public async Task <IActionResult> SelectProductos(ProveedoresViewModel proveedorSeleccionadoViewModel) { List <Producto> productosTotales = await _context.Producto.ToListAsync(); //lista de todos los productos List <Producto> productosAsociados = new List <Producto>(); //lista de productos asociados a un proveedor Proveedor proveedorSeleccionado = new Proveedor(); proveedorSeleccionado.idProveedor = proveedorSeleccionadoViewModel.idProveedor; //dejamos en la variable proveedorSeleccionado el proveedor productosAsociados = obtenerProductosDeProveedor(proveedorSeleccionado); //llamamos al metodo para obtener los productos asociados al proveedor ProveedorProductosViewModel selectProveedorProductos = new ProveedorProductosViewModel(); selectProveedorProductos.productos = productosAsociados; var proveedorRecuperado = await _context.Proveedor.Where <Proveedor>(p => p.idProveedor == proveedorSeleccionado.idProveedor).FirstAsync(); selectProveedorProductos.proveedor = proveedorRecuperado; selectProveedorProductos.idProveedor = proveedorRecuperado.idProveedor; //en mi objeto selectProveedorProductos dejo las lineasPedido (con los productos,cantidad y precio seleccionados) y el proveedor que los suministra if (proveedorSeleccionadoViewModel.noProductosSeleccionados) { ModelState.AddModelError("idProveedor", "Error. No ha seleccionado productos."); } if (proveedorSeleccionadoViewModel.noPositivo) { ModelState.AddModelError("idProveedor", "Error. La cantidad no puede ser menor que 0."); } if (proveedorSeleccionadoViewModel.mayorCien) { ModelState.AddModelError("idProveedor", "Error. La cantidad no puede ser mayor que 100."); } //me devuelve la vista con mi objeto selectProveedorProductos (producto, cantidad, precio seleccionados junto con el proveedor asociado) return(View(selectProveedorProductos)); }
public ActionResult Index(string busqueda, int pagina = 1) { var cantidadRegistrosPorPagina = 10; var modelo = new ProveedoresViewModel(); if (busqueda != null) { var Prov = db.proveedor.Where(x => x.nombre_proveedor.StartsWith(busqueda)).OrderByDescending(x => x.id_proveedor). Skip((pagina - 1) * cantidadRegistrosPorPagina). Take(cantidadRegistrosPorPagina).ToList(); var totalDeRegistros = db.proveedor.Where(x => x.nombre_proveedor.StartsWith(busqueda)).Count(); modelo.Proveedores = Prov; modelo.PaginaActual = pagina; modelo.RegistrosPorPagina = cantidadRegistrosPorPagina; modelo.TotalDeRegistros = totalDeRegistros; modelo.ValoresQueryString = new RouteValueDictionary(); modelo.ValoresQueryString["busqueda"] = busqueda; return(View(modelo)); } else { var Prov = db.proveedor.OrderByDescending(x => x.id_proveedor). Skip((pagina - 1) * cantidadRegistrosPorPagina). Take(cantidadRegistrosPorPagina).ToList(); var totalDeRegistros = db.proveedor.Count(); modelo.Proveedores = Prov; modelo.PaginaActual = pagina; modelo.RegistrosPorPagina = cantidadRegistrosPorPagina; modelo.TotalDeRegistros = totalDeRegistros; modelo.ValoresQueryString = new RouteValueDictionary(); modelo.ValoresQueryString[""] = busqueda; return(View(modelo)); } }
public async Task <IActionResult> SelectProveedor(ProveedoresViewModel proveedorSeleccionadoViewModel) //le paso el proveedor seleccionado de mi viewmodel { // Comprobar si el proveedor seleccionado tiene productos if (ModelState.IsValid) { Proveedor proveedorSeleccionado = new Proveedor(); proveedorSeleccionado.idProveedor = proveedorSeleccionadoViewModel.idProveedor; //dejamos en la variable proveedorSeleccionado el proveedor List <Producto> productosAsociados = obtenerProductosDeProveedor(proveedorSeleccionado); //llamamos al metodo para obtener los productos asociados al proveedor if (productosAsociados.LongCount() == 0) { proveedorSeleccionadoViewModel.proveedores = await _context.Proveedor.ToListAsync(); //le meto en mi objeto selectProveedor los proveedores ModelState.AddModelError("idProveedor", "Error. El proveedor seleccionado no tiene productos. Seleccione uno distinto."); return(View(proveedorSeleccionadoViewModel)); } else { return(RedirectToAction("SelectProductos", proveedorSeleccionadoViewModel)); //llamo a la vista de SelectProductos pasandole el ViewModel con el proveedor } } else { proveedorSeleccionadoViewModel.proveedores = await _context.Proveedor.ToListAsync(); //le meto en mi objeto selectProveedor los proveedores // me devuelve la vista con el proveedor seleccionado return(View(proveedorSeleccionadoViewModel)); } }
// GET: Pedidoes/Create // Prepara la vista para mostrar los proveedores public async Task <IActionResult> SelectProveedor() { ProveedoresViewModel selectProveedores = new ProveedoresViewModel(); selectProveedores.proveedores = await _context.Proveedor.ToListAsync(); //le meto en mi objeto selectProveedores todo el listado de proveedores return(View(selectProveedores)); // llamo a la vista para que me la devuelva con mi listado de proveedores }
public ProveedoresPage() { InitializeComponent(); _proveedoresViewModel = new ProveedoresViewModel(DependencyResolver.Instance.FacadeProvider); _proveedoresViewModel.InitializeViewContent(); DataContext = _proveedoresViewModel; }
public ActionResult Index() { var model = new ProveedoresViewModel() { Proveedores = _ServicioProveedor.ObtenerProveedores().Select(x => new ProveedorViewItem(x)) }; return(View(model)); }
public ActionResult Edit(ProveedoresViewModel proveedorViewModel) { using (UnidadDeTrabajo <Proveedores> unidad = new UnidadDeTrabajo <Proveedores>(new BDContext())) { unidad.genericDAL.Update(this.Convertir(proveedorViewModel)); unidad.Complete(); } return(RedirectToAction("Index")); }
public void SetViewModel(IFormEditViewModel <Proveedor> vm) { _vm = vm as ProveedoresViewModel; _vm.ViewMustClose += CloseEvent; _vm.ViewHasErrors += ErrorEvent; BindCommands(); BindControls(); }
private Proveedores Convertir(ProveedoresViewModel proveedorViewModel) { Proveedores proveedor = new Proveedores { idProveedor = proveedorViewModel.idProveedor, vNombre = proveedorViewModel.vNombre, iCedula = proveedorViewModel.iCedula, iTelefono = proveedorViewModel.iTelefono, vCorreo = proveedorViewModel.vCorreo, vDireccion = proveedorViewModel.vDireccion, }; return(proveedor); }
public async Task <IActionResult> SelectProductos(ProveedorProductosViewModel proveedorProductosSeleccionadosViewModel) { if (ModelState.IsValid) { Boolean distintoCero = false; Boolean noPositivo = false; Boolean mayorCien = false; foreach (int cantidad in proveedorProductosSeleccionadosViewModel.listaCantidades) { if (cantidad != 0) { distintoCero = true; } if (cantidad < 0) { noPositivo = true; } if (cantidad > 100) { mayorCien = true; } } if (distintoCero == false) { ProveedoresViewModel proveedorSeleccionadoViewModel = new ProveedoresViewModel(); proveedorSeleccionadoViewModel.idProveedor = proveedorProductosSeleccionadosViewModel.idProveedor; //dejamos en la variable proveedorSeleccionado el proveedor proveedorSeleccionadoViewModel.noProductosSeleccionados = true; return(RedirectToAction("SelectProductos", proveedorSeleccionadoViewModel)); } else if (noPositivo == true) { ProveedoresViewModel proveedorSeleccionadoViewModel = new ProveedoresViewModel(); proveedorSeleccionadoViewModel.idProveedor = proveedorProductosSeleccionadosViewModel.idProveedor; //dejamos en la variable proveedorSeleccionado el proveedor proveedorSeleccionadoViewModel.noPositivo = true; return(RedirectToAction("SelectProductos", proveedorSeleccionadoViewModel)); } else if (mayorCien == true) { ProveedoresViewModel proveedorSeleccionadoViewModel = new ProveedoresViewModel(); proveedorSeleccionadoViewModel.idProveedor = proveedorProductosSeleccionadosViewModel.idProveedor; //dejamos en la variable proveedorSeleccionado el proveedor proveedorSeleccionadoViewModel.mayorCien = true; return(RedirectToAction("SelectProductos", proveedorSeleccionadoViewModel)); } else { return(RedirectToAction("ResumenPedido", proveedorProductosSeleccionadosViewModel)); } } else { ProveedoresViewModel proveedorSeleccionadoViewModel = new ProveedoresViewModel(); proveedorSeleccionadoViewModel.idProveedor = proveedorProductosSeleccionadosViewModel.idProveedor; //dejamos en la variable proveedorSeleccionado el proveedor return(RedirectToAction("SelectProductos", proveedorSeleccionadoViewModel)); } }
public ActionResult Create(ProveedoresViewModel proveedoresView) { try { proveedor proveedores = new proveedor(); informacionbancaria informacionbancaria = new informacionbancaria(); if (proveedoresView.Informacionbancaria.Clabe.Length != 18) { ViewBag.Mensaje = "La clabe interbancaria debe tener 18 digitos."; ViewBag.NacionalidadProveedor_Id = new SelectList(db.nacionalidadproveedor, "id", "descripcion"); ViewBag.categoriaproveedor_id = new SelectList(db.categoriaproveedor, "id", "descripcion"); return(View(proveedoresView)); } if (proveedoresView.DynamicTextBox == null) { ViewBag.Mensaje = "Debe ingresar por lo menos un contacto"; ViewBag.NacionalidadProveedor_Id = new SelectList(db.nacionalidadproveedor, "id", "descripcion"); ViewBag.categoriaproveedor_id = new SelectList(db.categoriaproveedor, "id", "descripcion"); return(View(proveedoresView)); } proveedores.Colonia = proveedoresView.Proveedores.Colonia; proveedores.RazonSocial = proveedoresView.Proveedores.RazonSocial; proveedores.RepresentanteLegal = proveedoresView.Proveedores.RepresentanteLegal; proveedores.NombreComercial = proveedoresView.Proveedores.NombreComercial; proveedores.RFC = proveedoresView.Proveedores.RFC; proveedores.CodigoPostal = proveedoresView.Proveedores.CodigoPostal; proveedores.Calle = proveedoresView.Proveedores.Calle; proveedores.Municipio = proveedoresView.Proveedores.Municipio; proveedores.Estado = proveedoresView.Proveedores.Estado; proveedores.Pais = proveedoresView.Proveedores.Pais; proveedores.ModenaFacturacion = proveedoresView.Proveedores.ModenaFacturacion; proveedores.DiasCredito = proveedoresView.Proveedores.DiasCredito; proveedores.ActividadEmpresarial = proveedoresView.Proveedores.ActividadEmpresarial; proveedores.StatusProveedorVisible_Id = 1; proveedores.StatusProveedor_Id = 1; proveedores.CategoriaProveedor_Id = proveedoresView.CategoriaProveedor_Id; proveedores.NacionalidadProveedor_Id = proveedoresView.NacionalidadProveedor_Id; db.proveedor.Add(proveedores); db.SaveChanges(); if (proveedores.id > 0) { informacionbancaria.NombreBanco = proveedoresView.Informacionbancaria.NombreBanco; informacionbancaria.CuentaBancaria = proveedoresView.Informacionbancaria.CuentaBancaria; informacionbancaria.Clabe = proveedoresView.Informacionbancaria.Clabe; informacionbancaria.Proveedores_Id = proveedores.id; db.informacionbancaria.Add(informacionbancaria); db.SaveChanges(); } ////Loop through the dynamic TextBox values. foreach (string textboxValue in proveedoresView.DynamicTextBox) { contactoproveedor contactoproveedor = new contactoproveedor(); //Insert the dynamic TextBox values to Database Table. contactoproveedor.Nombre = textboxValue; foreach (string textboxValue1 in proveedoresView.DynamicTextTelefono) { //Insert the dynamic TextBox values to Database Table. contactoproveedor.Telefono = textboxValue1; } foreach (string textboxValue2 in proveedoresView.DynamicTextMail) { //Insert the dynamic TextBox values to Database Table. contactoproveedor.Mail = textboxValue2; } foreach (string textboxValue3 in proveedoresView.DynamicTextPuesto) { //Insert the dynamic TextBox values to Database Table. contactoproveedor.Puesto = textboxValue3; } contactoproveedor.Proveedores_Id = proveedores.id; db.contactoproveedor.Add(contactoproveedor); db.SaveChanges(); } return(RedirectToAction("IndexView")); } catch (Exception _ex) { ViewBag.Mensaje = _ex.Message.ToString(); return(View(proveedoresView)); } }