Exemplo n.º 1
0
        private static List <Mdr> getMdrs()
        {
            List <Mdr> mdrs = new List <Mdr>();

            Mdr mdrAdquirenteA = Mdr.Criar(idAdquirente: "A", adquirente: "Adquirente A");

            mdrAdquirenteA.AddTaxa(BandeiraTipo.Visa, taxaCredito: 2.25m, taxaDebito: 2.00m);
            mdrAdquirenteA.AddTaxa(BandeiraTipo.Master, taxaCredito: 2.35m, taxaDebito: 1.98m);

            mdrs.Add(mdrAdquirenteA);

            Mdr mdrAdquirenteB = Mdr.Criar(idAdquirente: "B", adquirente: "Adquirente B");

            mdrAdquirenteB.AddTaxa(BandeiraTipo.Visa, taxaCredito: 2.50m, taxaDebito: 2.08m);
            mdrAdquirenteB.AddTaxa(BandeiraTipo.Master, taxaCredito: 2.65m, taxaDebito: 1.75m);

            mdrs.Add(mdrAdquirenteB);

            Mdr mdrAdquirenteC = Mdr.Criar(idAdquirente: "C", adquirente: "Adquirente C");

            mdrAdquirenteC.AddTaxa(BandeiraTipo.Visa, taxaCredito: 2.75m, taxaDebito: 2.16m);
            mdrAdquirenteC.AddTaxa(BandeiraTipo.Master, taxaCredito: 3.10m, taxaDebito: 1.58m);

            mdrs.Add(mdrAdquirenteC);
            return(mdrs);
        }
Exemplo n.º 2
0
        // GET: api/Mdr
        public List <Mdr> Get()
        {
            var           lista      = new List <Mdr>();
            string        connStr    = ConfigurationManager.ConnectionStrings["cnnBD"].ConnectionString;
            SqlConnection connection = new SqlConnection(connStr);

            connection.Open();

            string        sql     = "select * from tbDadosMDR";
            SqlCommand    command = new SqlCommand(sql, connection);
            SqlDataReader reader  = command.ExecuteReader();

            while (reader.Read())
            {
                Mdr inf = new Mdr();

                inf.Adquirente = "Adquirente " + reader["Adquirente"].ToString();
                inf.Bandeira   = reader["Bandeira"].ToString() == "V"? "Visa" : "Master";
                inf.Tipo       = reader["Tipo"].ToString() == "C"? "Crédito" : "Débito";
                inf.Taxa       = decimal.Parse(reader["Taxa"].ToString());

                lista.Add(inf);
            }

            connection.Close();

            return(lista);
        }
Exemplo n.º 3
0
        public static Transaction Create(Mdr mdrAdquirente, decimal valor, TipoTransaction tipo, BandeiraTipo bandeira)
        {
            var transaction = new Transaction();

            transaction.Valor        = valor;
            transaction.ValorLiquido = mdrAdquirente.CalcularValorLiquido(valor: valor, tipoTransaction: tipo, bandeira: bandeira);
            transaction.Adquirente   = mdrAdquirente.IdAdquirente;
            transaction.Bandeira     = bandeira;
            transaction.Tipo         = tipo;

            return(transaction);
        }
Exemplo n.º 4
0
 Mdr IRepository <Mdr> .Add(Mdr entity)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 5
0
        public async Task <ActionResult <string> > PostMdr(Transaction transaction)
        {
            double liquid;

            if (Double.TryParse(transaction.Valor.ToString(), out liquid))
            {
                List <Mdr> lstMdr = new List <Mdr>();
                foreach (Mdr m in _context.Mdrs)
                {
                    lstMdr.Add(m);
                }
                Mdr mdr = lstMdr.Where(x => x.Adquirinte == transaction.Adquirinte || x.Adquirinte.Substring(x.Adquirinte.Length - 1, 1) == transaction.Adquirinte).FirstOrDefault();
                await _context.SaveChangesAsync();

                if (mdr != null)
                {
                    if (transaction.Bandeira == "Visa" || transaction.Bandeira == "visa")
                    {
                        Taxa taxa = (Taxa)mdr.Taxas.Where(x => x.Bandeira == "Visa").FirstOrDefault();
                        if (transaction.Tipo == "credito" || transaction.Tipo == "Credito" || transaction.Tipo == "crédito" || transaction.Tipo == "Crédito")
                        {
                            liquid = liquid * (100.0 - taxa.Credito) / 100;
                        }
                        else if (transaction.Tipo == "debito" || transaction.Tipo == "Debito" || transaction.Tipo == "débito" || transaction.Tipo == "Débito")
                        {
                            liquid = liquid * (100.0 - taxa.Debito) / 100;
                        }

                        else
                        {
                            return("Not Found");
                        }
                    }

                    else if (transaction.Bandeira == "Master" || transaction.Bandeira == "master")
                    {
                        Taxa taxa = (Taxa)mdr.Taxas.Where(x => x.Bandeira == "Master").FirstOrDefault();
                        if (transaction.Tipo == "credito" || transaction.Tipo == "Credito" || transaction.Tipo == "crédito" || transaction.Tipo == "Crédito")
                        {
                            liquid = liquid * (100.0 - taxa.Credito) / 100;
                        }
                        else if (transaction.Tipo == "debito" || transaction.Tipo == "Debito" || transaction.Tipo == "débito" || transaction.Tipo == "Débito")
                        {
                            liquid = liquid * (100.0 - taxa.Debito) / 100;
                        }

                        else
                        {
                            return("Not Found");
                        }
                    }

                    else
                    {
                        return("Not Found");
                    }

                    var obj = new
                    {
                        ValorLiquido = liquid
                    };

                    return(Json(obj));
                }

                else
                {
                    return("Not Found");
                }
            }

            else
            {
                return("Incorrect input");
            }
        }