public ActionResult Buscar(ComprobanteViewModel c)
        {
            try
            {
                //ViewBag.Result1 = categoriaApiClienat.categorias();
                DetalleComprobante dc = new DetalleComprobante();
                dc.idComprobante = c.idComprobante;

                List <DetalleComprobante> model = comprobanteApiClient.buscarDetalleComprobante(dc);

                if (model == null)
                {
                    ViewBag.error  = "si";
                    ViewBag.error2 = "No se ha encontrado el comprobante.";
                }
                else
                {
                    ViewBag.error = "no";
                    ViewBag.data  = model;
                }


                return(View());
            }
            catch
            {
                return(RedirectToAction("Error"));
            }
        }
        public ActionResult Create(ComprobanteViewModel model, string action)
        {
            if (action == "generar")
            {
                if (!string.IsNullOrEmpty(model.Cliente))
                {
                    if (comprobanteService.Save(model.ToModel()))
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    ModelState.AddModelError("cliente", "Debe agregar un cliente para el comprobante");
                }
            }
            else if (action == "agregar_producto")
            {
                // Si no ha pasado nuestra validación, mostramos el mensaje personalizado de error
                if (!model.SeAgregoUnProductoValido())
                {
                    ModelState.AddModelError("producto_agregar", "Solo puede agregar un producto válido al detalle");
                }
                else if (model.ExisteEnDetalle(model.CabeceraProductoId))
                {
                    ModelState.AddModelError("producto_agregar", "El producto elegido ya existe en el detalle");
                }
                else
                {
                    model.AgregarItemADetalle();
                }
            }
            else if (action == "retirar_producto")
            {
                model.RetirarItemDeDetalle();
            }
            else
            {
                throw new Exception("Acción no definida ..");
            }

            return(View(model));
        }