public void CambioTipoTarifa() { if (this.vista.TipoTarifaSeleccionada != null) { ETipoTarifa tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifaSeleccionada.ToString()); if (tipo == ETipoTarifa.ESPECIAL) { this.vista.MostrarCliente(true); this.vista.NombreCliente = null; this.vista.ClienteID = null; } else { this.vista.MostrarCliente(false); this.vista.NombreCliente = null; this.vista.ClienteID = null; } } else { this.vista.MostrarCliente(false); this.vista.NombreCliente = null; this.vista.ClienteID = null; } }
private string ValidarDatos() { string s = ""; if (this.vista.TarifaID == null) { s += "Identificardor de la Tarifa"; } if (this.vista.TipoTarifa == null) { s += "Tipo de Tarifa, "; } ETipoTarifa tipoTarifa = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifa.ToString()); if (tipoTarifa == ETipoTarifa.ESPECIAL) { if (this.vista.Vigencia == null) { s += "Vigencia, "; } if (this.vista.CuentaClienteID == null) { s += "Cliente, "; } if (string.IsNullOrEmpty(this.vista.Observaciones)) { s += "Observaciones, "; } } if (string.IsNullOrEmpty(this.vista.Descripcion)) { s += "Descripción, "; } if (this.vista.SucursalID == null) { s += "Sucursal, "; } if (String.IsNullOrEmpty(this.vista.CodigoMoneda)) { s += "Moneda, "; } if (this.vista.ModeloID == null) { s += "Modelo, "; } if (this.vista.Estatus == null) { s += "Estatus, "; } if (s != null && s.Trim().CompareTo("") != 0) { return("Los siguientes campos no pueden estar vacíos: \n" + s.Substring(0, s.Length - 2)); } return(null); }
private void PermitirAplicarSoloEspecial(bool soloEspecial) { try { ETipoTarifa tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifa.ToString()); if (tipo == ETipoTarifa.ESPECIAL && !soloEspecial) { this.vista.RedirigirSinPermisoAcceso(); } } catch (Exception ex) { throw new Exception(""); } }
private void PermitirAplicarSoloEspecial(bool aplicarSoloEspecial) { try { ETipoTarifa tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifa.ToString()); if (tipo == ETipoTarifa.ESPECIAL) { this.vista.PermitirEditar(aplicarSoloEspecial); } } catch (Exception ex) { throw new Exception(nombreClase + ".PermitirAplicarSoloEspecial:Error al configurar la accion permitir Editar una Tarifa Especial." + ex.Message); } }
/// <summary> /// Calcula la tarifa de la unidad, dependiendo de los campos Periodo, Tarifa Turno, Tipo Tarifa, Unidad Operativa y Modelo de la unidad. /// </summary> public void CalcularTarifas() { try { this.vista.Tarifa = null; this.vista.TarifaHrAdicional = null; if (this.vista.PeriodoTarifa != null && this.vista.TarifaTurno != null && this.vista.TipoTarifaID != null && this.vista.UnidadOperativaID != null && this.vista.ModeloID != null) { ETipoTarifa tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifaID.ToString()); TarifaPSLBR tarifaBR = new TarifaPSLBR(); TarifaPSLBO tarifaBO = new TarifaPSLBO(); tarifaBO.PeriodoTarifa = (EPeriodosTarifa)this.vista.PeriodoTarifa; tarifaBO.TipoTarifaID = tipo.ToString(); tarifaBO.TarifaTurno = this.vista.TarifaTurno; tarifaBO.Modelo = new ModeloBO { Id = this.vista.ModeloID }; tarifaBO.Sucursal = new SucursalBO { Id = this.vista.SucursalID, UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } }; tarifaBO.Activo = true; List <TarifaPSLBO> lstTarifas = tarifaBR.Consultar(this.dataContext, tarifaBO); if (lstTarifas.Any()) { Decimal tipoCambioAplicar = 1M; // Seleccionar tarifa de la misma moneda con la que se trabaja TarifaPSLBO tarifaAplicar = lstTarifas.FirstOrDefault(t => t.Divisa.MonedaDestino.Codigo == this.vista.CodigoMoneda); // Si no se encuentra tarifa con misma moneda se selecciona la primera que se encuentre if (tarifaAplicar == null) { tarifaAplicar = lstTarifas.FirstOrDefault(); // Calcular el tipo de cambio DivisaBO divisaConversion = new DivisaBO() { MonedaOrigen = tarifaAplicar.Divisa.MonedaDestino, MonedaDestino = new MonedaBO() { Codigo = this.vista.CodigoMoneda }, FechaTipoCambio = DateTime.Now.Date }; divisaConversion = FacadeBR.ConsultarTipoCambio(this.dataContext, divisaConversion).FirstOrDefault(); if (divisaConversion == null) { throw new Exception("No se encuentra tipo de cambio de " + tarifaAplicar.Divisa.MonedaDestino.Codigo + " a " + this.vista.CodigoMoneda + "."); } tipoCambioAplicar = divisaConversion.TipoCambio.Value; } this.vista.Tarifa = tarifaAplicar.Tarifa * tipoCambioAplicar; this.vista.TarifaHrAdicional = tarifaAplicar.TarifaHrAdicional * tipoCambioAplicar; this.CalcularSeguro(this.vista.Tarifa); } else { this.vista.MostrarMensaje("No se encontró una tarifa configurada que coincida con el filtro proporcionado.", ETipoMensajeIU.ADVERTENCIA); } } } catch (Exception ex) { throw new Exception(this.nombreClase + ".CalcularTarifas: Error al obtener las tarifas. " + ex.Message); } }
private List <TarifaPSLBO> InterfazUsuarioADato() { try { if (this.vista.UnidadOperativaID == null) { throw new Exception("El identificador de la Unidad Operativa no puede ser nulo"); } if (this.vista.AplicarOtrasSucursales == null) { throw new Exception("No aplicar a otras sucursales no puede ser nulo"); } if (this.vista.Estatus == null) { throw new Exception("El estatus no debe ser nulo"); } List <TarifaPSLBO> lstTarifas = new List <TarifaPSLBO>(); List <TarifaPSLBO> tarifasAnteriores = this.vista.TarifasAnteriores; TarifaPSLBO tarifa = this.presentadorTarifas.InterfazUsuarioADato(); ETipoTarifa tipoTarifa = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifa.ToString()); tarifa.Tipo = tipoTarifa; tarifa.Modelo = new ModeloBO { Id = this.vista.ModeloID }; tarifa.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.CodigoMoneda } }; tarifa.Activo = this.vista.Estatus; tarifa.Auditoria = new AuditoriaBO { FUA = this.vista.FUA, UUA = this.vista.UsuarioID }; if (this.vista.AplicarOtrasSucursales != null && this.vista.AplicarOtrasSucursales == true) { foreach (SucursalBO suc in this.vista.SessionListaSucursalSeleccionada) { if (tarifasAnteriores.Find(t => suc.Id == t.Sucursal.Id) != null) { tarifasAnteriores.RemoveAll(s => s.Sucursal.Id == suc.Id); } } this.vista.TarifasAnteriores = tarifasAnteriores; foreach (TarifaPSLBO t in tarifasAnteriores) { TarifaPSLBO tarifaTemp = new TarifaPSLBO(tarifa) { Sucursal = t.Sucursal, TarifaPSLID = t.TarifaPSLID }; lstTarifas.Add(tarifaTemp); } } else { this.vista.TarifasAnteriores.RemoveAll(t => t.Sucursal.Id != this.vista.SucursalID); tarifa.Sucursal = tarifasAnteriores.FindLast(t => t.Sucursal.Id == this.vista.SucursalID).Sucursal; tarifa.TarifaPSLID = this.vista.TarifaPSLID; lstTarifas.Add(tarifa); } return(lstTarifas); } catch (Exception ex) { throw new Exception(nombreClase + ".InterfazUsuarioADato:Error al obtener los datos a actualizar." + ex.Message); } }
private List <TarifaRDBO> InterfazUsuarioADato() { try { if (this.vista.UnidadOperativaID == null) { throw new Exception("El identificador de la unidad no puede ser nulo"); } if (this.vista.AplicarOtrasSucursales == null) { throw new Exception("No se puede obtener el valor del control Aplicar a otras sucursales"); } List <TarifaRDBO> lstTarifas = new List <TarifaRDBO>(); TarifaRDBO tarifa = this.presentadorTarifas.InterfazUsuarioADato(); ETipoTarifa tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifaSeleccionada.ToString()); if (tipo == ETipoTarifa.ESPECIAL) { tarifa.Cliente = new CuentaClienteIdealeaseBO { Id = this.vista.ClienteID }; } tarifa.Tipo = tipo; tarifa.Modelo = new ModeloBO { Id = this.vista.ModeloID }; tarifa.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.MonedaSeleccionada } }; tarifa.Descripcion = this.vista.Descripcion; tarifa.Activo = true; tarifa.Auditoria = new AuditoriaBO { UC = this.vista.UC, FC = this.vista.FC, FUA = this.vista.FC, UUA = this.vista.UC }; tarifa.Vigencia = this.vista.Vigencia; tarifa.Observaciones = this.vista.Observaciones; if (this.vista.AplicarOtrasSucursales != null && this.vista.AplicarOtrasSucursales == true) { List <SucursalBO> sucursalesAplicar = SucursalesSeguridad(); foreach (SucursalBO suc in this.vista.ListaSucursalSeleccionada) { if (sucursalesAplicar.Find(s => suc.Id == s.Id) != null) { sucursalesAplicar.RemoveAll(s => s.Id == suc.Id); } } foreach (SucursalBO suc in sucursalesAplicar) { TarifaRDBO tarifaTemp = new TarifaRDBO(tarifa) { Sucursal = suc }; lstTarifas.Add(tarifaTemp); } } else { tarifa.Sucursal = new SucursalBO { Id = this.vista.SucursalID, UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } }; lstTarifas.Add(tarifa); } return(lstTarifas); } catch (Exception ex) { throw new Exception(this.nombreClase + ".InterfazUsuarioADato:Error al intentar obtener obtener los datos a guardar. " + ex.Message); } }