public async Task <IActionResult> Add(CommentAddDto commentAddDto) { if (!ModelState.IsValid) { return(Json(new JResult { Status = Status.BadRequest, Message = "Eksik veya hatalı kayıtlar mevcut!" })); } var comment = _mapper.Map <Comment>(commentAddDto); await _commentService.AddAsync(comment); try { var userInDb = await _userManager.FindByNameAsync("admin"); var body = new StringBuilder(); body.AppendLine($"Ad Soyad: {commentAddDto.Name}"); body.AppendLine($"<br />"); body.AppendLine($"Email: {commentAddDto.EmailAdress}"); body.AppendLine($"<br />"); body.AppendLine($"Mesaj : {commentAddDto.Content}"); SendMail.MailSender($"BerendBebe - Yeni Yorum", body.ToString(), userInDb.Email); } catch (Exception) { } return(Json(new JResult { Status = Status.Ok, Message = "Yorumunuz alınmıştır. Değerlendikten sonra onaylanacaktır." })); }
public async Task <IActionResult> Reply(ContactReplyDto contactComposeDto) { if (!ModelState.IsValid) { return(View(contactComposeDto).ShowMessage(Status.Error, "Hata", "Eksik veya hatalı bilgiler mevcut!")); } if (!await _contactService.MailExistsAsync(contactComposeDto.Id)) { return(RedirectToAction("Index").ShowMessage(Status.Error, "Hata", "Cevaplanmak istenen mail bulunamadı!")); } var contactInDb = await _contactService.FindByIdAsync(contactComposeDto.Id); contactInDb.ReplyMessage = contactComposeDto.Message; await _contactService.UpdateAsync(contactInDb); try { var body = new StringBuilder(); body.AppendLine($"Konu: {contactComposeDto.Subject}"); body.AppendLine($"Mesaj: {contactComposeDto.Message}"); SendMail.MailSender($"BerendBebe - {contactComposeDto.Subject}", body.ToString(), contactComposeDto.EmailAdress); } catch (Exception) { return(View(contactComposeDto).ShowMessage(Status.Error, "Hata", "Mail gönderme işlemi sırasında hata oluştu!")); } return(RedirectToAction("Index").ShowMessage(Status.Ok, "Başarılı", "Mail başarıyla gönderildi.")); }
public async Task <IActionResult> Compose(ContactComposeDto contactSendDto) { if (!ModelState.IsValid) { return(View(contactSendDto).ShowMessage(Status.Error, "Hata", "Eksik veya hatalı bilgiler mevcut!")); } try { var body = new StringBuilder(); body.AppendLine($"Konu: {contactSendDto.Subject}"); body.AppendLine($"Mesaj: {contactSendDto.Message}"); SendMail.MailSender($"BerendBebe - {contactSendDto.Subject}", body.ToString(), contactSendDto.EmailAdress); var contact = _mapper.Map <Contact>(contactSendDto); await _contactService.AddAsync(contact); } catch (Exception) { return(View(contactSendDto).ShowMessage(Status.Error, "Hata", "Mail gönderme işlemi sırasında hata oluştu!")); } return(RedirectToAction("Index").ShowMessage(Status.Ok, "Başarılı", "Mail başarıyla gönderildi.")); }
public async Task <IActionResult> ConfirmOrder(int?id) { if (id == null) { return(RedirectToAction("Index").ShowMessage(Status.Error, "Hata", "Hatalı istek! Lütfen yeniden deneyiniz.")); } if (!await _orderService.OrderExistsAsync(id.Value)) { return(RedirectToAction("Index").ShowMessage(Status.Error, "Hata", "Kargoya verildi olarak düzenlenmek istenen sipariş bulunamadı!")); } var orderInDb = await _orderService.FindByIdAsync(id.Value); orderInDb.LastUpDate = DateTime.Now; var message = string.Empty; var body = new StringBuilder(); if (orderInDb.Status == OrderStatus.Ready) { orderInDb.Status = OrderStatus.InCargo; message = "Ürün kargoya verildi olarak düzenlendi."; try { body.AppendLine($"Merhaba, {orderInDb.Name} {orderInDb.LastName},"); body.AppendLine($"<br />"); body.AppendLine($"<br />"); body.AppendLine($"<b>{orderInDb.Id}</b> numaralı teslimatını, kargoraya verdik"); body.AppendLine($"<br />"); body.AppendLine($"Güzel günlerde kullanmanız dileğiyle, iyi günler dileriz."); body.AppendLine($"<br />"); body.AppendLine("<hr />"); body.AppendLine($"<br />"); body.AppendLine("<b>Kargo Bilgileri: </b>"); body.AppendLine($"<br />"); body.AppendLine($"<br />"); body.AppendLine($"<b>Firma : </b> {orderInDb.CargoName}"); body.AppendLine($"<br />"); body.AppendLine($"<b>Kargo No: </b> {orderInDb.CargoNo}"); SendMail.MailSender($"BerendBebe - Sipariş Takip", body.ToString(), orderInDb.Email); } catch (Exception) { //return View(contactSendDto).ShowMessage(Status.Error, "Hata", "Mail gönderme işlemi sırasında hata oluştu!"); } } else if (orderInDb.Status == OrderStatus.InCargo) { orderInDb.Status = OrderStatus.Confirmed; message = "Ürün teslim edildi olarak düzenlendi."; body.AppendLine($"Merhaba, {orderInDb.Name} {orderInDb.LastName},"); body.AppendLine($"<br />"); body.AppendLine($"<br />"); body.AppendLine($"<b>{orderInDb.Id}</b> numaralı siparişini teslim ettik."); body.AppendLine($"<br />"); body.AppendLine($"Alışverişinde bizi tercih ettiğin için teşekkür ederiz."); body.AppendLine("<hr />"); body.AppendLine($"<br />"); body.AppendLine($"<b>Teslimat Adresi : </b></br> {orderInDb.Address}"); body.AppendLine($"<br />"); SendMail.MailSender($"BerendBebe - Siparişiniz Teslim Edildi", body.ToString(), orderInDb.Email); } await _orderService.UpdateAsync(orderInDb); return(RedirectToAction("Index").ShowMessage(Status.Ok, "Başarılı", message)); }
public async Task <IActionResult> ConfirmOrder(OrderAddDto orderAddDto) { var cartsInDbList = await _cartService.GetAllWithProductAsync(HttpContext.GetCookie("BerendBebeCart")); if (!ModelState.IsValid) { orderAddDto.Carts = cartsInDbList; orderAddDto.PaymentTypes = await _paymentTypeService.GetAllAsync(); return(View(orderAddDto).ShowMessage(Status.Error, "Hata", "Eksik veya hatalı bilgiler mevcut")); } var order = _mapper.Map <Order>(orderAddDto); var savedOrder = await _orderService.AddAsync(order); foreach (var cart in cartsInDbList) { OrderDetail orderDetail = new OrderDetail { ProductId = cart.ProductId, OrderId = savedOrder.Id, Price = cart.Product.Price, ProductName = cart.Product.ProductName, Quantity = cart.Quantity, ShowImageUrl = cart.Product.ShowImageUrl }; //Ürün stok kontrol işlemi if (!await _productService.ProductUnitInStokCountControlAsync(cart.ProductId, cart.Quantity)) { var productInDb = await _productService.FindByIdAsync(cart.ProductId); orderAddDto.Carts = cartsInDbList; orderAddDto.PaymentTypes = await _paymentTypeService.GetAllAsync(); await _orderService.RemoveAsync(savedOrder); return(View(orderAddDto).ShowMessage(Status.Error, "Hata", "Sepetinizde stoğu yeterli olmayan ürünler bulunmaktadrı.")); } await _orderDetailService.AddAsync(orderDetail); } await _cartService.RemoveAsync(cartsInDbList); try { var body = new StringBuilder(); body.AppendLine($"Merhaba {orderAddDto.Name} {orderAddDto.LastName},"); body.AppendLine($"<br />"); body.AppendLine($"<br />"); body.AppendLine($"<b>{savedOrder.Id}</b> numaralı siparişini aldık. Alışverişinde bizi tercih ettiğiniz için teşekkür ederiz."); body.AppendLine($"<br />"); body.AppendLine("<hr />"); body.AppendLine($"<br />"); body.AppendLine("<b>Teslimat Adresi: </b> "); body.AppendLine($"<br />"); body.AppendLine($"{orderAddDto.Address} {orderAddDto.City}"); SendMail.MailSender($"BerendBebe - Siparişini Aldık", body.ToString(), orderAddDto.Email); body.Clear(); var userInDb = await _userManager.FindByNameAsync("admin"); body.AppendLine($"Yeni bir siparişiniz var."); body.AppendLine($"<br />"); body.AppendLine($"<a href=\"https://berendbebe.com/Admin/Order/OrderDetail/2\"{savedOrder.Id}\">Sipiş Detayına Git</a>"); body.AppendLine($"<br />"); body.AppendLine("<hr />"); body.AppendLine($"<br />"); body.AppendLine("<b>Teslimat Adresi: </b> "); body.AppendLine($"<br />"); body.AppendLine($"{orderAddDto.Address} {orderAddDto.City}"); SendMail.MailSender($"BerendBebe - Yeni Sipariş", body.ToString(), orderAddDto.Email); } catch (Exception) { //return View(contactSendDto).ShowMessage(Status.Error, "Hata", "Mail gönderme işlemi sırasında hata oluştu!"); } return(RedirectToAction("Index", "Product").ShowMessage(Status.Ok, "Başarılı", "Siparişiniz alınmıştır. Onaylanıp kargoya verildikten sonra tarafınıza bilgi verilecektir.")); }
public ActionResult BasketPaymentResult() { PosEntegration entegration = db.PosEntegrations.Find(2); BasketTransactions basketTransactions = new BasketTransactions(); NotUserBasketModel basketModel = Session["NotUserBasketModel"] as NotUserBasketModel; Basket basket = new Basket(); string merchant_id = entegration.StoreCode; string merchant_key = entegration.UserName; string merchant_salt = entegration.Password; string merchant_oid = Request.Form["merchant_oid"]; string status = Request.Form["status"]; string total_amount = Request.Form["total_amount"]; string hash = Request.Form["hash"]; string installment_count = Request.Form["installment_count"]; string Birlestir = string.Concat(merchant_oid, merchant_salt, status, total_amount); HMACSHA256 hmac = new HMACSHA256(Encoding.UTF8.GetBytes(merchant_key)); byte[] b = hmac.ComputeHash(Encoding.UTF8.GetBytes(Birlestir)); string token = null; token = Convert.ToBase64String(b); //if (hash != token) //{ // Response.Write("PAYTR notification failed: bad hash"); // return; //} if (status == "success") { try { Basket dbBasket = db.Baskets.Include(x => x.User).FirstOrDefault(x => x.BasketKey == merchant_oid); dbBasket.StatusId = 2; db.Entry(dbBasket).State = EntityState.Modified; //basketTransactions.Status = status; //basketTransactions.CreateDateTime = DateTime.Now; //basketTransactions.UserId = dbBasket.UserId; //basketTransactions.BasketKey = dbBasket.BasketKey; //basketTransactions.BasketId = dbBasket.Id; //basketTransactions.Description = "Ödeme İşlemi Başarıyla Gerçekleştirildi."; //basketTransactions.CreateUserId = dbBasket.UserId; //db.BasketTransactionses.Add(basketTransactions); List <OrderProduct> orderProducts = db.OrderProducts.Where(x => x.BasketId == dbBasket.Id).ToList(); foreach (var item in orderProducts) { //ProductOperations productOperations = new ProductOperations(); //productOperations.ProductOperationsCreate(item.ProductId, 3, "Satış No:" + item.Basket.BasketKey + " - Adet:" + item.Quantity, dbBasket.UserId); //Product product = db.Products.FirstOrDefault(x => x.Id == item.ProductId); //product.Stock = product.Stock - item.Quantity; //db.Entry(product).State = EntityState.Modified; item.InTheBasket = false; db.Entry(item).State = EntityState.Modified; } db.SaveChanges(); Session.Remove("NotUserBasketModel"); Session.Remove("AktifSepet"); //SendMail sendMail = new SendMail(); //sendMail.MailSender("Ödemeniz başarıyla tamamlandı", MailSayfasiGet(merchant_oid), dbBasket.User.Email); } catch (Exception e) { SendMail sendMail = new SendMail(); sendMail.MailSender("Ödeme Yapıldı Sepet Kapatılamadı", "Sayfadan gelen hata:<br>" + "Sipariş Numarası:" + merchant_oid + e.InnerException + "<br><br>" + e.Source + "<br><br>" + e.Message, "*****@*****.**"); } Response.Write("OK"); } return(View()); }