public ActionResult OrderDetails(int id) // id=OrderId
        {
            Order o = new Order();

            o = OrderRepository.GetOrderById(id);
            CreditCard cc = CreditCardRepository.GetCreditCardById(o.CreditCardId);

            ViewBag.creditcard = cc == null ? "" : cc.CreditCardType.Title + "</br>" + cc.CreditCardNumber + "</br>" + cc.ExpirationMonth + "/" + cc.ExpirationYear + "</br>" + cc.SecurityCode;
            return(PartialView(o));
        }
        public ActionResult OrderDetails(int id) // id=OrderId
        {
            Order o = new Order();

            o = OrderRepository.GetOrderById(id);
            CreditCard cc = CreditCardRepository.GetCreditCardById(o.CreditCardId);

            ViewBag.creditcard  = cc == null ? "" : cc.last4Digits;
            ViewBag.paymenttype = o.IsPayPalPayment ? "PayPal Payment" : o.IsGiftCardPayment == false ? "Credit Card Payment" : o.GiftCardAmountPay == o.OrderTotal ? "Gift Card Payment" : "Credit Card and Gift Card Payment";
            return(PartialView(o));
        }
        public bool DoCheckoutCompleted(BuyGiftCardModel model)
        {
            bool     completed      = false;
            NVPCodec decoderResults = new NVPCodec();

            decoderResults = (NVPCodec)Session["result"];
            TempData["OrderSummaryTitle"] = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
            // string res = Util.BuildResponse(Session["result"], Request.QueryString.Get("API"), "Thank you for your payment!");

            int cardid = CreditCardRepository.GetCreditCardId(UserName, int.Parse(model.CardType), model.CardNumber, int.Parse(model.ExpirationMonth), int.Parse(model.ExpirationYear), int.Parse(model.SecurityCode));

            if (cardid == 0)
            {
                cardid = AddCreditCardToDB(model).CreditCardId;
            }
            CreditCard cc = CreditCardRepository.GetCreditCardById(cardid);
            //Order od = AddOrderToDB(cart, decoderResults["TRANSACTIONID"].ToString(), false, 0, 0.0m);
            string code = Guid.NewGuid().ToString();

            TempData["CardCode"] = code;
            DateTime dt = DateTime.Now;
            GiftCard gc = GiftCardRepository.AddGiftCard(0, code, CurrentUserID, cardid, 0, model.BuyerEmail, model.RecipientEmail,
                                                         model.Amount, dt, model.Amount, 0.0m, 0.0m, dt, UserName, dt, UserName, true);
            EmailManager  em = new EmailManager();
            EmailContents ec = new EmailContents();

            em.OrderTime = dt.ToShortTimeString() + " " + dt.ToShortDateString();
            TempData["DeliveryAddress"] = "";
            em.OrderType        = "Buy Gift Card";
            em.PaymentType      = "Credit Card";
            em.OrderNumber      = code; //gift card code
            em.Name             = UserName;
            em.Phone            = model.Phone;
            em.IpAddress        = base.CurrentUserIP;
            em.CreditCardType   = cc.CreditCardType.Title;
            em.CreditCardNumber = "xxxx-xxxx-xxxx-" + cc.CreditCardNumber.Substring(cc.CreditCardNumber.Length - 4);
            em.ExpirationDate   = cc.ExpirationMonth.ToString() + "/" + cc.ExpirationYear.ToString();
            em.SecurityCode     = "xx" + cc.SecurityCode.ToString().Substring(cc.SecurityCode.ToString().Length - 1);
            em.Instruction      = model.Message;
            em.Total            = Helper.FormatPriceWithDollar(decoderResults["AMT"].ToString()); // ToUSD(cart.Total().ToString("N2"));
            ec.FromEmailAddress = Globals.Settings.ContactForm.MailFrom;
            ec.FromName         = "foodready.net";
            ec.Subject          = "New online order";
            ec.To   = model.RecipientEmail;
            ec.Body = em.BuildGiftCardEmailHtmlBody(model);
            //em.FaxBody = em.BuildGiftCardFaxHtmlBody(model);
            //em.SendFax(WebConfigurationManager.AppSettings["OnlineFaxNumber"].ToString());
            em.Send(ec);
            ec.To = Globals.Settings.ContactForm.MailTo;
            em.Send(ec);
            if (em.IsSent == false)
            {
                completed = false;
                TempData["EmailSentMsg"] = ec.Body;
                // TempData["paymentResult"] = "SendEmail failed";
            }
            else
            {
                completed = true;
                TempData["EmailSentMsg"] = ec.Body;
                //TempData["paymentResult"] = string.Empty;
            }
            return(completed);
        }