public async Task <ICommandResult> Handle(LanguageChangeCommand mesage) { try { RLanguage languageFromDb = await _languageService.GetFromDb(mesage.Id.ToString()); if (languageFromDb == null) { throw new MessageException(ResourceKey.Language_NotFound); } Language language = new Language(); language.Init(languageFromDb); language.Change(mesage); await _languageService.ChangeToDb(language); ICommandResult result = new CommandResult() { Message = "", ObjectId = language.Id, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (MessageException e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail, ResourceName = e.ResourceName }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }