コード例 #1
0
        public IActionResult Create(FunkoPop model)
        {
            //TODO: need to do user checks
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            try
            {
                model.DateAdded = DateTime.UtcNow;
                _service.Add(model);
            }
            catch (Exception e)
            {
                ShowStatusMessage(MessageTypeEnum.error, e.Message, "Duplicate Pop");

                return(View(model));
            }

            if (SessionValueExists("popWish"))
            {
                _wishService.Delete(Convert.ToInt32(GetFromSession <string>("popWishID")), _user.Id);

                RemoveFromSession("popWish");
                RemoveFromSession("popWishID");
                ShowStatusMessage(MessageTypeEnum.info, "Wish list has been updated", "Wish list");
            }
            ShowStatusMessage(MessageTypeEnum.success, "New Pop Added Successfully.", "Add Successful");

            return(RedirectToAction("Index", "Pop"));
        }
コード例 #2
0
        public async Task <ImportResponse> ImportPopsAsync(PopImportRequest request)
        {
            ImportResponse response = await CheckRequest(request.UserID, request.Pops.Count);

            if (!response.Successful)
            {
                return(response);
            }

            var user = await _userManager.FindByIdAsync(request.UserID);

            foreach (var pop in request.Pops)
            {
                try
                {
                    pop.UserID  = request.UserID;
                    pop.UserNum = user.UserNum;
                    pop.ID      = 0;
                    _popService.Add(pop);
                    response.Imported++;
                }
                catch (Exception ex)
                {
                    response.Failed++;
                    response.Message += $"{pop.Title} - {ex.Message} : {ex.InnerException?.Message}";
                }
            }

            response.Successful = true;

            return(response);
        }