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 async Task GetItemReturnsItem() { var options = new DbContextOptionsBuilder <ReviewsContext>() .UseInMemoryDatabase(databaseName: $"ItemsDatabase{Guid.NewGuid()}") .Options; using (var context = new ReviewsContext(options)) { context.Items.Add(new Item { Name = "item" }); context.Items.Add(new Item { Name = "item1" }); context.SaveChanges(); } using (var context = new ReviewsContext(options)) { ItemRepository repo = new ItemRepository(context); var _controller = new ItemsController(repo, _mockLogger.Object); var okResult = await _controller.GetItem("item") as OkObjectResult; Assert.Equal(200, okResult.StatusCode); } }
public SellersItemsController(IConfiguration configuration, ReviewsContext context) { _configuration = configuration; connectionString = _configuration.GetConnectionString("DatabaseConnection"); _context = context; }
public IActionResult Login(string login, string password) { ReviewsContext db = new ReviewsContext(); List <UsersAccount> CheckUserCredentials = db.UsersAccount.ToList().Where(a => a.Login == login && a.Password == password) .Select(a => a).ToList(); if (CheckUserCredentials.Count() != 0) { HttpContext.Session.SetString("Login", login); HttpContext.Session.SetString("Email", CheckUserCredentials[0].Email); HttpContext.Session.SetString("Id", Convert.ToString(CheckUserCredentials[0].Id)); HttpContext.Session.SetString("firstName", CheckUserCredentials[0].FirstName); HttpContext.Session.SetString("lastName", CheckUserCredentials[0].LastName); HttpContext.Session.SetString("role", CheckUserCredentials[0].Role); //using (SqlConnection conn = new SqlConnection(connectionString)) //{ // conn.Open(); // DateTime loginTime = DateTime.Now; // // 1. create a command object identifying the stored procedure // SqlCommand cmd = new SqlCommand("Update UsersAccount Set LastLogin VALUES = " + "'" + loginTime + "'" + " Where ID = " + CheckUserCredentials[0].Id + "", conn); // cmd.Parameters.AddWithValue("@value", loginTime); // cmd.Parameters.AddWithValue("@ID", CheckUserCredentials[0].Id); // cmd.ExecuteNonQuery(); //} return(RedirectToAction("Index", "Home")); } ViewBag.message = "Login and Password not match, please try again"; ViewBag.classinfo = "alert alert-danger"; return(View()); }
public async Task GetReviewsWithLowerRatingReturnsReviews() { var options = new DbContextOptionsBuilder <ReviewsContext>() .UseInMemoryDatabase(databaseName: $"ItemsDatabase{Guid.NewGuid()}") .Options; using (var context = new ReviewsContext(options)) { context.Items.Add(new Item { Name = "item", Reviews = new List <Review>() { new Review { Feedback = "smth", Rating = 3 } } }); context.SaveChanges(); } using (var context = new ReviewsContext(options)) { ItemRepository repo = new ItemRepository(context); var _controller = new ReviewsController(repo, _mockLogger.Object, _mapper.Object); var okResult = await _controller.GetReviewByAverageRatingLowerThan(2) as OkObjectResult; Assert.Equal(200, okResult.StatusCode); } }
public PurchasedItem(IConfiguration configuration, ReviewsContext context) { _configuration = configuration; connectionString = _configuration.GetConnectionString("DatabaseConnection"); _context = context; }
public IActionResult Register(string firstName, string lastName, string login, string password, string email) { ReviewsContext db = new ReviewsContext(); List <UsersAccount> CheckIfAccountAlreadyTaken = db.UsersAccount.ToList().Where(a => a.Login == login) .Select(a => a).ToList(); if (CheckIfAccountAlreadyTaken.Count() == 0) { string computerName = Environment.MachineName; string ip = ""; var host = Dns.GetHostEntry(Dns.GetHostName()); foreach (var Ip in host.AddressList) { if (Ip.AddressFamily == AddressFamily.InterNetwork) { ip = Ip.ToString(); } } ; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); // 1. create a command object identifying the stored procedure SqlCommand cmd = new SqlCommand("NewUser", 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("@login", login)); cmd.Parameters.Add(new SqlParameter("@password", password)); cmd.Parameters.Add(new SqlParameter("@email", email)); cmd.Parameters.Add(new SqlParameter("@IP", ip)); cmd.Parameters.Add(new SqlParameter("@ComputerName", computerName)); cmd.Parameters.Add(new SqlParameter("@FirstName", firstName)); cmd.Parameters.Add(new SqlParameter("@LastName", lastName)); cmd.Parameters.Add(new SqlParameter("@Role", "buyer")); cmd.ExecuteNonQuery(); } ViewBag.message = "Registration Complete successfully please login."; ViewBag.classinfo = "alert alert-success"; } else { ViewBag.message = "User with this login already exist please try again."; ViewBag.classinfo = "alert alert-danger"; } return(View("Login")); }
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 IActionResult Register(string login, string password, string email) { ReviewsContext db = new ReviewsContext(); List <UsersAccount> CheckIfAccountAlreadyTaken = db.UsersAccount.ToList().Where(a => a.Login == login && a.Password == password) .Select(a => a).ToList(); if (CheckIfAccountAlreadyTaken.Count() == 0) { string computerName = Environment.MachineName; string ip = ""; var host = Dns.GetHostEntry(Dns.GetHostName()); foreach (var Ip in host.AddressList) { if (Ip.AddressFamily == AddressFamily.InterNetwork) { ip = Ip.ToString(); } } ; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); // 1. create a command object identifying the stored procedure SqlCommand cmd = new SqlCommand("NewUser", 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("@login", login)); cmd.Parameters.Add(new SqlParameter("@password", password)); cmd.Parameters.Add(new SqlParameter("@email", email)); cmd.Parameters.Add(new SqlParameter("@IP", ip)); cmd.Parameters.Add(new SqlParameter("@ComputerName", computerName)); cmd.Parameters.Add(new SqlParameter("@Role", "buyer")); cmd.ExecuteNonQuery(); } } ModelState.AddModelError("error", "Student Name already exists."); return(View("Login"));; }
public IActionResult MyItems() { string id = HttpContext.Session.GetString("Id"); string role = HttpContext.Session.GetString("role"); if (id == null || role != "seller") { return(RedirectToAction("login", "login")); } string Id = HttpContext.Session.GetString("Id"); ViewBag.role = HttpContext.Session.GetString("role"); ReviewsContext db = new ReviewsContext(); ViewBag.list = db.SellersItems.ToList().Where(x => x.SellerId.ToString() == Id).Select(x => x).ToList(); return(View()); }
public ActionResult FacebookCallback2(fbuser user) { ReviewsContext db = new ReviewsContext(); user.id = iduserG; db.Users.Attach(user); foreach (var item in user.pagelist) { db.Pages.Attach(item); db.Entry(item).State = EntityState.Modified; } //user.id = 10213618568591702+""; db.Entry(user).State = EntityState.Modified; fuserG = user; db.SaveChanges(); return(RedirectToAction("FacebookCallback3", "Home")); }
public void ItemExsitsReturnsTrue() { var options = new DbContextOptionsBuilder <ReviewsContext>() .UseInMemoryDatabase(databaseName: $"ItemsDatabase{Guid.NewGuid()}") .Options; using (var context = new ReviewsContext(options)) { context.Items.Add(new Item { Name = "item", Reviews = new List <Review>() { new Review { Feedback = "smth", Rating = 10 } } }); context.SaveChanges(); IItemRepository repo = new ItemRepository(context); var result = repo.ItemExists("item"); Assert.True(result); } }
public async Task GetReviewByNameReturnsItem() { var options = new DbContextOptionsBuilder <ReviewsContext>() .UseInMemoryDatabase(databaseName: $"ItemsDatabase{Guid.NewGuid()}") .Options; using (var context = new ReviewsContext(options)) { context.Items.Add(new Item { Name = "item", Reviews = new List <Review>() { new Review { Feedback = "smth", Rating = 10 } } }); context.SaveChanges(); IItemRepository repo = new ItemRepository(context); var result = await repo.GetReviewsByItemNameAsync("item"); Assert.Single(result); } }
public async Task CreatesReviewForItem() { var options = new DbContextOptionsBuilder <ReviewsContext>() .UseInMemoryDatabase(databaseName: $"ItemsDatabase{Guid.NewGuid()}") .Options; using (var context = new ReviewsContext(options)) { var review = new Review { Feedback = "smth", Rating = 10 }; context.Items.Add(new Item { Name = "item" }); context.SaveChanges(); IItemRepository repo = new ItemRepository(context); await repo.LeaveReviewAsync("item", review); var reviewFromItem = await repo.GetReviewsByItemNameAsync("item"); Assert.Single(reviewFromItem); } }
//private readonly IHttpClientFactory client; public FetchReviewsController(ReviewsContext _db) { db = _db; //client =_client; }
public CategoryRepository(ReviewsContext db) { this.db = db; }
public ActionResult Details(string id) { var fb = new FacebookClient(); ReviewsContext db = new ReviewsContext(); var pg = new page(); pg = db.Pages.Find(id); Session["AccessToken"] = pg.access_token; fb.AccessToken = pg.access_token; dynamic me1 = fb.Get("https://graph.facebook.com/v3.0/me/ratings"); var data = me1["data"].ToString(); var mm = JsonConvert.DeserializeObject <List <Rating> >(data); // var mm2 = JsonConvert.DeserializeObject<Rating>(data2); pg.ratinglist = mm; foreach (var item in pg.ratinglist) { string idReviewer = "-1"; string nameReviewer = "Not Assigned"; if (item.reviewer == null) { idReviewer = "-1"; Reviewer ii = new Reviewer(); ii.id = "-1"; ii.name = "Not Assigned"; item.reviewer = ii; } else { idReviewer = item.reviewer.id; nameReviewer = item.reviewer.name; } var sqlR = db.Ratings.SqlQuery( "select * from dbo.Ratings where convert(datetime,created_time) like convert(datetime,'" + item.created_time + "') and page_id like " + pg.id); if (sqlR.Count() == 0) { var sqlR2 = db.Database.SqlQuery <Rating.Reviewer>( "select * from dbo.Reviewer where id like " + item.reviewer.id); if (sqlR2.Count() == 0) { db.Database.ExecuteSqlCommand("Insert into dbo.Reviewer values" + "(@id,@name)", new SqlParameter("id", item.reviewer.id), new SqlParameter("name", item.reviewer.name) ); } db.Database.ExecuteSqlCommand("Insert into dbo.Ratings values" + "(@time,@rating,@review_text,@reviewer_id,@page_id)", //new SqlParameter("id",item.Id), new SqlParameter("time", item.created_time), new SqlParameter("rating", item.rating), new SqlParameter("review_text", item.review_text), new SqlParameter("reviewer_id", item.reviewer.id), new SqlParameter("page_id", pg.id) ); /* db.Database.ExecuteSqlCommand( * "UPDATE dbo.Pages SET fbuser_id = " + + "where id =" + item.id);*/ } } return(View(mm)); }
public ActionResult FacebookCallback(string code) { var fb = new FacebookClient(); dynamic result = fb.Post("oauth/access_token", new { client_id = "2253354658274452", client_secret = "35cf0272817393adb4c8d253f5dbe7ad", redirect_uri = RediredtUri.AbsoluteUri, code = code }); var accessToken = result.access_token; var accesToken = result.access_token; //short lived acces Token dynamic result2 = fb.Get("https://graph.facebook.com/v3.0/oauth/access_token?grant_type=fb_exchange_token&client_id=2253354658274452&client_secret=35cf0272817393adb4c8d253f5dbe7ad&fb_exchange_token=" + accesToken); var accesToken2 = result2.access_token; // long lived acces Token Session["AccessToken"] = accesToken2; fb.AccessToken = accesToken2; dynamic me1 = fb.Get("me"); string iduser = me1.id; dynamic result3 = fb.Get(" https://graph.facebook.com/v3.0/me?fields=accounts&access_token" + accesToken2); var pages = result3.accounts.data; int length = pages.Count; /* string id = string.Empty; * for (int i = 0; i < length; i++) * { * if (pages[i] != null) * { id = pages[i].id; } * * } * * * dynamic result4 = fb.Get(" https://graph.facebook.com/v3.0/" + id + "?fields=access_token&access_token=" + accesToken2); * var accesTokenPage = result4.access_token; //page acces Token aves expiration=jamais * TempData["Page Acces Token"] = accesTokenPage; * Session["AccessToken"] = accesTokenPage; * fb.AccessToken = accesTokenPage; * * * * * * dynamic mee = fb.Get("me?id"); * dynamic me = fb.Get("me?id"); * * string email = me.email; * * TempData["email"] = me; */ var data = result3.accounts["data"].ToString(); var mm = JsonConvert.DeserializeObject <List <page> >(data); var f1 = new fbuser(); f1.id = iduser; f1.pagelist = mm; iduserG = iduser; /****/ ReviewsContext db = new ReviewsContext(); int abc = 0; if (db.Users.Find(f1.id) == null) { db.Users.Add(f1); abc = 1; } foreach (var item in f1.pagelist) { if (db.Pages.Find(item.id) == null) { db.Pages.Add(item); db.SaveChanges(); db.Database.ExecuteSqlCommand( "UPDATE dbo.Pages SET fbuser_id = " + iduser + "where id =" + item.id); } } db.SaveChanges(); /*****/ f1 = db.Users.Find(f1.id); fuserG = f1; if (abc == 1) { return(View(f1)); } return(RedirectToAction("FacebookCallback3", "Home")); // return Redirect("~/Home/Index"); }
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()); }
public HomeController(ReviewsContext context) { _context = context; }
public ItemRepository(ReviewsContext context) { _context = context; }
public ReviewController() { db = new ReviewsContext(); }
public UserReviewRepository(ReviewsContext db) { this.db = db; }