/// <summary> /// Realiza la búsqueda de bienes con su descripción completa /// </summary> /// <param name="filtro">Filtro de búsqueda</param> /// <returns>Listado de bienes con su descripción completa</returns> public ProcessResult <List <BienResponse> > ObtenerDescripcionCompletaBien(BienRequest filtro) { ProcessResult <List <BienResponse> > resultado = new ProcessResult <List <BienResponse> >(); try { List <BienLogic> listado = bienLogicRepository.ObtenerDescripcionCompletaBien(filtro.Descripcion); var listaPeriodoAlquilerBien = politicaService.ListaPeriodoAlquilerBien().Result; resultado.Result = new List <BienResponse>(); foreach (var registro in listado) { var listaTarifa = new List <BienAlquilerResponse>(); if (registro.CodigoTipoTarifa == DatosConstantes.TipoTarifa.Escalonado) { listaTarifa = ListarBienAlquiler(registro.CodigoBien).Result; } var bien = BienAdapter.ObtenerDescripcionCompletaBien(registro, listaTarifa, listaPeriodoAlquilerBien); resultado.Result.Add(bien); } } catch (Exception ex) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <BienService>(ex); } return(resultado); }
/// <summary> /// Obtiene la entidad de una entidad request /// </summary> /// <param name="objRqst">objeto request</param> /// <returns>Entidad de objeto Bien</returns> public static BienEntity ObtenerBienEntityDeRequest(BienRequest objRqst) { BienEntity rpta = new BienEntity(); NumberFormatInfo numberFormatInfo = new NumberFormatInfo(); numberFormatInfo.NumberDecimalSeparator = "."; numberFormatInfo.NumberGroupSeparator = ","; if (objRqst.CodigoBien == null) { objRqst.CodigoBien = Guid.Empty; } rpta.CodigoBien = (Guid)objRqst.CodigoBien; rpta.CodigoTipoBien = objRqst.CodigoTipoBien; rpta.CodigoIdentificacion = objRqst.CodigoIdentificacion; rpta.NumeroSerie = objRqst.NumeroSerie; rpta.Descripcion = objRqst.Descripcion.ToUpper(); rpta.Marca = objRqst.Marca.ToUpper(); rpta.Modelo = objRqst.Modelo.ToUpper(); rpta.FechaAdquisicion = DateTime.ParseExact(objRqst.FechaAdquisicionString, DatosConstantes.Formato.FormatoFecha, System.Globalization.CultureInfo.InvariantCulture); rpta.TiempoVida = Decimal.Parse(objRqst.TiempoVidaString, numberFormatInfo); rpta.ValorResidual = Decimal.Parse(objRqst.ValorResidualString, numberFormatInfo); rpta.CodigoTipoTarifa = objRqst.CodigoTipoTarifa; rpta.CodigoPeriodoAlquiler = objRqst.CodigoPeriodoAlquiler; if (!string.IsNullOrWhiteSpace(objRqst.ValorAlquilerString)) { rpta.ValorAlquiler = Decimal.Parse(objRqst.ValorAlquilerString, numberFormatInfo); } rpta.CodigoMoneda = objRqst.CodigoMoneda; rpta.MesInicioAlquiler = Byte.Parse(objRqst.MesInicioAlquiler.ToString()); rpta.AnioInicioAlquiler = Int16.Parse(objRqst.AnioInicioAlquiler.ToString()); return(rpta); }
/// <summary> /// Método que registra y/o Edita un Bien /// </summary> /// <param name="objRqst">objeto request del tipo Bien</param> /// <returns>Retorna entero, 1 transacción Ok.</returns> public ProcessResult <Object> RegistraEditaBien(BienRequest objRqst) { ProcessResult <Object> rpta = new ProcessResult <Object>(); BienEntity entidad = BienAdapter.ObtenerBienEntityDeRequest(objRqst); try { using (TransactionScope tsc = new TransactionScope(TransactionScopeOption.Required)) { if (entidad.CodigoBien == Guid.Empty) { entidad.CodigoBien = Guid.NewGuid(); bienRepository.Insertar(entidad); } else { var entidadUpdate = bienRepository.GetById(entidad.CodigoBien); entidadUpdate.CodigoTipoBien = entidad.CodigoTipoBien; entidadUpdate.CodigoIdentificacion = entidad.CodigoIdentificacion; entidadUpdate.NumeroSerie = entidad.NumeroSerie; entidadUpdate.Descripcion = entidad.Descripcion; entidadUpdate.Marca = entidad.Marca; entidadUpdate.Modelo = entidad.Modelo; entidadUpdate.FechaAdquisicion = entidad.FechaAdquisicion; entidadUpdate.TiempoVida = entidad.TiempoVida; entidadUpdate.ValorResidual = entidad.ValorResidual; entidadUpdate.CodigoTipoTarifa = entidad.CodigoTipoTarifa; entidadUpdate.CodigoPeriodoAlquiler = entidad.CodigoPeriodoAlquiler; entidadUpdate.ValorAlquiler = entidad.ValorAlquiler; entidadUpdate.CodigoMoneda = entidad.CodigoMoneda; entidadUpdate.MesInicioAlquiler = entidad.MesInicioAlquiler; entidadUpdate.AnioInicioAlquiler = entidad.AnioInicioAlquiler; bienRepository.Editar(entidadUpdate); } rpta.Result = bienRepository.GuardarCambios(); var RegistraHist = RegistraHistBienRegistro(entidad.NumeroSerie, entidad.Descripcion, entidad.Marca, entidad.Modelo); tsc.Complete(); } } catch (Exception ex) { rpta.IsSuccess = false; rpta.Exception = new ApplicationLayerException <BienService>(ex); } return(rpta); }
/// <summary> /// Método que retorna la Lista de Bienes /// </summary> /// <param name="filtro">objeto request del tipo Bien</param> /// <returns>Lista de Bienes</returns> public ProcessResult <List <BienResponse> > ListarBienes(BienRequest filtro, List <CodigoValorResponse> plstTipoBien = null, List <CodigoValorResponse> plstTipoTarifa = null, List <CodigoValorResponse> plstMoneda = null, List <CodigoValorResponse> plstPeriodoAlq = null) { ProcessResult <List <BienResponse> > rpta = new ProcessResult <List <BienResponse> >(); List <CodigoValorResponse> listaTipoBien; List <CodigoValorResponse> listaTipoTarifa; List <CodigoValorResponse> listaPeriodoAlq; List <CodigoValorResponse> listaMoneda; BienResponse itemrpta; try { if (plstTipoBien != null) { listaTipoBien = plstTipoBien; } else { listaTipoBien = politicaService.ListaTipoBien().Result; } if (plstTipoTarifa != null) { listaTipoTarifa = plstTipoTarifa; } else { listaTipoTarifa = politicaService.ListaTipoTarifaBien().Result; } if (plstPeriodoAlq != null) { listaPeriodoAlq = plstPeriodoAlq; } else { listaPeriodoAlq = politicaService.ListaPeriodoAlquilerBien().Result; } if (plstMoneda != null) { listaMoneda = plstMoneda; } else { listaMoneda = politicaService.ListarMoneda().Result; } var listaBien = bienLogicRepository.ListaBandejaBien(filtro.CodigoIdentificacion, filtro.CodigoTipoBien, filtro.NumeroSerie, filtro.Descripcion, filtro.Marca, filtro.Modelo, filtro.FechaInicio, filtro.FechaFin, filtro.CodigoTipoTarifa); rpta.Result = new List <BienResponse>(); foreach (BienLogic itemLogic in listaBien) { itemrpta = new BienResponse(); itemrpta = BienAdapter.ObtenerBienResponseDeLogic(itemLogic, listaTipoBien, listaTipoTarifa, listaMoneda, listaPeriodoAlq); rpta.Result.Add(itemrpta); } } catch (Exception ex) { rpta.IsSuccess = false; rpta.Exception = new ApplicationLayerException <BienService>(ex); } return(rpta); }