Ejemplo n.º 1
0
        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."
            }));
        }
Ejemplo n.º 2
0
        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."));
        }
Ejemplo n.º 3
0
        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."));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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."));
        }
Ejemplo n.º 6
0
        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());
        }