예제 #1
0
        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);
            }
        }