public ActionResult Ordina() { Models.Ordine ordine = new Models.Ordine(); var dal = Components.DataLayer; var carrello = dal.GetCarrello(SessionContext.GetUserID()); if (carrello.Count == 0) { return(RedirectToAction("Carrello")); } ViewData.Add("Items", carrello); ordine.Carta = dal.GetCartaCredito(SessionContext.GetUserID()); if (ordine.Carta != null) { ordine.SalvaCarta = true; } if (ordine.Carta != null) { ordine.NumOrig = Convert.ToBase64String(Crypto.Encrypt(ordine.Carta.Numero)); ordine.Carta.Numero = ordine.Carta.NumeroAst; } return(View(ordine)); }
public ActionResult Ordina(Models.Ordine ordine) { try { if (ordine.Carta.Numero == ordine.Carta.NumeroAst) { ordine.Carta.Numero = Crypto.Decrypt(Convert.FromBase64String(ordine.NumOrig)); } var dal = Components.DataLayer; int a = CartaCredito.IsValid(ordine.Carta); if (a == 0) { if (ordine.SalvaCarta) { dal.InsertCartaCredito(ordine.Carta, SessionContext.GetUserID()); } var carrello = dal.GetCarrello(SessionContext.GetUserID()); int b = dal.CreaOrdine(SessionContext.GetUserID()); if (b == 0) { ViewData.Add("Items", carrello); return(View(new Models.Ordine { StatoOrdine = Models.Ordine.Stato.Validato })); } else { return(View(new Models.Ordine { Errore = "Errore del server, riprova più tardi. Codice errore: " + b, StatoOrdine = Models.Ordine.Stato.Errore })); } } else { switch (a) { case -1: ordine.Errore = "Numero errato"; break; case -2: ordine.Errore = "Proprietario non valido"; break; case -3: ordine.Errore = "Scadenza errata"; break; case -4: ordine.Errore = "CVV errato"; break; default: break; } ordine.NumOrig = Convert.ToBase64String(Crypto.Encrypt(ordine.Carta.Numero)); ordine.Carta.Numero = ordine.Carta.NumeroAst; return(View(ordine)); } } catch (Exception) { return(View(new Models.Ordine { Errore = "Errore del server, riprova più tardi", StatoOrdine = Models.Ordine.Stato.Errore })); } }