public async Task <ICommandResult> Handle(BannerChangeCommand mesage) { try { ICommandResult result; var rBanner = await _bannerService.GetBannerById(mesage.Id); if (rBanner == null) { result = new CommandResult() { Message = "Banner not found", ObjectId = "", Status = CommandResult.StatusEnum.Fail, ResourceName = ResourceKey.Banner_NotFound }; return(result); } RBannerItem[] rBannerItems = await _bannerService.GetBannerItemByBannerId(rBanner.Id); SystemDomains.Banner.Banner banner = new SystemDomains.Banner.Banner(rBanner, rBannerItems); banner.Change(mesage); await _bannerService.ChangeBanner(banner); await _eventSender.Notify(banner.Events); result = new CommandResult() { Message = "", ObjectId = banner.Id, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }