/// <summary> /// Realiza la busqueda de Sección Parámetro /// </summary> /// <param name="filtro">Filtro de Sección Parámetro</param> /// <returns>Listado de Parámetro Sección</returns> public ProcessResult <List <ParametroSeccionResponse> > BuscarParametroSeccion(ParametroSeccionRequest filtro) { ProcessResult <List <ParametroSeccionResponse> > resultado = new ProcessResult <List <ParametroSeccionResponse> >(); try { var listado = parametroSeccionLogicRepository.BuscarParametroSeccion(filtro.CodigoParametro, filtro.CodigoSeccion, filtro.Nombre, filtro.CodigoTipoDato, filtro.IndicadorPermiteModificar, filtro.IndicadorObligatorio, filtro.IndicadorSistema, filtro.EstadoRegistro); var listaParametroSeccion = new List <ParametroSeccionResponse>(); foreach (var item in listado) { listaParametroSeccion.Add(ParametroSeccionAdapter.ObtenerParametroSeccionResponse(item)); } resultado.Result = listaParametroSeccion; resultado.IsSuccess = true; } catch (Exception e) { resultado.Result = new List <ParametroSeccionResponse>(); resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ParametroValorService>(e); } return(resultado); }
/// <summary> /// Realiza el registro de un Parámetro Sección /// </summary> /// <param name="filtro">Parámetro Sección a Registrar</param> /// <returns>Indicador de Error</returns> public ProcessResult <string> RegistrarParametroSeccion(ParametroSeccionRequest filtro) { string result = "0"; var resultadoProceso = new ProcessResult <string>(); try { if (filtro.CodigoParametro == null) { throw new Exception(); } var seccionRepetida = BuscarParametroSeccion(new ParametroSeccionRequest() { CodigoParametro = filtro.CodigoParametro, Nombre = filtro.Nombre }).Result.Where(item => filtro.CodigoSeccion == null || item.CodigoSeccion != filtro.CodigoSeccion).FirstOrDefault(); if (seccionRepetida != null) { result = "2"; resultadoProceso.Result = result; resultadoProceso.IsSuccess = true; return(resultadoProceso); } if (filtro.CodigoSeccion == null) { var parametroSeccionUltimo = BuscarParametroSeccion(new ParametroSeccionRequest() { CodigoParametro = filtro.CodigoParametro, EstadoRegistro = null }).Result.OrderByDescending(item => item.CodigoSeccion).FirstOrDefault(); filtro.CodigoSeccion = parametroSeccionUltimo != null ? parametroSeccionUltimo.CodigoSeccion + 1 : 1; parametroSeccionEntityRepository.Insertar(ParametroSeccionAdapter.ObtenerParametroSeccionEntity(filtro)); } else { var entity = ParametroSeccionAdapter.ObtenerParametroSeccionEntity(filtro); var entityActual = parametroSeccionEntityRepository.GetById(filtro.CodigoParametro, filtro.CodigoSeccion); entityActual.Nombre = entity.Nombre; entityActual.CodigoTipoDato = entity.CodigoTipoDato; entityActual.IndicadorPermiteModificar = entity.IndicadorPermiteModificar; entityActual.IndicadorObligatorio = entity.IndicadorObligatorio; entityActual.CodigoParametroRelacionado = entity.CodigoParametroRelacionado; entityActual.CodigoSeccionRelacionado = entity.CodigoSeccionRelacionado; entityActual.CodigoSeccionRelacionadoMostrar = entity.CodigoSeccionRelacionadoMostrar; parametroSeccionEntityRepository.Editar(entityActual); } parametroSeccionEntityRepository.GuardarCambios(); resultadoProceso.IsSuccess = true; } catch (Exception e) { result = "-1"; resultadoProceso.Result = result; resultadoProceso.IsSuccess = false; resultadoProceso.Exception = new ApplicationLayerException <ParametroValorService>(e); } return(resultadoProceso); }