public async Task <BaseResponse> AddOrUpdateAsync(MailTemplateDto mailTemplateDto, string userName)
        {
            var response = new BaseResponse();

            try
            {
                _mailTemplateRepository.UserName = userName;
                var mailTemplate = _mapper.Map <MailTemplate>(mailTemplateDto);
                if (string.IsNullOrEmpty(mailTemplate.Id))
                {
                    //validar el nombre del template page
                    var template = await _mailTemplateRepository.FindEntityBy(x => x.Name.Trim().ToLower() == mailTemplateDto.Name.Trim().ToLower());

                    if (template != null)
                    {
                        response.Message = LoggingEvents.INSERT_DUPLICATED_MESSAGE;
                        return(response);
                    }


                    mailTemplate.Id       = Common.Utilities.Utils.NewGuid;
                    mailTemplate.IsActive = true;
                    _mailTemplateRepository.Add(mailTemplate);
                    response.Message = LoggingEvents.INSERT_SUCCESS_MESSAGE;
                }
                else
                {
                    //validar el nombre del template page
                    var template = await _mailTemplateRepository.FindEntityBy(x => x.Name.Trim().ToLower() == mailTemplateDto.Name.Trim().ToLower() && x.Id != mailTemplateDto.Id);

                    if (template != null)
                    {
                        response.Message = LoggingEvents.INSERT_DUPLICATED_MESSAGE;
                        return(response);
                    }

                    _mailTemplateRepository.Edit(mailTemplate);
                    response.Message = LoggingEvents.UPDATE_SUCCESS_MESSAGE;
                }

                var item = await _mailTemplateRepository.SaveChanges();

                response.Success = true;
                response.Id      = mailTemplate.Id;
            }
            catch (System.Exception ex)
            {
                response.Message = LoggingEvents.INSERT_FAILED_MESSAGE;
                LoggerService.LogToFile(ex);
            }

            return(response);
        }