Example #1
0
        //public AdDto ChangePostalCode(string adId, string code)
        //{
        //    Ad ad = this.adReadRepository.GetById(new AdId(adId));
        //    ad.PostalCode = this.postalCodeAdapter.GetByCode(code);

        //    //TO-Do Save in repository & Configure Mapper interface & provider
        //    return new AdDto()
        //    {
        //        Id = ad.Id.Id,
        //        Title = ad.Title,
        //        Amount = ad.Price.Amount,
        //        IsoCode = ad.Price.Currency.Iso.ToString(),
        //        PostalCode = ad.PostalCode.Code,
        //        PostalCodeName = ad.PostalCode.Name
        //    };

        //}

        public async Task <bool> ChangePriceAndSaveAd(AdId adId, int amount, string isoCode)
        {
            Ad adToChangePriceAndSave = this.adQueryRepository.GetById(adId);

            Domain.Core.Model.Currency.IsoCode isoCodeEnum = (Domain.Core.Model.Currency.IsoCode)Enum.Parse(typeof(Domain.Core.Model.Currency.IsoCode), isoCode, true);

            adToChangePriceAndSave.ChangePrice(amount, isoCodeEnum);

            if (await this.adCommandRepository.Update(adToChangePriceAndSave))
            {
                adToChangePriceAndSave.DispatchEvents();
            }

            return(true);
        }