예제 #1
0
        public ActionResult Create([Bind(Include = "nombres,apellidos,documento,fechaNacimiento,direccion,telefono,email")] Cliente registro, FormCollection formCollection)
        {
            try
            {
                string idCiudad = formCollection.Get("ciudad");

                if (ModelState.IsValid)
                {
                    _base             = new ClienteBL();
                    registro.idCiudad = int.Parse(idCiudad);
                    _base.Guardar(registro);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    registro.Ciudades = new List <Ciudad>();
                    registro.Ciudades = CiudadBL.ObtenerTodos();
                    return(View(registro));
                }
            }
            catch
            {
                registro.Ciudades = new List <Ciudad>();
                registro.Ciudades = CiudadBL.ObtenerTodos();
                return(View(registro));
            }
        }
        public ActionResult Create([Bind(Include = "nombre,descripcion,precio,cantidad")] Producto registro, FormCollection formCollection)
        {
            try
            {
                string _idCategoria = formCollection.Get("categoria");

                if (ModelState.IsValid)
                {
                    _base = new ProductoBL();
                    registro.idCategoria = int.Parse(_idCategoria);
                    _base.Guardar(registro);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    registro.Categorias = CategoriaBL.ObtenerTodos();
                    return(View(registro));
                }
            }
            catch
            {
                registro.Categorias = CategoriaBL.ObtenerTodos();
                return(View(registro));
            }
        }
        public ActionResult Create([Bind(Include = "nombres,apellidos,fechaNacimiento,Usuario")] Empleado registro, FormCollection formCollection)
        {
            try
            {
                var    foto1     = Request.InputStream;
                String roleValue = formCollection.Get("roles");

                if (Request.Files.Count > 0)
                {
                    var file1 = Request.Files[0];

                    if (file1 != null)
                    {
                        if (file1.ContentLength == 0)
                        {
                            registro.foto = null;
                        }
                        else
                        {
                            registro.foto = new byte[file1.ContentLength];
                            file1.InputStream.Read(registro.foto, 0, file1.ContentLength);
                        }
                    }
                }


                if (ModelState.IsValid)
                {
                    registro.Usuario.idRol = int.Parse(roleValue);
                    _base = new EmpleadoBL();
                    _base.Guardar(registro);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    registro             = new Empleado();
                    registro.Usuario     = new Usuario();
                    registro.Usuario.Rol = new List <Rol>();
                    registro.Usuario.Rol = RolBL.ObtenerTodos();

                    return(View(registro));
                }
            }
            catch
            {
                return(View(registro));
            }
        }
        public ActionResult CrearFactura(int?id, int?idFactura, int?idProducto)
        {
            int.TryParse(idFactura.ToString(), out int _idFactura);
            int.TryParse(id.ToString(), out int _idCliente);
            Factura _registro;

            if (id > 0)
            {
                var _usuarioLogeado = (Usuario)Session["User"];
                _registro            = new Factura();
                _registro.idVendedor = _usuarioLogeado.id;
                _registro.idCliente  = _idCliente;
                _registro.facturado  = false;
                _registro.valorTotal = 0;
                _base     = new FacturaBL();
                _registro = (Factura)_base.Guardar(_registro);
                return(RedirectToAction("CrearFactura", "Facturacion", new { @id = 0, @idFactura = _registro.id }));
            }
            else if (_idFactura > 0)
            {
                //EXISTE FACTURA
                _base     = new FacturaBL();
                _registro = (Factura)_base.ObtenerId(_idFactura);
                _base     = new ProductoBL();
                var _productos = (_base.ObtenerTodos()).Cast <Producto>().ToList();
                _registro.Productos = _productos;

                //SE VERIFICA SI SELECCIONARON PRODUCTOS NUEVOS
                int.TryParse(idProducto.ToString(), out int _idProducto);

                if (_idProducto > 0)
                {
                    //SE CREA EL DETALLE EN LA FACTURA
                    _base = new DetalleFacturaBL();

                    var _detalle = new DetalleFactura();
                    _detalle.cantidad   = 1;
                    _detalle.idFactura  = _idFactura;
                    _detalle.idProducto = _idProducto;
                    _detalle.precio     = _registro.Productos.Where(x => x.id == _idProducto).FirstOrDefault().precio;
                    _base.Guardar(_detalle);
                    double _valorTotal = 0;
                    //SE ACTUALIZA LA FACTURA EL VALOR A PAGAR (MEJORABLE CON LAS SUMAS DE LOS DETALLES)
                    Parallel.ForEach(_registro.DetalleFactura.Cast <DetalleFactura>(),
                                     currentElement =>
                    {
                        _valorTotal += currentElement.precio;
                    });
                    _registro.valorTotal = _valorTotal;
                    _base               = new FacturaBL();
                    _registro           = (Factura)_base.Editar(_registro);
                    _registro.Productos = _productos;
                }


                return(View(_registro));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }