/// <summary> /// Realiza la adaptación de campos /// </summary> /// <param name="parametroValorLogic">Clase Logic de Parámetro Valor</param> /// <returns>Clase Response con los campos de búsqueda</returns> public static ParametroValorResponse ObtenerValorPorSeccionParametro(ParametroValorLogic parametroValorLogic) { ParametroValorResponse parametroValorResponse = new ParametroValorResponse(); parametroValorResponse.CodigoValorString = parametroValorLogic.CodigoValorString; parametroValorResponse.Valor = parametroValorLogic.Valor; parametroValorResponse.CodigoIdioma = parametroValorLogic.CodigoIdioma; parametroValorResponse.PrimerValorAdicional = parametroValorLogic.PrimerValorAdicional; parametroValorResponse.SegundoValorAdicional = parametroValorLogic.SegundoValorAdicional; return(parametroValorResponse); }
/// <summary> /// Realiza el eliminar de un de Parametro Valor /// </summary> /// <param name="filtro">Parametro Valor a Eliminar</param> /// <returns>Indicador de Error</returns> public ProcessResult <string> EliminarParametroValor(ParametroValorRequest filtro) { string result = "0"; var resultadoProceso = new ProcessResult <string>(); try { var parametroActual = parametroService.BuscarParametro(new ParametroRequest() { CodigoParametro = filtro.CodigoParametro }).Result.FirstOrDefault(); if (!parametroActual.IndicadorPermiteEliminar) { result = "2"; resultadoProceso.Result = result; resultadoProceso.IsSuccess = false; return(resultadoProceso); } var parametroValorActual = BuscarParametroValor(new ParametroValorRequest() { CodigoParametro = filtro.CodigoParametro, CodigoValor = filtro.CodigoValor }).Result.FirstOrDefault(); foreach (var item in parametroValorActual.RegistroCadena) { ParametroValorLogic logic = new ParametroValorLogic(); logic.CodigoParametro = parametroValorActual.CodigoParametro; logic.CodigoSeccion = Convert.ToInt32(item.Key); logic.CodigoValor = parametroValorActual.CodigoValor; logic.Valor = null; logic.EstadoRegistro = DatosConstantes.EstadoRegistro.Inactivo; if (parametroValorLogicRepository.ModificarParametroValor(logic) <= 0) { throw new Exception(); } } resultadoProceso.Result = "1"; resultadoProceso.IsSuccess = true; } catch (Exception) { result = "-1"; resultadoProceso.Result = result; resultadoProceso.IsSuccess = false; } return(resultadoProceso); }
/// <summary> /// Realiza el registro de un de Parametro Valor /// </summary> /// <param name="filtro">Parametro Valor a Registrar</param> /// <returns>Indicador de Error</returns> public ProcessResult <string> RegistrarParametroValor(ParametroValorRequest filtro) { string result = "0"; var resultadoProceso = new ProcessResult <string>(); try { var listSecciones = parametroSeccionService.BuscarParametroSeccion(new ParametroSeccionRequest() { CodigoParametro = filtro.CodigoParametro }).Result; int codigoValor = 0; bool isActualizacion = false; if (filtro.CodigoValor == null) { var ultimoParametroValor = BuscarParametroValor(new ParametroValorRequest() { CodigoParametro = filtro.CodigoParametro, EstadoRegistro = null }).Result.OrderBy(itemOrderBy => itemOrderBy.CodigoValor).LastOrDefault(); if (ultimoParametroValor != null) { codigoValor = ultimoParametroValor.CodigoValor + 1; } else { codigoValor = 1; } } else { codigoValor = (int)filtro.CodigoValor; isActualizacion = true; } using (TransactionScope scope = new TransactionScope()) { try { foreach (var item in filtro.RegistroCadena) { bool isSeccionExistente = false; var seccionActual = listSecciones.Where(itemWhere => itemWhere.CodigoSeccion.ToString() == item.Key).FirstOrDefault(); ParametroValorResponse parametroValorActual = null; if (isActualizacion) { parametroValorActual = BuscarParametroValor(new ParametroValorRequest() { CodigoParametro = filtro.CodigoParametro, CodigoSeccion = seccionActual.CodigoSeccion, CodigoValor = codigoValor }).Result.FirstOrDefault(); isSeccionExistente = (parametroValorActual != null) ? true : false; } string value = ""; switch (seccionActual.CodigoTipoDato) { case "ENT": value = item.Value; break; case "DEC": value = item.Value.Replace(',', '.'); break; case "FEC": value = item.Value; break; default: value = item.Value; break; } ParametroValorLogic logic = new ParametroValorLogic(); logic.CodigoParametro = (int)filtro.CodigoParametro; logic.CodigoSeccion = seccionActual.CodigoSeccion; logic.CodigoValor = codigoValor; logic.Valor = value; if (!isActualizacion || !isSeccionExistente) { logic.EstadoRegistro = DatosConstantes.EstadoRegistro.Activo; if (parametroValorLogicRepository.RegistrarParametroValor(logic) <= 0) { throw new Exception(); } } else { logic.EstadoRegistro = null; if (parametroValorLogicRepository.ModificarParametroValor(logic) <= 0) { throw new Exception(); } } } scope.Complete(); resultadoProceso.Result = "1"; resultadoProceso.IsSuccess = true; } catch (Exception e) { scope.Dispose(); throw e; } } } catch (Exception) { result = "-1"; resultadoProceso.Result = result; resultadoProceso.IsSuccess = false; } return(resultadoProceso); }