/// <summary> /// Obtiene la entidad BienAlquiler de una entidad request /// </summary> /// <param name="objRqst">objeto request bienAlquiler</param> /// <returns>Entidad de objeto Bien Alquiler</returns> public static BienAlquilerEntity ObtenerBienAlquilerEntityDeRequest(BienAlquilerRequest objRqst) { BienAlquilerEntity rpta = new BienAlquilerEntity(); NumberFormatInfo numberFormatInfo = new NumberFormatInfo(); numberFormatInfo.NumberDecimalSeparator = "."; numberFormatInfo.NumberGroupSeparator = ","; if (objRqst.CodigoBienAlquiler == null) { objRqst.CodigoBienAlquiler = Guid.Empty; } if (objRqst.CodigoBien == null) { objRqst.CodigoBien = Guid.Empty; } rpta.CodigoBienAlquiler = (Guid)objRqst.CodigoBienAlquiler; rpta.CodigoBien = (Guid)objRqst.CodigoBien; rpta.IndicadorSinLimite = objRqst.IndicadorSinLimite; if (!rpta.IndicadorSinLimite) { rpta.CantidadLimite = Decimal.Parse(objRqst.CantidadLimiteString, numberFormatInfo); } rpta.Monto = Decimal.Parse(objRqst.MontoString, numberFormatInfo); return(rpta); }
/// <summary> /// Obtiene el responde Bien de una entidad Bien /// </summary> /// <param name="objEnt">Objeti entidad</param> /// <returns>Entidad Response de objeto Bien Alquiler</returns> public static BienAlquilerResponse ObtenerBienAlquilerResponseDeEntity(BienAlquilerEntity objEnt) { BienAlquilerResponse rpta = new BienAlquilerResponse(); rpta.CodigoBienAlquiler = objEnt.CodigoBienAlquiler.ToString(); rpta.CodigoBien = objEnt.CodigoBien.ToString(); rpta.IndicadorSinLimite = objEnt.IndicadorSinLimite; rpta.CantidadLimite = objEnt.CantidadLimite; rpta.CantidadLimiteString = objEnt.CantidadLimite.HasValue ? objEnt.CantidadLimite.Value.ToString(DatosConstantes.Formato.FormatoNumeroDecimal) : null; rpta.Monto = objEnt.Monto; rpta.MontoString = objEnt.Monto.ToString(DatosConstantes.Formato.FormatoNumeroDecimal); return(rpta); }
/// <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); }
/// <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); }