public async Task <BaseResponse> AddOrUpdateAsync(LandingPageDto landingPageDto, string userName) { var response = new BaseResponse(); try { //mappear el DTO var landingPage = _mapper.Map <LandingPage>(landingPageDto); _landingPageRepository.UserName = userName; if (string.IsNullOrEmpty(landingPage.Id)) { //validar el nombre del landing page var landing = await _landingPageRepository.FindEntityBy(x => x.Name.Trim().ToLower() == landingPageDto.Name.Trim().ToLower()); if (landing != null) { response.Message = LoggingEvents.INSERT_DUPLICATED_MESSAGE; return(response); } landingPage.Id = Common.Utilities.Utils.NewGuid; _landingPageRepository.Add(landingPage); response.Message = LoggingEvents.INSERT_SUCCESS_MESSAGE; } else { //validar el nombre del template page var landing = await _landingPageRepository.FindEntityBy(x => x.Name.Trim().ToLower() == landingPageDto.Name.Trim().ToLower() && x.Id != landingPageDto.Id); if (landing != null) { response.Message = LoggingEvents.INSERT_DUPLICATED_MESSAGE; return(response); } landingPage.FormHdId = (string.IsNullOrEmpty(landingPage.FormHdId)) ? null : landingPage.FormHdId; _landingPageRepository.Edit(landingPage); response.Message = LoggingEvents.UPDATE_SUCCESS_MESSAGE; } var item = await _landingPageRepository.SaveChanges(); response.Success = true; response.Id = landingPage.Id; } catch (System.Exception ex) { response.Message = LoggingEvents.INSERT_FAILED_MESSAGE; LoggerService.LogToFile(ex); } return(response); }