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); }