public async Task <IActionResult> EditSale(string id) { var sale = await _discountManager.GetSaleByIdWithTags(id); if (sale == null) { return(RedirectToAction(nameof(Discounts))); } var model = new AddNewSaleViewModel(); model.Id = sale.SaleId; model.Title = sale.Title; model.Description = sale.Description; model.ShortDescription = sale.ShortDescription; model.StartDate = sale.CreatedDate; model.ExpireDate = sale.ExpireDate; model.ImgUrl = sale.ImgUrl; model.CompanyName = sale.CompanyName; model.AllTags = _discountManager.GetAllTags(); model.SelectedTags = new List <string>(); if (sale.Tags.Count() != 0) { foreach (Tag tag in sale.Tags) { model.SelectedTags.Add(tag.TagId); } } return(View(model)); }
public ActionResult AddWholesaleSale(string id) { AddNewSaleViewModel model = new AddNewSaleViewModel(); model.ProductId = db.Products; model.CustomerId = db.Customers; return(View(model)); }
public async Task <IActionResult> PostSale(AddNewSaleViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var sale = new Sale(); sale.OwnerId = user.Id; sale.CreatedDate = model.StartDate; sale.ExpireDate = model.ExpireDate; sale.CompanyName = model.CompanyName; sale.Title = model.Title; sale.Description = model.Description; sale.ShortDescription = model.ShortDescription; sale.IsActive = true; sale.ImgUrl = model.ImgUrl; await _discountManager.AddSaleAsync(sale); if (model.SelectedTags == null) { model.SelectedTags = new List <string>(); } if (model.SelectedTags.Count != 0) { for (var i = 0; i < model.SelectedTags.Count; i++) { var tag = await _discountManager.GetTagByIdAsync(model.SelectedTags[i]); await _discountManager.AddSaleTagAsyc(sale, tag); } } return(RedirectToAction(nameof(Discounts))); }
public async Task <IActionResult> EditSale(AddNewSaleViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var sale = await _discountManager.GetSaleByIdWithTags(model.Id); sale.CreatedDate = model.StartDate; sale.ExpireDate = model.ExpireDate; sale.CompanyName = model.CompanyName; sale.Title = model.Title; sale.Description = model.Description; sale.ShortDescription = model.ShortDescription; sale.IsActive = true; sale.ImgUrl = model.ImgUrl; if (model.SelectedTags == null) { model.SelectedTags = new List <string>(); } if (model.SelectedTags != null && model.SelectedTags.Count != 0) { foreach (Tag tag in sale.Tags.ToList()) { var cheched = model.SelectedTags.FirstOrDefault(c => c == tag.TagId) != null; if (cheched == false) { await _discountManager.RemoveSaleTagAsync(sale, tag); } } } else { foreach (Tag tag in sale.Tags.ToList()) { await _discountManager.RemoveSaleTagAsync(sale, tag); } } foreach (string tagId in model.SelectedTags) { var res = sale.Tags.FirstOrDefault(c => c.TagId == tagId); var alreadyChecked = (res != null); if (alreadyChecked == false) { var tag = await _discountManager.GetTagByIdAsync(tagId); await _discountManager.AddSaleTagAsyc(sale, tag); } } await _discountManager.UpdateSaleAsync(sale); return(RedirectToAction(nameof(Discounts))); }