public IActionResult NewAuction(NewAuctionViewModel model) { if (ModelState.IsValid) { var CurrentUserId = _userManager.GetUserId(User); var CurrentUserOjb = _userManager.Users.Where(user => user.Id == CurrentUserId).SingleOrDefault(); var item = new ApplicationItem { ItemName = model.ItemName, ItemDetails = model.ItemDetails, StartingBid = model.StartingBid, EndDate = model.EndDate, CreatedBy = CurrentUserOjb }; _context.ApplicationItem.Add(item); var newAuction = new ApplicationAuction { ItemForBid = item, ApplicationUser = CurrentUserOjb, HighestBidder = CurrentUserId, HightestBidInt = model.StartingBid }; _context.ApplicationAuction.Add(newAuction); _context.SaveChanges(); return(Redirect("/")); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Create( [Bind(Include = "StartPrice,Title,Description,StartDateTimeUtc,EndDateTimeUtc,Image")] NewAuctionViewModel viewAuction) { if (this.ModelState.IsValid) { var members = new SimpleMemberService(this.mainRepository); var auction = new Auction() { Title = viewAuction.Title, Description = viewAuction.Description, StartPrice = viewAuction.StartPrice, StartDateTimeUtc = viewAuction.StartDateTimeUtc, EndDateTimeUtc = viewAuction.EndDateTimeUtc, Seller = members.GetCurrentMember(), }; if (viewAuction.Image != null) { byte[] fileContent = new byte[viewAuction.Image.InputStream.Length]; viewAuction.Image.InputStream.Read(fileContent, 0, fileContent.Length); auction.Image = fileContent; } this.service.Save(auction); return(RedirectToAction("Index")); } return(View()); }
public JsonResult Save(NewAuctionViewModel auctionViewModel) { var json = new JsonResult(); var newAuction = new Auction(); newAuction.WinnerName = auctionViewModel.WinnerName; newAuction.ProductName = auctionViewModel.ProductName; newAuction.ProductActualPrice = auctionViewModel.ProductActualPrice; newAuction.WinnerPrice = auctionViewModel.WinnerPrice; var result = AuctionServices.Instance.SaveAuction(newAuction); if (result) { json.Data = new { success = true } } ; else { json.Data = new { success = false, message = "Can't save auction" } }; return(json); } }
public ActionResult Create(NewAuctionViewModel auction) { if (this.ModelState.IsValid) { var members = new SimpleMemberService(this.mainRepository); var newAuction = new Auction() { Title = auction.Title, Description = auction.Description, StartDateTimeUtc = auction.StartDateTimeUtc, EndDateTimeUtc = auction.EndDateTimeUtc, StartPrice = auction.StartPrice, Seller = members.GetCurrentMember() }; // Get File Contents if (auction.Image != null) { byte[] fileContent = new byte[auction.Image.InputStream.Length]; auction.Image.InputStream.Read(fileContent, 0, fileContent.Length); newAuction.Image = fileContent; } this.service.Save(newAuction); } return(RedirectToAction("Index")); }
public async Task <ActionResult> Create(NewAuctionViewModel model) { model.IsOffer = false; model.IsOrder = true; // model.SelectedProduct = model?.ProductsList?.FirstOrDefault(c => c.Code == TradeTypes.closeFixed.ToString())??new Areas.Admin.Models.CatalogModel() { Code= "closeFixed" }; try { if ((model.TradeEnd - model.TradeBegin).TotalMinutes < 59) { return (Json( new { Success = false, responseText = LocalText.Inst.Get("error", "Orders.Create.WrongTimeOfOffer", "Час актуальності пропозиції повинен бути не меншим за годину", "Время актуальности предложения должно быть, как минимум, равным часу") }, JsonRequestBehavior.AllowGet)); } model.HasRedemptionPrice = true; model.IsPreApproved = true; model.IsAccepted = true; model.RedemptionPrice = model.StartPrice; var trade = tradeDataLayer.CreateTrade(model, User.Identity.GetUserId()); trade.BankBill = Db.BankBills.FirstOrDefault(c => c.Id == trade.BankBillId); // var trademodel = tradeDataLayer.CreateTradeViewModel(trade); foreach (var user in UserManager.Users) { EmailFactory.SendEmailAsync(new NewOrder(user, tradeDataLayer.CreateTradeViewModel(trade, user))); } await EmailFactory.Brodcast(new Broadcast() { Body = "Нова заявка", Subject = "На РТР створено нову пропозицію. Подивіться, може у вас є що запропонувати?" }); //Mailer.SendMail("*****@*****.**", "Новый торг на модерации", // "Уважаемый модератор, просьба одобрить новый торг: " + Url.Action("TradesOnApproving", "Trade", null, Request.Url.Scheme)); return(Json(new { Success = true, redirectUrl = Url.Action("Index", "Orders") }, JsonRequestBehavior.AllowGet)); } catch (ArgumentNullException ex) { logger.Error(ex); return(Json(new { Success = false, responseText = LocalText.Inst.Get("error", "errorfilenotuploaded", "Паспорт товару не загружено, перейдіть на сторінку модерації торгів та спробуйте знову") }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { logger.Error(ex); return(Json(new { Success = false, responseText = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public IActionResult NewAuction(NewAuctionViewModel vm) { if (ModelState.IsValid) { Products Product = new Products { Name = vm.Name, ImageUrl = vm.ImageUrl, Price = vm.StartingBid, Grade = vm.Grade, Stock = 1, DateCreated = DateTime.Now, AuctionEndTime = vm.AuctionEndTime }; _context.Add(Product); if (!vm.Category.Contains("Auction")) { vm.Category.Add("Auction"); } IEnumerable <string> categories = _context.categories.Select(x => x.CategoryName).ToList(); foreach (string TestCategory in vm.Category) { if (categories.Contains(TestCategory)) { Console.WriteLine("Category: " + TestCategory + "is in database"); } else { Console.WriteLine("Category: " + TestCategory + " is NOT in database, ADDING!"); //Here code to add new category to database Category category = new Category { CategoryName = TestCategory, Description = "NULL" }; _context.Add(category); } //Adding date to merge Table ProductCategory productCategory = new ProductCategory { ProductId = Product.ProductId, CategoryName = TestCategory }; _context.Add(productCategory); } _context.SaveChanges(); } return(View()); }
public IActionResult NewAuction() { var categories = context.Categories.ToList(); var model = new NewAuctionViewModel { Auction = new Auction(), Categories = categories }; return(View(model)); }
public IActionResult NewAuction() { if (Logged_user == null) { return(RedirectToAction("Index")); } NewAuctionViewModel Viewmodel = new NewAuctionViewModel() { Current_user = Logged_user, }; return(View("NewAuction", Viewmodel)); }
// GET: Offers/Create public async Task <ActionResult> Create() { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); // var user = db.Users.SingleOrDefault(c=>c.Id==User.Identity.GetUserId()); if (user == null) { throw new ArgumentNullException("user"); } if (user.UserContragents.Where(c => c.IsApproved).All(f => !f.IsSeller) || user.UserContragents.Count < 1) { ModelState.AddModelError("other", LocalText.Inst.Get("error", "contragentBuyerError", "Юридична особа має бути активована як продавець", "Юридическое лицо должно быть активировано как продавец")); return(View("Error", ModelState)); } var model = new NewAuctionViewModel(user, StaticData.Inst.GetCatalogModels()); return(View(model)); }
public IActionResult CreateNewAuction(NewAuctionViewModel viewModel) { if (!ModelState.IsValid) { NewAuctionViewModel newViewModel = new NewAuctionViewModel { Auction = viewModel.Auction, Categories = context.Categories.ToList(), Image = viewModel.Image }; return(View("NewAuction", newViewModel)); } Bid nbid = new Bid { amount = viewModel.Auction.Article.Price, user = GetUser(User.Identity.Name), time = new TimeSpan(0) }; viewModel.Auction.Min_Bid = 1; // Cantidad mínima para subir de precio por defecto viewModel.Auction.LastBid = nbid; viewModel.Auction.User = GetUser(User.Identity.Name); viewModel.Auction.UserId = User.Identity.Name; viewModel.Auction.CurrentPrice = viewModel.Auction.Article.Price; viewModel.Auction.Article.Image = UploadFile(viewModel.Image); viewModel.Auction.Biders = 0; viewModel.Auction.IsFinished = false; viewModel.Auction.HasStarted = false; if (viewModel.Auction.Start <= DateTime.Now) { viewModel.Auction.Start = DateTime.Now; viewModel.Auction.HasStarted = true; } context.Auctions.Add(viewModel.Auction); context.SaveChanges(); return(RedirectToAction("MyAuctions", "Auction")); }
// GET: Auctions/Details/5 public ActionResult Details(int id) { var auction = this.service.GetAll().FirstOrDefault(a => a.Id == id); if (auction == null) { return(HttpNotFound()); } var vmAuction = new NewAuctionViewModel() { Description = auction.Description, EndDateTimeUtc = auction.EndDateTimeUtc, StartDateTimeUtc = auction.StartDateTimeUtc, StartPrice = auction.StartPrice, Title = auction.Title }; return(View(vmAuction)); }
public ActionResult NewAuction(NewAuctionViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("NewAuction", "Account")); } byte[] img = new byte[model.Picture.ContentLength]; model.Picture.InputStream.Read(img, 0, img.Length); string userId = User.Identity.GetUserId(); int Id = db.User.Where(u => u.idAspNetUsers == userId).FirstOrDefault().Id; Admin admin = db.Admin.FirstOrDefault(); Auction auction = new Auction(); auction.Id = Guid.NewGuid(); auction.Name = model.ProductName; auction.Picture = img; auction.Duration = model.Duration; auction.StartingPrice = model.StartingPrice; auction.CurrentPrice = model.StartingPrice; auction.DateTimeCreated = DateTime.Now; auction.PriceInTokens = (int)Math.Ceiling(model.StartingPrice / admin.ValueOfToken); auction.TokenValue = admin.ValueOfToken; auction.DateTimeOpened = null; auction.DateTimeClosed = null; auction.Status = "READY"; auction.Currency = admin.Currency; auction.IdOfUser = Id; db.Auction.Add(auction); db.SaveChanges(); return(RedirectToAction("UserIndex", "Auction")); }
public IActionResult CreateAuction(NewAuctionViewModel viewModel) { if (Logged_user == null) { return(RedirectToAction("Index")); } if (viewModel.description == null || viewModel.product == null || viewModel.description == "" || viewModel.product == "") { TempData["Error"] = "Product and Description must be entered"; return(RedirectToAction("NewAuction")); } if (viewModel.description.Length < 11) { TempData["Error"] = " Description must be entered at least 11 characters"; } if (viewModel.product.Length < 4) { TempData["Error"] = "Product must be at least 4 characters"; } if (viewModel.opening_bid < 1) { TempData["Error"] = "An opening bid of 1 or greater is required"; } if (viewModel.opening_bid < 1 || viewModel.product.Length < 4 || viewModel.description.Length < 11) { return(RedirectToAction("NewAuction")); } TimeSpan auctionTime = viewModel.ending_at - DateTime.Now; if (auctionTime.TotalDays < 1) { return(RedirectToAction("NewAuction")); } Auction newAuction = new Auction(); newAuction.creatorid = Logged_user.id; newAuction.product = viewModel.product; newAuction.description = viewModel.description; newAuction.opening_bid = viewModel.opening_bid; newAuction.sold_for = 0; newAuction.ending_at = viewModel.ending_at; newAuction.created_at = DateTime.Now; _context.auctions.Add(newAuction); _context.SaveChanges(); return(RedirectToAction("GetAuctions")); }