Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }