Ejemplo n.º 1
0
        public static void ExercicioI(string nomePort, string cc, string nif, string nomeC, int valTot)
        {
            Cliente cliente = new Cliente()
            {
                CC                  = cc,       //"123824538674",
                NIF                 = nif,      //"156368578",
                NomeCliente         = nomeC,    //"Eusebio Ferreira",
                NomePortfolio       = nomePort,
                ValorTotalPortfolio = valTot    //5000
            };

            using (PilimEntities ctx = new PilimEntities())
            {
                ShowPortfolios(ctx);

                try {
                    ctx.Cliente.Add(cliente);
                    ctx.SaveChanges();
                    Console.WriteLine("Novo portefolio adicionado");
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Portefolio inserido ja existe. ", ex);
                }
            }

            using (PilimEntities ctx = new PilimEntities())
            {
                ShowPortfolios(ctx);
            }
        }
Ejemplo n.º 2
0
        public static void ExercicioF(String isin, decimal valor, DateTime data)
        {
            Registo registo;
            Triplos triplo = new Triplos()
            {
                Identificacao = isin,
                Dia           = data,
                Valor         = valor,
                Observado     = false
            };

            using (PilimEntities ctx = new PilimEntities())
            {
                CheckISINExists(ctx, isin);
                try {
                    ctx.Triplos.Add(triplo);
                    ctx.SaveChanges();
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Triplo criado ja existe. ", ex);
                }
                try {
                    registo = ctx.Registo.Find(triplo.Identificacao, data);
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Registo procurado nao existe. ", ex);
                }
                Console.WriteLine(registo.ToString());
                try {
                    ctx.p_actualizaValorDiario();
                    ctx.SaveChanges();
                    Console.WriteLine("Valor diario atualizado.");
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro ao atualizar valor diario ", ex);
                }
            }

            using (PilimEntities ctx = new PilimEntities())
            {
                try {
                    registo = ctx.Registo.Find(triplo.Identificacao, data);
                }
                catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Registo criado ja existe. ", ex);
                }
                Console.WriteLine(registo.ToString());
            }
        }
Ejemplo n.º 3
0
        public static void ExercicioH(string isin, DateTime data, decimal valor)
        {
            Instrumento_Financeiro inst = null;

            using (PilimEntities ctx = new PilimEntities())
            {
                CheckISINExists(ctx, isin);
                Console.WriteLine("Valor Actual do Instrumento<{0}> : {1}", isin, inst.ValorAtual);

                Triplos novoTriplo = new Triplos()
                {
                    Identificacao = isin,
                    Dia           = data,
                    Valor         = valor,
                    Observado     = false
                };
                try {
                    ctx.Triplos.Add(novoTriplo);
                    ctx.SaveChanges();
                    Console.WriteLine("Novo triplo criado.");
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Triplo criado ja existe. ", ex);
                }
                try {
                    ctx.p_actualizaValorDiario();
                    ctx.SaveChanges();
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro ao atualizar o valor diario.", ex);
                }
            }

            using (PilimEntities ctx = new PilimEntities())
            {
                Console.WriteLine("Instrumento Depois do Procedimento:");
                inst = CheckISINExists(ctx, isin);
                Console.WriteLine("Valor Actual do Instrumento<{0}> : {1}", isin, inst.ValorAtual);
            }
        }
Ejemplo n.º 4
0
 public static void Exercicio1B_Remove(string isin, DateTime date)
 {
     using (var ctx = new PilimEntities())
     {
         Registo registo;
         try {
             registo = ctx.Registo.Find(isin, date);
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro! Registo indicado nao existe. ", ex);
         }
         try {
             ctx.Registo.Attach(registo);
             ctx.Registo.Remove(registo);
             ctx.SaveChanges();
             Console.WriteLine("Registo do valor de mercado removido. ");
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro! Nao foi possivel remover o registo indicado. ", ex);
         }
     }
 }
Ejemplo n.º 5
0
        public static void Exercicio1B_Create(string codigo, string nome, string desc, string isin, DateTime date, int val_abert)
        {
            Mercado_Financeiro mercado = new Mercado_Financeiro()
            {
                Codigo    = codigo, //"E9BT",
                Nome      = nome,   //"Pilim4Everyone",
                Descricao = desc,   //"Contabilidade e Finanças"
            };

            using (var ctx = new PilimEntities())
            {
                try {
                    ctx.Mercado_Financeiro.Add(mercado);
                    ctx.SaveChanges();
                    Console.WriteLine("Mercado criado sem registos.");
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Mercado criado ja existe. ", ex);
                }
                ShowValoresMercado(ctx);
            }

            Registo registo = new Registo()
            {
                ISIN          = isin,
                Dia           = date,
                ValorAbertura = val_abert
            };

            using (var ctx = new PilimEntities())
            {
                CheckISINExists(ctx, isin);
                try {
                    ctx.Registo.Add(registo);
                    ctx.SaveChanges();
                    Console.WriteLine("Valores do mercado indicado criados.");
                } catch (SqlException ex) {
                    throw new CustomSqlException("Erro! Registo inserido ja existe. ", ex);
                }
                ShowValoresMercado(ctx);
            }
        }
Ejemplo n.º 6
0
 public static void Exercicio1C(string nomePort) //Remover portfolio sem stored procedures
 {
     using (var ctx = new PilimEntities())
     {
         Posicao posicao = null;
         try {
             posicao = ctx.Posicao.Find(nomePort);
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro! Portfolio indicado nao existe.", ex);
         }
         try {
             ctx.Posicao.Attach(posicao);
             ctx.Posicao.Remove(posicao);
             ctx.SaveChanges();
             ShowPortfolios(ctx);
         } catch (SqlException ex)
         {
             throw new CustomSqlException("Erro! Nao foi possivel remover o portfolio.", ex);
         }
     }
 }
Ejemplo n.º 7
0
 public static void Exercicio1B_Update(string isin, DateTime date, int val)
 {
     using (var ctx = new PilimEntities())
     {
         Registo registo;
         try {
             registo = ctx.Registo.Find(isin, date);
             ShowValoresMercado(ctx);
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro! Registo especificado nao existe.", ex);
         }
         try {
             registo.ValorAbertura = val;
             ctx.SaveChanges();
             Console.WriteLine("Valor de mercado atualizado.");
             ShowValoresMercado(ctx);
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro! Nao foi possivel atualizar o valor do registo indicado. ", ex);
         }
     }
 }
Ejemplo n.º 8
0
 public static void ExercicioJ(string cc, string isin, double valor)
 {
     using (PilimEntities ctx = new PilimEntities())
     {
         Posicao posicao = null;
         try {
             posicao = ctx.Posicao.Find(isin, cc);
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro! Posicao procurada inexistente. ", ex);
         }
         Console.WriteLine("Quantidade sobre a posicao com: ");
         Console.WriteLine("\n\tInstrumento: {0}\n\tCC: {1}\n\tQuantidade: {2}", isin, cc, posicao.Quantidade);
         try {
             posicao.Quantidade += valor;
             ctx.SaveChanges();
             Console.WriteLine("Nova quantidade sobre a posicao com: ");
             Console.WriteLine("\n\tInstrumento: {0}\n\tCC: {1}\n\tQuantidade: {2}", isin, cc, posicao.Quantidade);
         } catch (SqlException ex) {
             throw new CustomSqlException("Erro ao adicionar quantidade a posicao. ", ex);
         }
     }
 }