public IActionResult MyItems() { string id = HttpContext.Session.GetString("Id"); string role = HttpContext.Session.GetString("role"); if (id == null || role == "buyer" || role == "seller") { return(RedirectToAction("login", "login")); } string Userid = HttpContext.Session.GetString("Id"); ReviewsContext db = new ReviewsContext(); List <SellersItems> list = new List <SellersItems>(); List <byte[]> listImageRefund = new List <byte[]>(); var items = db.PurchasedItems.ToList().Where(x => x.BuyerId.ToString() == Userid).Select(a => a).ToList(); foreach (var item in items) { var currentItem = db.SellersItems.ToList().Where(x => x.Id == item.ItemId).Select(x => x).ToList(); SellersItems itemCurrent = new SellersItems(); { itemCurrent.Categories = item.Id.ToString(); itemCurrent.CreatedAt = item.DateOfPurchased; itemCurrent.Description = item.OrderNumber; itemCurrent.Id = currentItem[0].Id; itemCurrent.Image = currentItem[0].Image; itemCurrent.ItemName = currentItem[0].ItemName; itemCurrent.KeyWords = item.Status; itemCurrent.Ppfee = currentItem[0].Ppfee; itemCurrent.Price = currentItem[0].Price; itemCurrent.RefundDaysTime = currentItem[0].RefundDaysTime; itemCurrent.ReviesNeeded = currentItem[0].ReviesNeeded; itemCurrent.SellerEmail = currentItem[0].SellerEmail; itemCurrent.SellerId = currentItem[0].SellerId; itemCurrent.StoreName = currentItem[0].StoreName; }; list.Add(itemCurrent); if (item.Status == "completed") { listImageRefund.Add(item.RefundImage); } else { var oneItem = new byte[] { 0x20 }; listImageRefund.Add(oneItem); } } listImageRefund.Reverse(); list.Reverse(); ViewBag.listImageRefund = listImageRefund; ViewBag.itemsList = list; return(View()); }
public IActionResult ItemsToRefund() { string idd = HttpContext.Session.GetString("Id"); string role = HttpContext.Session.GetString("role"); if (idd == null || role != "seller") { return(RedirectToAction("login", "login")); } ReviewsContext db = new ReviewsContext(); List <SellersItems> list = new List <SellersItems>(); string id = HttpContext.Session.GetString("Id"); var lists = db.PurchasedItems.ToList().Where(x => x.SellerId.ToString() == id && x.Status == "reviewLive").Select(x => x).ToList(); List <byte[]> Image2 = new List <byte[]>(); List <int> listID = new List <int>(); foreach (var item in lists) { var currentItem = db.SellersItems.ToList().Where(x => x.Id == item.ItemId).Select(x => x).ToList(); ViewBag.Paypal = item.Ppemail; SellersItems itemCurrent = new SellersItems(); { itemCurrent.Categories = currentItem[0].Categories; itemCurrent.CreatedAt = item.DateOfPurchased; itemCurrent.Description = item.OrderNumber; itemCurrent.Id = currentItem[0].Id; itemCurrent.Image = currentItem[0].Image; itemCurrent.ItemName = currentItem[0].ItemName; itemCurrent.KeyWords = item.Status; itemCurrent.Ppfee = currentItem[0].Ppfee; itemCurrent.Price = currentItem[0].Price; itemCurrent.RefundDaysTime = currentItem[0].RefundDaysTime; itemCurrent.ReviesNeeded = currentItem[0].ReviesNeeded; itemCurrent.SellerEmail = currentItem[0].SellerEmail; itemCurrent.SellerId = currentItem[0].SellerId; }; list.Add(itemCurrent); Image2.Add(item.ReviewScreenshot); listID.Add(item.Id); } ViewBag.ImageReviewLive = Image2; ViewBag.itemsList = list; ViewBag.listId = listID; return(View()); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Image,Price,ItemName,Description,StoreName,KeyWords,ReviesNeeded,RefundDaysTime,Ppfee,Categories")] SellersItems sellersItems, List <IFormFile> files) { string role = HttpContext.Session.GetString("role"); if (role != "seller") { return(RedirectToAction("login", "login")); } if (id != sellersItems.Id) { return(NotFound()); } if (ModelState.IsValid) { try { foreach (var item in files) { if (item.Length > 0) { using (var stream = new MemoryStream()) { await item.CopyToAsync(stream); sellersItems.Image = stream.ToArray(); } } } sellersItems.CreatedAt = DateTime.Now; sellersItems.SellerId = Int32.Parse(HttpContext.Session.GetString("Id")); sellersItems.SellerEmail = HttpContext.Session.GetString("Email"); _context.Update(sellersItems); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SellersItemsExists(sellersItems.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index", "Home")); } return(View(sellersItems)); }
public async Task <IActionResult> Create([Bind("Image,Price,ItemName,Description,StoreName,KeyWords,ReviesNeeded,RefundDaysTime,Ppfee,Categories")] SellersItems sellersItems, List <IFormFile> files) { string id = HttpContext.Session.GetString("Id"); string role = HttpContext.Session.GetString("role"); if (id == null || role != "seller") { return(RedirectToAction("login", "login")); } if (ModelState.IsValid) { foreach (var item in files) { if (item.Length > 0) { using (var stream = new MemoryStream()) { await item.CopyToAsync(stream); sellersItems.Image = stream.ToArray(); } } } int sellerId = int.Parse(HttpContext.Session.GetString("Id")); string email = HttpContext.Session.GetString("Email"); sellersItems.SellerEmail = email; sellersItems.SellerId = sellerId; int maxValue = _context.SellersItems.Max(x => x.Id); sellersItems.Id = maxValue + 1; sellersItems.CreatedAt = DateTime.Now; _context.Add(sellersItems); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); } return(View(sellersItems)); }
public async Task <IActionResult> MyItemsPost(string Id, List <IFormFile> files) { PurchasedItems currentPurchase = new PurchasedItems(); int currentID = Int32.Parse(Id); var Currentitem = _context.PurchasedItems.Where(x => x.Id == currentID).Select(x => x).ToList(); byte[] image = new byte[12]; if (ModelState.IsValid) { foreach (var item in files) { if (item.Length > 0) { using (var stream = new MemoryStream()) { await item.CopyToAsync(stream); image = stream.ToArray(); } } } using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); // 1.create a command object identifying the stored procedure SqlCommand cmd = new SqlCommand("CompletePurchase", conn); // 2.set the command object so it knows to execute a stored procedure cmd.CommandType = CommandType.StoredProcedure; // 3.add parameter to command, which will be passed to the stored procedure cmd.Parameters.Add(new SqlParameter("@Id", Int32.Parse(Id))); cmd.Parameters.Add(new SqlParameter("@Image", image)); // execute the command cmd.ExecuteNonQuery(); } SellersItems refundedItem = _context.SellersItems.Where(x => x.Id == Currentitem[0].ItemId).FirstOrDefault(); UsersAccount buyerId = _context.UsersAccount.Where(x => x.Id == Currentitem[0].BuyerId).FirstOrDefault(); MailMessage mail = new MailMessage("*****@*****.**", buyerId.Email); SmtpClient client = new SmtpClient(); client.Port = 587; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential("*****@*****.**", "Password1234!"); client.EnableSsl = true; client.Host = "smtp.gmail.com"; mail.Subject = "You have refund for<b> " + refundedItem.ItemName + "!</b>"; mail.IsBodyHtml = true; mail.Body = "<h3>Hi " + buyerId.Email + "</h3><br>" + "<br><p><b>You have refund for :</b> " + refundedItem.ItemName + "</p>" + "<br><p>Please login to our service to see refund screenshot.</p>" + "<br><p>Thank you for using our service.<p>" + "<p><b>Reviews Trade Team.</b><p>"; client.Send(mail); } return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> PurchaseItemPost(string orderNum, string paypal, int itemId, int sellerId, List <IFormFile> files) { PurchasedItems currentPurchase = new PurchasedItems(); currentPurchase.OrderNumber = orderNum; currentPurchase.Ppemail = paypal; currentPurchase.DateOfPurchased = DateTime.Now; currentPurchase.ItemId = itemId; currentPurchase.SellerId = sellerId; currentPurchase.BuyerId = Int32.Parse(HttpContext.Session.GetString("Id")); currentPurchase.Status = "pending"; if (ModelState.IsValid) { foreach (var item in files) { if (item.Length > 0) { using (var stream = new MemoryStream()) { await item.CopyToAsync(stream); currentPurchase.ScreenShoot = stream.ToArray(); } } } _context.Add(currentPurchase); await _context.SaveChangesAsync(); var itemToUpdate = _context.SellersItems.Where(x => x.Id == itemId).Select(x => x); int?HowmanyReviews = 0; foreach (var item in itemToUpdate) { HowmanyReviews = item.ReviesNeeded - 1; } using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); // 1.create a command object identifying the stored procedure SqlCommand cmd = new SqlCommand("ReviewsNeeded", conn); // 2.set the command object so it knows to execute a stored procedure cmd.CommandType = CommandType.StoredProcedure; // 3.add parameter to command, which will be passed to the stored procedure cmd.Parameters.Add(new SqlParameter("@number", HowmanyReviews)); cmd.Parameters.Add(new SqlParameter("@Id", itemId)); // execute the command cmd.ExecuteNonQuery(); } ReviewsContext db = new ReviewsContext(); UsersAccount seller = db.UsersAccount.ToList().Where(x => x.Id == sellerId).FirstOrDefault(); SellersItems soldItem = db.SellersItems.ToList().Where(x => x.Id == itemId).FirstOrDefault(); MailMessage mail = new MailMessage("*****@*****.**", seller.Email); SmtpClient client = new SmtpClient(); client.Port = 587; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential("*****@*****.**", "Password1234!"); client.EnableSsl = true; client.Host = "smtp.gmail.com"; mail.To.Add("add more peoples..."); mail.Subject = "You have Sold " + soldItem.ItemName + "!"; mail.IsBodyHtml = true; mail.Body = "<h3>Hi " + seller.Email + "</h3><br>" + "<br><p><b>You have sold :</b> " + soldItem.ItemName + "</p>" + "<b>Order number : </b>" + orderNum + "<br><p>we will let you know once review will be live.</p>" + "<br><p>Thank you for using our service<p>" + "<p><b>Reviews Trade Team.</b><p>"; client.Send(mail); return(RedirectToAction("MyItems", "PurchasedItem")); } return(View()); }