public ActionResult CrearEditarInventario(int id, InventarioViewModel model)
        {
            try
            {
                if (model.DescripcionVenta == null)
                {
                    model.DescripcionVenta = model.Descripcion;
                }
                long idInventario     = 0;
                var  codigoInventario = "";
                var  inventario       = new TbPrInventario();
                if (id == 0)
                {
                    long?existeInventario = service.ExisteInventarioCodigo(model.Codigo);
                    if (existeInventario == 0)
                    {
                        var idUser = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
                        model.IdUsuario = int.Parse(idUser);
                        inventario      = map.Create(model);
                        idInventario    = inventario.IdInventario;
                        var precios = preciosService.GetAll();
                        precioCatalogoService.SaveFromInventario((int)inventario.IdInventario);
                    }
                }
                else
                {
                    var existeInventario = service.ExisteInventarioCodigo(model.Codigo);
                    var flag             = true;

                    if (existeInventario != 0)
                    {
                        if (existeInventario != id)
                        {
                            flag = false;
                        }
                    }

                    if (flag)
                    {
                        inventario = map.Update(id, model);
                    }
                }

                return(Json(new { id = inventario.IdInventario, codigo = inventario.Codigo }));
            }

            catch (Exception ex)
            {
                AltivaLog.Log.Insertar(ex.ToString(), "Error");
                return(BadRequest());
            }
        }
        public ActionResult CrearEditarInventario(int id, InventarioViewModel model)
        {
            try
            {
                // TODO: Add insert logic here
                var inventario = new TbPrInventario();

                var idInventario = 0;

                if (id == 0)
                {
                    inventario = service.GetInventarioByCodigo(model.Codigo);
                    if (inventario == null)
                    {
                        var idUser = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
                        model.IdUsuario = int.Parse(idUser);
                        inventario      = map.Create(model);
                        idInventario    = (int)inventario.IdInventario;
                    }
                }
                else
                {
                    inventario = service.GetInventarioByCodigo(model.Codigo);
                    var flag = true;

                    if (inventario != null)
                    {
                        if (inventario.IdInventario != id)
                        {
                            flag         = false;
                            idInventario = 0;
                        }
                    }

                    if (flag)
                    {
                        inventario   = map.Update(id, model);
                        idInventario = id;
                    }
                }

                return(Json(new { id = idInventario }));
            }

            catch
            {
                return(BadRequest());
            }
        }