Example #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);
        }
Example #2
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);
        }
Example #3
0
        /// <summary>
        /// Retorna información del bien alquiler por código.
        /// </summary>
        /// <param name="codigoBienAlquiler">código del bien alquiler</param>
        /// <returns>Información del bien alquiler</returns>
        public ProcessResult <BienAlquilerResponse> RetornaBienAlquilerPorId(Guid codigoBienAlquiler)
        {
            ProcessResult <BienAlquilerResponse> rpta = new ProcessResult <BienAlquilerResponse>();

            try
            {
                BienAlquilerEntity entBienAlquiler = bienAlquilerLogicRepository.GetById(codigoBienAlquiler);
                rpta.Result = new BienAlquilerResponse();
                rpta.Result = BienAdapter.ObtenerBienAlquilerResponseDeEntity(entBienAlquiler);
            }
            catch (Exception ex)
            {
                rpta.IsSuccess = false;
                rpta.Exception = new ApplicationLayerException <BienService>(ex);
            }
            return(rpta);
        }
Example #4
0
        /// <summary>
        /// Retorna la lista del descripciones de campos del bien.
        /// </summary>
        /// <param name="tipoContenido">código del tipo de contenido</param>
        /// <returns>Lista información de descripciones de campos del bien por tipo de contenido</returns>
        public ProcessResult <List <BienRegistroResponse> > ListaBienRegistro(string tipoContenido)
        {
            ProcessResult <List <BienRegistroResponse> > rpta = new ProcessResult <List <BienRegistroResponse> >();
            BienRegistroResponse itemrpta;

            try
            {
                rpta.Result = new List <BienRegistroResponse>();
                List <BienRegistroLogic> result = bienLogicRepository.ListaBienRegistro(tipoContenido);
                foreach (BienRegistroLogic item in result)
                {
                    itemrpta = new BienRegistroResponse();
                    itemrpta = BienAdapter.ObtenerBienRegistroResponseDeLogic(item);
                    rpta.Result.Add(itemrpta);
                }
            }
            catch (Exception ex)
            {
                rpta.IsSuccess = false;
                rpta.Exception = new ApplicationLayerException <BienService>(ex);
            }
            return(rpta);
        }
Example #5
0
        /// <summary>
        /// Método que retorna la Lista de Bienes Alquiler
        /// </summary>
        /// <param name="filtro">objeto request del tipo Bien</param>
        /// <returns>Lista de Bien-Alquiler para la bandeja</returns>
        public ProcessResult <List <BienAlquilerResponse> > ListarBienAlquiler(Guid codigoBien)
        {
            ProcessResult <List <BienAlquilerResponse> > rpta = new ProcessResult <List <BienAlquilerResponse> >();
            BienAlquilerResponse itemrpta;

            try
            {
                var listaBienAlquiler = bienLogicRepository.ListaBienAlquiler(codigoBien);
                rpta.Result = new List <BienAlquilerResponse>();
                foreach (BienAlquilerLogic itemLogic in listaBienAlquiler)
                {
                    itemrpta = new BienAlquilerResponse();
                    itemrpta = BienAdapter.ObtenerBienAlquilerResponseDeLogic(itemLogic);
                    rpta.Result.Add(itemrpta);
                }
            }
            catch (Exception ex)
            {
                rpta.IsSuccess = false;
                rpta.Exception = new ApplicationLayerException <BienService>(ex);
            }

            return(rpta);
        }
Example #6
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);
        }
Example #7
0
        /// <summary>
        /// Método que registra y/o Edita un Bien Alquiler
        /// </summary>
        /// <param name="objRqst">objeto request del tipo BienAlquiler</param>
        /// <returns>Retorna entero, 1 si transacción satisfactoria y -1 si hubo Error.</returns>
        public ProcessResult <Object> RegistraEditaBienAlquiler(BienAlquilerRequest objRqst)
        {
            ProcessResult <Object>   rpta = new ProcessResult <Object>();
            BienAlquilerEntity       entidad = BienAdapter.ObtenerBienAlquilerEntityDeRequest(objRqst);
            List <BienAlquilerLogic> listaAux = new List <BienAlquilerLogic>();
            int existeSinLimite = 0, existeCantidadHora = 0;

            listaAux = bienLogicRepository.ListaBienAlquiler((Guid)objRqst.CodigoBien);
            /*Verificamos si existe ya un registro con Limite.*/
            if (entidad.IndicadorSinLimite)
            {
                var listaBienAlquiler = listaAux.FindAll(x => x.IndicadorSinLimite == true).ToList();
                if (listaBienAlquiler.Count > 0)
                {
                    if (entidad.CodigoBienAlquiler == Guid.Empty)//es nu nuevo registro y ya existe uno con Indicador.
                    {
                        existeSinLimite = 1;
                    }
                    else
                    {
                        if (listaBienAlquiler[0].CodigoBienAlquiler != entidad.CodigoBienAlquiler)
                        {
                            existeSinLimite = 1;
                        }
                    }
                }
            }
            if (entidad.CantidadLimite > 0)
            {
                var listaBienAlquiler = listaAux.FindAll(x => x.CantidadLimite == entidad.CantidadLimite).ToList();
                if (listaBienAlquiler != null && listaBienAlquiler.Count > 0)
                {
                    if (entidad.CodigoBienAlquiler == Guid.Empty)//es nu nuevo registro y ya existe uno con esa Cantidad.
                    {
                        existeCantidadHora = 1;
                    }
                    else
                    {
                        if (listaBienAlquiler[0].CodigoBienAlquiler != entidad.CodigoBienAlquiler)
                        {
                            existeCantidadHora = 1;
                        }
                    }
                }
            }

            if (existeSinLimite > 0)
            {
                rpta.Result    = "Sólo puede existir un registro con el indicador Sin Límite, verifique..";
                rpta.IsSuccess = false;
                return(rpta);
            }
            if (existeCantidadHora > 0)
            {
                rpta.Result    = "No puede ingresar cantidad de horas duplicadas, verifique.";
                rpta.IsSuccess = false;
                return(rpta);
            }
            try
            {
                if (entidad.CodigoBienAlquiler == Guid.Empty)
                {
                    entidad.CodigoBienAlquiler = Guid.NewGuid();
                    bienAlquilerRepository.Insertar(entidad);
                }
                else
                {
                    var entidadUpdate = bienAlquilerRepository.GetById(entidad.CodigoBienAlquiler);
                    entidadUpdate.CodigoBien         = entidad.CodigoBien;
                    entidadUpdate.IndicadorSinLimite = entidad.IndicadorSinLimite;
                    entidadUpdate.CantidadLimite     = entidad.CantidadLimite;
                    entidadUpdate.Monto = entidad.Monto;
                    bienAlquilerRepository.Editar(entidadUpdate);
                }
                rpta.Result = bienAlquilerRepository.GuardarCambios();
            }
            catch (Exception ex)
            {
                rpta.IsSuccess = false;
                rpta.Exception = new ApplicationLayerException <BienService>(ex);
            }
            return(rpta);
        }