public async Task <IActionResult> ConfirmCart()
        {
            try
            {
                var email = HttpContext.User.Identity.Name;
                var user  = _userRepo.GetUserByEmail(email);
                var cart  = await GetCurrentUserCart();

                var list = new List <DTOArticle>();


                foreach (var elem in cart)
                {
                    var curr = await _articleRepo.GetById(elem.ArticleId);

                    list.Add(curr);
                    if (curr != null)
                    {
                        curr.State = "sold";
                        var test = await _articleRepo.Update(curr);

                        DTOTransaction CurrTrans = new DTOTransaction();
                        CurrTrans.ArticleId        = curr.Id;
                        CurrTrans.BuyerId          = user.Id;
                        CurrTrans.TransactionState = "sold";
                        CurrTrans.LastUpdateAt     = DateTime.Today;
                        var adding = await _transactionRepo.Insert(CurrTrans);
                    }
                }

                if (cart.Count() != 0)
                {
                    MailMessage message = new MailMessage();
                    SmtpClient  smtp    = new SmtpClient();
                    message.From = new MailAddress("*****@*****.**");
                    message.To.Add(new MailAddress(email));
                    message.Subject            = "Facture Fripshop";
                    message.IsBodyHtml         = false;
                    message.Body               = build_string(list, user);
                    smtp.Port                  = 587;
                    smtp.Host                  = "smtp.gmail.com"; //for gmail host
                    smtp.EnableSsl             = true;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials           = new NetworkCredential("*****@*****.**", "fripshopdotnet");
                    smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
                    smtp.Send(message);
                    var del = DeleteUserCart(user.Id);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("CONTROLLER CART -- Confirm() -- Error on Controller : ", ex);
                return(BadRequest());
            }
            return(View("ShowCart"));
        }
Exemplo n.º 2
0
 public static TransactionModel ToModel(this DTOTransaction dtoTransaction)
 {
     return(new TransactionModel()
     {
         Id = dtoTransaction.Id,
         From = dtoTransaction.From.Id,
         To = dtoTransaction.To.Id,
         Amount = dtoTransaction.Amount
     });
 }
Exemplo n.º 3
0
 public DTOResponse <bool> Pay(DTOTransaction transactionInfo)
 {
     return(_transactionDomain.Pay(transactionInfo.To.Id, transactionInfo.Amount));
 }