Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public ActionResult AddWholesaleSale(string id)
        {
            AddNewSaleViewModel model = new AddNewSaleViewModel();

            model.ProductId  = db.Products;
            model.CustomerId = db.Customers;
            return(View(model));
        }
Esempio n. 3
0
        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)));
        }
Esempio n. 4
0
        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)));
        }