public ProcessResult <object> EliminarIndicadorMetaAnual(IndicadorMetaAnualRequest data) { ProcessResult <object> resultado = new ProcessResult <object>(); resultado.Result = string.Empty; try { IndicadorMetaAnualEntity oIndicadorMetaAnualEntity = indicadorMetaAnualEntityRepository.GetById(data.CodigoIndicadorMetaAnual); if (oIndicadorMetaAnualEntity != null) { indicadorMetaAnualEntityRepository.Eliminar(oIndicadorMetaAnualEntity.CodigoIndicadorMetaAnual); resultado.IsSuccess = true; indicadorMetaAnualEntityRepository.GuardarCambios(); } } catch (Exception ex) { resultado.Exception = new ApplicationLayerException <AreaService>(ex.Message); } return(resultado); }
public ProcessResult <IndicadorMetaAnualResponse> RegistrarIndicadorMetaAnual(IndicadorMetaAnualRequest data) { ProcessResult <IndicadorMetaAnualResponse> resultado = new ProcessResult <IndicadorMetaAnualResponse>(); resultado.Result = new IndicadorMetaAnualResponse(); try { using (TransactionScope ts = new TransactionScope()) { IndicadorMetaAnualEntity indicadorMetaAnualSincronizar = indicadorMetaAnualEntityRepository.GetById(data.CodigoIndicadorMetaAnual); IndicadorMetaAnualEntity indicadorMetaAnualGeneral = Mapper.Map <IndicadorMetaAnualRequest, IndicadorMetaAnualEntity>(data); var indicadorMetaAnual = BuscarIndicadorMetaAnual(data); if (indicadorMetaAnual.Result.Count > 0) { for (int i = 0; i < indicadorMetaAnual.Result.Count; i++) { if (indicadorMetaAnual.Result[0].EstadoRegistro == DatosConstantes.EstadoRegistro.Activo) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(MensajesSistemaResource.ViolacionRegistro); break; } else { if (indicadorMetaAnualSincronizar != null) { Mapper.Map <IndicadorMetaAnualEntity, IndicadorMetaAnualEntity>(indicadorMetaAnualGeneral, indicadorMetaAnualSincronizar); indicadorMetaAnualEntityRepository.Editar(indicadorMetaAnualSincronizar); resultado.Result.CodigoIndicadorMetaAnual = data.CodigoIndicadorMetaAnual; resultado.Result.CodigoIndicador = data.CodigoIndicador; } else { indicadorMetaAnualEntityRepository.Insertar(indicadorMetaAnualGeneral); bool registroExitoso = resultado.IsSuccess; if (!registroExitoso) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(MensajesSistemaResource.EtiquetaError); } resultado.Result.CodigoIndicadorMetaAnual = indicadorMetaAnualGeneral.CodigoIndicadorMetaAnual; resultado.Result.CodigoIndicador = indicadorMetaAnualGeneral.CodigoIndicador; } } } } else { if (indicadorMetaAnualSincronizar != null) { Mapper.Map <IndicadorMetaAnualEntity, IndicadorMetaAnualEntity>(indicadorMetaAnualGeneral, indicadorMetaAnualSincronizar); indicadorMetaAnualEntityRepository.Editar(indicadorMetaAnualSincronizar); resultado.Result.CodigoIndicadorMetaAnual = data.CodigoIndicadorMetaAnual; resultado.Result.CodigoIndicador = data.CodigoIndicador; } else { indicadorMetaAnualEntityRepository.Insertar(indicadorMetaAnualGeneral); bool registroExitoso = resultado.IsSuccess; if (!registroExitoso) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(MensajesSistemaResource.EtiquetaError); } resultado.Result.CodigoIndicadorMetaAnual = indicadorMetaAnualGeneral.CodigoIndicadorMetaAnual; resultado.Result.CodigoIndicador = indicadorMetaAnualGeneral.CodigoIndicador; } } indicadorMetaAnualEntityRepository.GuardarCambios(); ts.Complete(); } } catch (Exception ex) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(ex.Message); } return(resultado); }