//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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 7
0
        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"));
        }
Ejemplo n.º 8
0
        public void SetViewModel(IFormEditViewModel <Proveedor> vm)
        {
            _vm = vm as ProveedoresViewModel;

            _vm.ViewMustClose += CloseEvent;
            _vm.ViewHasErrors += ErrorEvent;

            BindCommands();

            BindControls();
        }
Ejemplo n.º 9
0
        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));
            }
        }