// GET: All books
 public JsonResult GetProdutos()
 {
     using (PomarContext contextObj = new PomarContext())
     {
         var produtoList = contextObj.Produtos.ToList();
         return Json(produtoList, JsonRequestBehavior.AllowGet);
     }
 }
 // GET: All books
 public JsonResult GetClientes()
 {
     using (PomarContext contextObj = new PomarContext())
     {
         var clienteList = contextObj.Clientes.ToList();
         return Json(clienteList, JsonRequestBehavior.AllowGet);
     }
 }
 //GET: Book by Id
 public JsonResult GetClienteById(string id)
 {
     using (PomarContext contextObj = new PomarContext())
     {
         var clienteId = Convert.ToInt32(id);
         var getClienteById = contextObj.Clientes.Find(clienteId);
         return Json(getClienteById, JsonRequestBehavior.AllowGet);
     }
 }
 public string GetAllClients()
 {
     using (PomarContext contextObj = new PomarContext())
     {
         string clienteList = contextObj.Clientes.ToList().Count.ToString();
         
         return clienteList;
     }
 }
 // GET: All books
 public string GetAllProducts()
 {
     using (PomarContext contextObj = new PomarContext())
     {
         string produtoList = contextObj.Produtos.ToList().Count.ToString();
         
         return produtoList;
     }
 }
 //GET: Book by Id
 public JsonResult GetProdutoById(string id)
 {
     using (PomarContext contextObj = new PomarContext())
     {
         var produtoId = Convert.ToInt32(id);
         var getProdutoById = contextObj.Produtos.Find(produtoId);
         return Json(getProdutoById, JsonRequestBehavior.AllowGet);
     }
 }
 // Add book
 public string AddProduto(Produto produto)
 {
     if (produto != null)
     {
         using (PomarContext contextObj = new PomarContext())
         {
             contextObj.Produtos.Add(produto);
             contextObj.SaveChanges();
             return "Product record added successfully";
         }
     }
     else
     {
         return "Invalid product record";
     }
 }
        public string GetUserInformation()
        {
            using (PomarContext contextObj = new PomarContext())
            {
                var listUsers = contextObj.Usuarios.ToList();

                foreach (var usr in listUsers)
                {
                    if (usr.isLoged == 1)
                    {
                        return usr.Nome;
                    }
                }

                return null;
            }

        }
        public static Usuario GetCurrentUser()
        {
           
            using (PomarContext contextObj = new PomarContext())
            {
                var listUsers = contextObj.Usuarios.ToList();

                foreach (var usr in listUsers)
                {
                    if (usr.isLoged == 1)
                    {
                        return usr;
                    }
                }

                return null;
            }
        }
        // Add book
        public string AddCliente(Cliente cliente)
        {

            if (cliente != null)
            {
                using (PomarContext contextObj = new PomarContext())
                {
                    cliente.UserId = ControleSessao.GetCurrentUser().Id;

                    contextObj.Clientes.Add(cliente);
                    contextObj.SaveChanges();
                    return "Cliente cadastrado com sucesso";
                }
            }
            else
            {
                return "Invalid book record";
            }
        }
 //Update Book
 public string UpdateCliente(Cliente cliente)
 {
     if (cliente != null)
     {
         using (PomarContext contextObj = new PomarContext())
         {
             int clienteId = Convert.ToInt32(cliente.Id);
             Cliente _cliente = contextObj.Clientes.Where(c => c.Id == clienteId).FirstOrDefault();
             _cliente.Nome = cliente.Nome;
             _cliente.Contato = cliente.Contato;
             _cliente.Nota = cliente.Nota;
             contextObj.SaveChanges();
             return "Client record updated successfully";
         }
     }
     else
     {
         return "Invalid client record";
     }
 }
 //Update Book
 public string UpdateProduto(Produto produto)
 {
     if (produto != null)
     {
         using (PomarContext contextObj = new PomarContext())
         {
             int produtoId = Convert.ToInt32(produto.Id);
             Produto _produto = contextObj.Produtos.Where(c => c.Id == produtoId).FirstOrDefault();
             _produto.Nome = produto.Nome;
             _produto.Quantidade = produto.Quantidade;
             _produto.Valor = produto.Valor;
             _produto.Validade = _produto.Validade;
             _produto.Descricao = _produto.Descricao;
             _produto.ProdutoVencido = _produto.ProdutoVencido;
             contextObj.SaveChanges();
             return "Product record updated successfully";
         }
     }
     else
     {
         return "Invalid product record";
     }
 }
        // Delete book
        public string DeleteCliente(string clienteId)
        {

            if (!String.IsNullOrEmpty(clienteId))
            {
                try
                {
                    int _clienteId = Int32.Parse(clienteId);
                    using (PomarContext contextObj = new PomarContext())
                    {
                        var _cliente = contextObj.Clientes.Find(_clienteId);
                        contextObj.Clientes.Remove(_cliente);
                        contextObj.SaveChanges();
                        return "Selected client record deleted sucessfully";
                    }
                }
                catch (Exception)
                {
                    return "Client details not found";
                }
            }
            else
            {
                return "Invalid operation";
            }
        }
 public PomarContext Get()
 {
     return dataContext ?? (dataContext = new PomarContext());
 }
        // Delete book
        public string DeleteProduto(string produtoId)
        {

            if (!String.IsNullOrEmpty(produtoId))
            {
                try
                {
                    int _produtoId = Int32.Parse(produtoId);
                    using (PomarContext contextObj = new PomarContext())
                    {
                        var _produto = contextObj.Produtos.Find(_produtoId);
                        contextObj.Produtos.Remove(_produto);
                        contextObj.SaveChanges();
                        return "Selected product record deleted sucessfully";
                    }
                }
                catch (Exception)
                {
                    return "Product details not found";
                }
            }
            else
            {
                return "Invalid operation";
            }
        }