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); }
// 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); }
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); }
Mdr IRepository <Mdr> .Add(Mdr entity) { throw new NotImplementedException(); }
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"); } }