public static void adicionar(TipoGasto categoria)
            {
                SGFEntities db = new SGFEntities();

                db.TipoGasto.Add(categoria);
                db.SaveChanges();
            }
                public static Usuario id(int id)
                {
                    SGFEntities db   = new SGFEntities();
                    Usuario     user = db.Usuario.SingleOrDefault(x => x.id == id);

                    return(user);
                }
            public static void cadastrar(Usuario user)
            {
                SGFEntities db = new SGFEntities();

                db.Usuario.Add(user);
                db.SaveChanges();
            }
            public static void cadastrar(Gasto gasto)
            {
                SGFEntities db = new SGFEntities();

                db.Gasto.Add(gasto);
                db.SaveChanges();
            }
            public static void adicionar(Item item)
            {
                SGFEntities db = new SGFEntities();

                db.Item.Add(item);
                db.SaveChanges();
            }
            public static void atualizar(int id, String nome)
            {
                SGFEntities db  = new SGFEntities();
                TipoGasto   cat = db.TipoGasto.SingleOrDefault(x => x.id == id);

                cat.nome = nome;
                db.SaveChanges();
            }
                public static void reduceSaldo(int id, double valor)
                {
                    SGFEntities db          = new SGFEntities();
                    Usuario     currentUser = db.Usuario.First(x => x.id == id);

                    currentUser.saldo -= valor;
                    db.SaveChanges();
                }
                public static void senha(int id, String senha)
                {
                    SGFEntities db          = new SGFEntities();
                    Usuario     currentUser = db.Usuario.First(x => x.id == id);

                    currentUser.senha = senha;
                    db.SaveChanges();
                }
            public static void atualizar(double novoValor, int id)
            {
                SGFEntities db    = new SGFEntities();
                Gasto       gasto = db.Gasto.SingleOrDefault(x => x.id == id);

                gasto.valor = novoValor;
                db.SaveChanges();
            }
                public static void atualizar(int ano, int mes, double valor, int userId)
                {
                    SGFEntities db    = new SGFEntities();
                    Renda       renda = db.Renda.SingleOrDefault(x => x.ano == ano && x.mes == mes && x.usuario_id == userId);

                    renda.valor = valor;
                    db.SaveChanges();
                }
            public static void delete(Item item)
            {
                SGFEntities db         = new SGFEntities();
                var         itemDelete = db.Item.SingleOrDefault(x => x.id == item.id);

                db.Item.Remove(itemDelete);
                db.SaveChanges();
            }
                public static void saldo(int id, double saldo)
                {
                    SGFEntities db          = new SGFEntities();
                    Usuario     currentUser = db.Usuario.First(x => x.id == id);

                    currentUser.saldo = saldo;
                    db.SaveChanges();
                }
            public static void atualizar(int id, double valor, String nome, int dia, int tipo)
            {
                SGFEntities db   = new SGFEntities();
                Item        item = db.Item.SingleOrDefault(x => x.id == id);

                item.nome  = nome;
                item.valor = valor;
                item.dia   = dia;
                item.tipo  = tipo;
                db.SaveChanges();
            }
            public static void delete(int id)
            {
                SGFEntities db    = new SGFEntities();
                var         gasto = db.Gasto.SingleOrDefault(x => x.id == id);

                foreach (Item item in gasto.Item.ToList())
                {
                    var item1 = db.Item.SingleOrDefault(x => x.id == item.id);
                    db.Item.Remove(item1);
                }

                db.Gasto.Remove(gasto);
                db.SaveChanges();
            }
                public static void ano(int ano, int userId)
                {
                    List <Renda> rendas = new List <Renda>();

                    for (int i = 1; i <= 12; i++)
                    {
                        Renda renda = new Renda();
                        renda.ano        = ano;
                        renda.mes        = i;
                        renda.valor      = 0;
                        renda.usuario_id = userId;

                        rendas.Add(renda);
                    }
                    SGFEntities db = new SGFEntities();

                    db.Renda.AddRange(rendas);
                    db.SaveChanges();
                }
            public static void delete(TipoGasto categoria)
            {
                SGFEntities db  = new SGFEntities();
                var         cat = db.TipoGasto.SingleOrDefault(x => x.id == categoria.id);

                foreach (Gasto gasto in cat.Gasto.ToList())
                {
                    foreach (Item item in gasto.Item.ToList())
                    {
                        var item1 = db.Item.SingleOrDefault(x => x.id == item.id);
                        db.Item.Remove(item1);
                    }
                    var gasto1 = db.Gasto.SingleOrDefault(x => x.id == gasto.id);
                    db.Gasto.Remove(gasto1);
                }

                db.TipoGasto.Remove(cat);

                db.SaveChanges();
            }
                public static Usuario conferir(String email, String senha)
                {
                    SGFEntities db = new SGFEntities();

                    try
                    {
                        Usuario user = db.Usuario.SingleOrDefault(x => x.email == email);
                        if (user.senha == senha)
                        {
                            return(user);
                        }
                        else
                        {
                            throw new Exception();
                        }
                    }

                    catch (Exception e) {
                        return(null);
                    }
                }
                public static TipoGasto id(int id)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.TipoGasto.SingleOrDefault(x => x.id == id));
                }
                public static Usuario email(String email)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.Usuario.SingleOrDefault(x => x.email == email));
                }
                public static List <Renda> ano(int ano, int id)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.Renda.SqlQuery("SELECT * FROM Renda WHERE ano = " + ano + "AND Usuario_id = " + id).ToList <Renda>());
                }
            public static Item pesquisar(int id)
            {
                SGFEntities db = new SGFEntities();

                return(db.Item.SingleOrDefault(x => x.id == id));
            }
                public static List <TipoGasto> userId(int userId)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.TipoGasto.SqlQuery("SELECT * FROM TipoGasto WHERE Usuario_id = " + userId).ToList <TipoGasto>());
                }
                public static List <Usuario> nome(String nome)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.Usuario.SqlQuery("SELECT * FROM Usuario WHERE nome = '" + nome + "'").ToList <Usuario>());
                }
                public static Renda renda(int user_id, int mes, int ano)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.Renda.SingleOrDefault(x => x.usuario_id == user_id && x.mes == mes && x.ano == ano));
                }
                public static Gasto data(int ano, int mes, int catId)
                {
                    SGFEntities db = new SGFEntities();

                    return(db.Gasto.SingleOrDefault(x => x.mes == mes && x.ano == ano && x.tipoGasto_id == catId));
                }