public override IHttpActionResult Create(CreateTransactionForm form) { // Validation Sample List <string> possibleCardBrands = Enum.GetNames(typeof(CreditCardBrandEnum)).ToList(); if (!possibleCardBrands.Contains(form.CreditCardBrand)) { string errorMessage = string.Format( "O Bandeira de Cartão \"{0}\" não existe. Bandeiras possíveis: {1}", form.CreditCardBrand, string.Join(", ", possibleCardBrands)); ModelState.AddModelError("invalidCreditCardBrand", errorMessage); } // Future: More Validation on the Model if (!ModelState.IsValid) { return(BadRequest(ModelState)); } HttpResponse <CreateSaleResponse> transactionResponse = this.transactionService.Create(form); // Bypasses HttpStatusCode to client return(Content(transactionResponse.HttpStatusCode, transactionResponse.Response)); }
public void ShouldInvalidateInvalidCardBrandType() { CreateTransactionForm form = ModelFactory.BuildCreateTransactionForm(); string invalidBrand = "NotVisa"; form.CreditCardBrand = invalidBrand; IHttpActionResult result = controller.Create(form); Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult)); }
public static CreateTransactionForm BuildCreateTransactionForm() { CreateTransactionForm createTransactionForm = new CreateTransactionForm { AmountInCents = 10000, CreditCardBrand = "Visa", CreditCardNumber = "4111111111111111", ExpMonth = 10, ExpYear = 22, SecurityCode = 123, HolderName = "LUKE SKYWALKER", InstallmentCount = 1 }; return(createTransactionForm); }
// ========================== Portfolio ==================================== private void createTransactionToolStripMenuItem_Click(object sender, EventArgs e) { if (createTransactionForm == null) { createTransactionForm = new CreateTransactionForm(); this.IsMdiContainer = true; createTransactionForm.MdiParent = this; MainPanel.Visible = false; createTransactionForm.FormClosed += CreateTransactionForm_FormClosed; createTransactionForm.Show(); } else { createTransactionForm.Activate(); } }
public override HttpResponse <CreateSaleResponse> Create(CreateTransactionForm form) { // Converts string into one of CreditCardBrandEnum options CreditCardBrandEnum card = (CreditCardBrandEnum)Enum.Parse(typeof(CreditCardBrandEnum), form.CreditCardBrand); // Creates Transaction CreditCardTransaction transaction = new CreditCardTransaction() { AmountInCents = form.AmountInCents, CreditCard = new CreditCard() { CreditCardBrand = card, CreditCardNumber = form.CreditCardNumber, ExpMonth = form.ExpMonth, ExpYear = form.ExpYear, HolderName = form.HolderName, SecurityCode = form.SecurityCode.ToString() }, InstallmentCount = form.InstallmentCount }; // Cria requisição. CreateSaleRequest createSaleRequest = new CreateSaleRequest() { // Adiciona a transação na requisição. CreditCardTransactionCollection = new Collection <CreditCardTransaction> ( new CreditCardTransaction[] { transaction } ), Order = new Order() { OrderReference = "NumeroDoPedido" } }; // Autoriza a transação e recebe a resposta do gateway. HttpResponse <CreateSaleResponse> httpResponse = serviceClient.Sale.Create(createSaleRequest); return(httpResponse); }
public abstract HttpResponse <CreateSaleResponse> Create(CreateTransactionForm form);
public abstract IHttpActionResult Create(CreateTransactionForm form);
public override HttpResponse <CreateSaleResponse> Create(CreateTransactionForm form) { return(this.consumer.Create(form)); }
public override HttpResponse <CreateSaleResponse> Create(CreateTransactionForm form) { throw new NotImplementedException(); }
private void CreateTransactionForm_FormClosed(object sender, FormClosedEventArgs e) { createTransactionForm = null; }