Пример #1
0
        public async Task <bool> CreateArtistOrder(ArtistOrderCreateInputModel inputModel)
        {
            var order = AutoMapper.Mapper.Map <Order>(inputModel);

            var user = this.userService.GetApplicationUserByName(inputModel.Username);

            var artist = await this.artistService.GetArtistIdByNameAsync(inputModel.ArtistNikname);

            if (user == null || artist == null)
            {
                throw new ArgumentNullException(GlobalConstants.OrderErr);
            }

            order.User = user;

            order.ArtistId = artist;

            order.Status = OrderStatus.Sent;

            await this.repositoryOrder.AddAsync(order);

            var result = await this.repositoryOrder.SaveChangesAsync();

            return(result > 0);
        }
Пример #2
0
        public IActionResult Create([FromRoute] string ArtistNikname)
        {
            this.ViewBag.TypeOptions = new List <SelectListItem>
            {
                new SelectListItem {
                    Text = OrderType.Charity.ToString(), Value = "3"
                },
                new SelectListItem {
                    Text = OrderType.Price.ToString(), Value = "1"
                },
                new SelectListItem {
                    Text = OrderType.PerHour.ToString(), Value = "4"
                },
                new SelectListItem {
                    Text = OrderType.Contract.ToString(), Value = "2"
                },
            };

            var iputModel = new ArtistOrderCreateInputModel()
            {
                ArtistNikname = ArtistNikname
            };

            return(this.View(iputModel));
        }
Пример #3
0
        public async Task <IActionResult> Create([FromRoute] string ArtistNikname, ArtistOrderCreateInputModel model)
        {
            model.ArtistNikname = ArtistNikname;
            model.Username      = this.User.Identity.Name;

            if (this.ModelState.IsValid)
            {
                try
                {
                    bool result = await this.OrderService.CreateArtistOrder(model);

                    if (result)
                    {
                        return(this.Redirect(GlobalConstants.HomeUrl));
                    }
                }
                catch (ArgumentNullException a)
                {
                    return(this.View("Error", new ErrorViewModel()
                    {
                        RequestId = a.Message
                    }));
                }
            }

            //TODO: Refactoring this

            this.ViewBag.TypeOptions = new List <SelectListItem>
            {
                new SelectListItem {
                    Text = OrderType.Charity.ToString(), Value = "3"
                },
                new SelectListItem {
                    Text = OrderType.Price.ToString(), Value = "1"
                },
                new SelectListItem {
                    Text = OrderType.PerHour.ToString(), Value = "4"
                },
                new SelectListItem {
                    Text = OrderType.Contract.ToString(), Value = "2"
                },
            };

            var errors = this.ModelState.Values.SelectMany(v => v.Errors);

            foreach (var error in errors)
            {
                this.ModelState.AddModelError(string.Empty, error.ErrorMessage);
            }

            var iputModel = new ArtistOrderCreateInputModel()
            {
                ArtistNikname = ArtistNikname
            };

            return(this.View(iputModel));
        }