Exemplo n.º 1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Description,StartDate,EndDate,DiscountPercentage")] MarketingCampaignInputModel mkt,
                                               string[] selectedBooks)
        {
            if (id != mkt.Id)
            {
                return(NotFound());
            }

            if (selectedBooks != null)
            {
                mkt.Books = new List <BookSelectListDto>();

                foreach (var idBook in selectedBooks)
                {
                    mkt.Books.Add(new BookSelectListDto()
                    {
                        BookID = int.Parse(idBook), Selected = true
                    });
                }
            }

            var url      = baseUrl + "/" + id;
            var resposta = await _httpClient.PutAsJsonAsync <MarketingCampaignInputModel>(url, mkt);

            if (resposta.IsSuccessStatusCode)
            {
                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.ErrorMessage = resposta;

            return(View(resposta));
        }
        public ActionResult Put(int id, [FromBody] MarketingCampaignInputModel mkt)
        {
            if (id != mkt.Id)
            {
                return(BadRequest());
            }
            var result = _marketingService.Put(id, mkt);

            return(new CreatedAtRouteResult("GetMarketingsDetails", new { id = result.Id }, result));
        }
Exemplo n.º 3
0
        public MarketingCampaignViewModel Post(MarketingCampaignInputModel mktInputModel)
        {
            var mkt = _mapper.Map <MarketingCampaign>(mktInputModel);

            mkt.StartDate = DateTime.Now;
            mkt.EndDate   = DateTime.Now.AddDays(15);
            _uow.MarketingCampaignRepository.Add(mkt);
            _uow.Commit();

            return(_mapper.Map <MarketingCampaignViewModel>(mkt));
        }
Exemplo n.º 4
0
        public MarketingCampaignViewModel Put(int id, MarketingCampaignInputModel mktInputModel)
        {
            _uow.MarketingCampaignRepository.DeleteMarketingBooks(id);
            _uow.Commit();

            var mkt = _mapper.Map <MarketingCampaign>(mktInputModel);

            foreach (var bm in mkt.BoMarketing)
            {
                bm.Marketings = mkt;
            }

            mkt.StartDate = DateTime.Now;
            mkt.EndDate   = DateTime.Now.AddDays(15);

            _uow.MarketingCampaignRepository.Update(mkt);
            _uow.Commit();

            return(_mapper.Map <MarketingCampaignViewModel>(mkt));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Create([Bind("Id,Description,StartDate,EndDate,DiscountPercentage")] MarketingCampaignInputModel mkt,
                                                 string[] selectedBooks)
        {
            if (selectedBooks != null)
            {
                mkt.Books = new List <BookSelectListDto>();

                foreach (var idBook in selectedBooks)
                {
                    mkt.Books.Add(new BookSelectListDto()
                    {
                        BookID = int.Parse(idBook), Selected = true
                    });
                }
            }

            var url      = baseUrl;
            var resposta = await _httpClient.PostAsJsonAsync <MarketingCampaignInputModel>(url, mkt);

            if (resposta.IsSuccessStatusCode)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var mensagens = await resposta.Content.ReadFromJsonAsync <BadRequestResponse>();

            foreach (var atrError in mensagens.Errors)
            {
                foreach (var erro in atrError.Value)
                {
                    ModelState.AddModelError(atrError.Key, erro);
                }
            }

            return(View(mkt));
        }
        public ActionResult Post([FromBody] MarketingCampaignInputModel mkt)
        {
            var result = _marketingService.Post(mkt);

            return(new CreatedAtRouteResult("GetMarketingsDetails", new { id = result.Id }, result));
        }