public TarifaPSLBO InterfazUsuarioADato() { try { TarifaPSLBO tarifa = new TarifaPSLBO(); tarifa.RangoTarifas = new List <RangoTarifaPSLBO>(); tarifa.Tarifa = this.vista.Tarifa; tarifa.TarifaHrAdicional = this.vista.TarifaHrAdicional; if (this.vista.CrearRangos.Value) { tarifa.RangoTarifas.AddRange(this.vista.RangosTarifa.Select(rango => new RangoTarifaPSLBO(rango)).ToList()); } else { var rangoTarifa = new RangoTarifaPSLBO() { RangoInicial = 1, RangoFinal = null, Cargo = 0 }; tarifa.RangoTarifas.Add(rangoTarifa); } return(tarifa); } catch (Exception ex) { throw new Exception(this.nombreClase + ".InterfazUsuarioADato:Error al intentar obtener las tarifas." + ex.Message); } }
private bool ExisteTarifa() { try { TarifaPSLBO tarifaTemp = new TarifaPSLBO(); tarifaTemp.Sucursal = new SucursalBO { Id = this.vista.SucursalID }; tarifaTemp.Modelo = new ModeloBO { Id = this.vista.ModeloID }; tarifaTemp.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.MonedaSeleccionada } }; tarifaTemp.Tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifaSeleccionada.ToString()); tarifaTemp.PeriodoTarifa = (EPeriodosTarifa)this.vista.PeriodoTarifaSeleccionada; Type type = this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ? typeof(ETarifaTurnoConstruccion) : this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion ? typeof(ETarifaTurnoGeneracion) : typeof(ETarifaTurnoEquinova); tarifaTemp.TarifaTurno = (Enum)Enum.ToObject(type, this.vista.TarifaTurnoSeleccionada); List <TarifaPSLBO> lstTarifas = tarifaPSLBR.Consultar(dctx, tarifaTemp); if (lstTarifas.Count == 0) { return(false); } return(true); } catch (Exception ex) { throw new Exception(this.nombreClase + ".ExisteTarifa: " + ex.Message); } }
public void DatosAInterfazUsuario(TarifaPSLBO tarifa) { try { if (Object.ReferenceEquals(tarifa, null)) { tarifa = new TarifaPSLBO() { RangoTarifas = new List <RangoTarifaPSLBO>() { new RangoTarifaPSLBO() } } } ; this.vista.Tarifa = tarifa.Tarifa; this.vista.TarifaHrAdicional = tarifa.TarifaHrAdicional; this.vista.RangosTarifa = tarifa.RangoTarifas; if (this.vista.CrearRangos.Value) { this.vista.PresentarRangos(tarifa.RangoTarifas); } } catch (Exception ex) { throw new Exception(this.nombreClase + ".DatosAInterfazUsuario:Error al intentar establecer los datos de la tarifa." + ex.Message); } }
public void RealizarPrimeraCarga() { try { if (this.vista.ObtenerDatosNavegacion() == null) { throw new Exception("Se esperaba Datos de Navegación"); } if (!(this.vista.ObtenerDatosNavegacion() is TarifaPSLBO)) { throw new Exception("Se esperaba un objeto de TarifaPSLBO"); } TarifaPSLBO tarifa = (TarifaPSLBO)this.vista.ObtenerDatosNavegacion(); tarifa = ConsultarTarifa(tarifa); this.DatoAInterfazUsuario(tarifa, ObtenerPrecioCombustible()); #region SC0024 this.VerificarOpRegresar(); #endregion SC0024 this.vista.LimpiarSesion(); this.EstablecerSeguridad(); } catch (Exception ex) { this.MostrarMensaje("Inconsistencias al momento de obtener los datos de la tarifa", ETipoMensajeIU.ERROR, nombreClase + ".RealizarPrimeraCarga:" + ex.Message); DatoAInterfazUsuario(new TarifaPSLBO(), null); this.vista.PermitirEditar(false); } }
private TarifaPSLBO ConsultarTarifa(TarifaPSLBO tarifa) { try { if (tarifa == null) { throw new Exception("Se esperaba el objeto TarifaPSLBO"); } if (tarifa.TarifaPSLID == null) { throw new Exception("Se necesita el identificador de la tarifa"); } List <TarifaPSLBO> lstTemp = new List <TarifaPSLBO>(); tarifaBR = new TarifaPSLBR(); lstTemp = tarifaBR.ConsultarCompleto(dctx, tarifa); if (lstTemp.Count == 0) { throw new Exception("No se encontro ningún registro en la base datos"); } if (lstTemp.Count > 1) { throw new Exception("Inconsistencias en los registros de la base datos, se encontro mas de un registro de la tarifa que desea buscar"); } return(lstTemp[0]); } catch (Exception ex) { throw new Exception(nombreClase + ".ConsultarTarifa:Inconsistencias al consultar los datos de la Tarifa." + ex.Message); } }
/// <summary> /// Método para obtener la información de la interfaz y asignarla a un objeto de tipo TarifaPSLBO /// </summary> /// <returns>Regresa un objeto de tipo TarifaPSLBO</returns> private TarifaPSLBO InterfazUsuarioADato() { try { TarifaPSLBO bo = new TarifaPSLBO(); bo.RangoTarifas = new List <RangoTarifaPSLBO>(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.Sucursal.UnidadOperativa.Id = this.vista.UnidadOperativaID; bo.Sucursal.Id = this.vista.SucursalID; if (this.vista.ModeloID != null) { bo.Modelo = new ModeloBO { Id = this.vista.ModeloID } } ; if (!String.IsNullOrEmpty(this.vista.CodigoMoneda)) { bo.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.CodigoMoneda } } } ; if (this.vista.TipoTarifa != null) { bo.TipoTarifaID = Enum.GetName(typeof(ETipoTarifa), this.vista.TipoTarifa); } if (this.vista.SucursalID == null) { bo.SucursalesConsulta = FacadeBR.ConsultarSucursalesSeguridad(dctx, new SeguridadBO(Guid.Empty, new UsuarioBO { Id = this.vista.UsuarioID }, new AdscripcionBO { UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } })); } if (this.vista.TarifaTurno != null && Convert.ToInt32(this.vista.TarifaTurno) > 0) { Type type = this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ? typeof(ETarifaTurnoConstruccion) : this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion ? typeof(ETarifaTurnoGeneracion) : typeof(ETarifaTurnoEquinova); bo.TarifaTurno = (Enum)Enum.ToObject(type, this.vista.TarifaTurno); } if (this.vista.PeriodoTarifa > 0) { bo.PeriodoTarifa = (EPeriodosTarifa)this.vista.PeriodoTarifa; } bo.Activo = this.vista.Estatus; return(bo); } catch (Exception ex) { throw new Exception(nombreClase + ".InterfazUsuarioADato:Inconsistencias al obtener los datos proporcionados como filtro de la consulta" + ex.Message); } }
public void IrAEditar() { try { TarifaPSLBO tarifaTemp = InterfazUsuarioADato(); this.vista.EstablecerDatosNavegacion(tarifaTemp); this.vista.RedirigirAEditar(); } catch (Exception ex) { this.MostrarMensaje("Error al intentar ir a editar la tarifa", ETipoMensajeIU.ERROR, nombreClase + "IrAEditar" + ex.Message); } }
/// <summary> /// SC0024 /// Despliega en la vista un objeto recuperado /// </summary> /// <param name="obj">Objeto que se desea desplegar</param> private void DatosAIntefazUsuario(object obj) { TarifaPSLBO tarifa = (TarifaPSLBO)obj; if (!ReferenceEquals(tarifa, null)) { #region Sucursal if (!ReferenceEquals(tarifa.Sucursal, null)) { this.vista.SucursalID = tarifa.Sucursal.Id.HasValue ? tarifa.Sucursal.Id : null; this.vista.NombreSucursal = !string.IsNullOrEmpty(tarifa.Sucursal.Nombre) && !string.IsNullOrWhiteSpace(tarifa.Sucursal.Nombre) ? tarifa.Sucursal.Nombre : string.Empty; } #endregion #region Modelo if (!ReferenceEquals(tarifa.Modelo, null)) { this.vista.ModeloID = tarifa.Modelo.Id.HasValue ? tarifa.Modelo.Id : null; this.vista.NombreModelo = !string.IsNullOrEmpty(tarifa.Modelo.Nombre) && !string.IsNullOrWhiteSpace(tarifa.Modelo.Nombre) ? tarifa.Modelo.Nombre : string.Empty; } #endregion #region Moneda if (!ReferenceEquals(tarifa.Divisa, null)) { if (!ReferenceEquals(tarifa.Divisa.MonedaDestino, null)) { this.vista.CodigoMoneda = !string.IsNullOrEmpty(tarifa.Divisa.MonedaDestino.Codigo) && !string.IsNullOrWhiteSpace(tarifa.Divisa.MonedaDestino.Codigo) ? tarifa.Divisa.MonedaDestino.Codigo : "-1"; } } #endregion #region TipoTarifa this.vista.TipoTarifa = tarifa.Tipo.HasValue ? (int?)tarifa.Tipo : null; #endregion this.vista.TarifaTurno = tarifa.TarifaTurno; this.vista.PeriodoTarifa = tarifa.PeriodoTarifa; this.vista.Estatus = tarifa.Activo.HasValue ? tarifa.Activo : null; } else { this.LimpiarCampos(); } }
protected void grdTarifas_RowDataBound(object sender, GridViewRowEventArgs e) { try { if (e.Row.RowType == DataControlRowType.DataRow) { TarifaPSLBO tarifa = (TarifaPSLBO)e.Row.DataItem; Label lblSucursal = e.Row.FindControl("lblSucursal") as Label; if (lblSucursal != null) { string sucursal = string.Empty; if (tarifa.Sucursal != null) { sucursal = tarifa.Sucursal.Nombre; } lblSucursal.Text = sucursal; } Label lblModelo = e.Row.FindControl("lblModelo") as Label; if (lblModelo != null) { string modelo = string.Empty; if (tarifa.Modelo != null) { modelo = tarifa.Modelo.Nombre; } lblModelo.Text = modelo; } Label lblMoneda = e.Row.FindControl("lblMoneda") as Label; if (lblMoneda != null) { string moneda = string.Empty; if (tarifa.Divisa != null && tarifa.Divisa.MonedaDestino != null) { moneda = tarifa.Divisa.MonedaDestino.Nombre; } lblMoneda.Text = moneda; } Label lblTipoTarifa = e.Row.FindControl("lblTipoTarifa") as Label; if (lblTipoTarifa != null) { string tipo = string.Empty; if (tarifa.TipoTarifaID != null) { tipo = tarifa.TipoTarifaID.ToString(); } lblTipoTarifa.Text = tipo; } } } catch (Exception ex) { MostrarMensaje("Inconsistencia al monento de desplegar la lista de tarifas", ETipoMensajeIU.ERROR, nombreClase + ".grdTarifas_RowDataBound:" + ex.Message); } }
public void Guardar() { try { string s; if ((s = this.ValidarCamposConfiguracion()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } if ((s = this.ValidarCampos()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } if ((s = this.presentadorTarifas.ValidarDatos()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } #region Logica de Inserción List <TarifaPSLBO> lst = this.InterfazUsuarioADato(); tarifaPSLBR.InsertarCompleto(dctx, lst, new SeguridadBO(Guid.Empty, new UsuarioBO() { Id = this.vista.UC }, new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } })); TarifaPSLBO tarifaTemp = lst.FindLast(t => t.Sucursal.Id == this.vista.SucursalID); List <TarifaPSLBO> lstTemp = tarifaPSLBR.Consultar(dctx, tarifaTemp); if (lstTemp.Count != 0) { tarifaTemp.TarifaPSLID = lstTemp[0].TarifaPSLID; } #endregion this.vista.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion((object)tarifaTemp); this.vista.RedirigirADetalle(); } catch (Exception ex) { this.MostrarMensaje("Inconsistencias al momento de registrar la tarifa configurada", ETipoMensajeIU.ERROR, this.nombreClase + ".Guardar:" + ex.Message); } }
private TarifaPSLBO ConsultarTarifas() { try { if (this.vista.AplicarOtrasSucursales == null) { throw new Exception("El valor del aplicar a otras sucursales no puede ser nulo"); } if (this.vista.UsuarioID == null) { throw new Exception("El identificador del usuario no puede ser nulo"); } if (this.vista.UnidadOperativaID == null) { throw new Exception("El identificador de la unidad operativa no puede ser nulo"); } if (this.vista.ObtenerDatosNavegacion() == null) { throw new Exception("Se esperaba un objeto de navegación"); } if (!(this.vista.ObtenerDatosNavegacion() is TarifaPSLBO)) { throw new Exception("Se esperaba un TarifaPSLBO en el paquete de navegación"); } TarifaPSLBO tarifaTemp = this.vista.ObtenerDatosNavegacion() as TarifaPSLBO; if (this.vista.AplicarOtrasSucursales == false) { tarifaTemp = ConsultarTarifaSucursal(new TarifaPSLBO { TarifaPSLID = tarifaTemp.TarifaPSLID }); List <TarifaPSLBO> lst = new List <TarifaPSLBO>(); lst.Add(new TarifaPSLBO(tarifaTemp)); this.vista.TarifasAnteriores = lst; return(tarifaTemp); } else { tarifaTemp = ConsultarTarifaSucursal(new TarifaPSLBO { TarifaPSLID = tarifaTemp.TarifaPSLID }); List <TarifaPSLBO> lstTemp = ConsultarTarifasSucursales(tarifaTemp); this.vista.TarifasAnteriores = lstTemp; return(tarifaTemp); } return(null); } catch (Exception ex) { throw new Exception(nombreClase + ".ConsultarTarifas:Error al obtener los datos de la tarifa." + 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 ObtieneTarifaBase() { try { TarifaPSLBO tarifaBO = new TarifaPSLBO(); TarifaPersonalizadaPSLModel tarifaModel = (TarifaPersonalizadaPSLModel)this.vista.ObtenerPaqueteNavegacion("TarifaPersonalizaPSLEnviada"); tarifaBO.PeriodoTarifa = tarifaModel.TarifaBasePeriodoTarifa; tarifaBO.TipoTarifaID = tarifaModel.TarifaPersonalizadaTipoTarifa; tarifaBO.Divisa = tarifaModel.TarifaBaseDivisa; int valorTurno; switch (this.vista.UnidadOperativaID) { case (int)ETipoEmpresa.Construccion: valorTurno = BPMO.Facade.SDNI.BR.FacadeBR.ObtenerValorEnumerador <ETarifaTurnoConstruccion>(tarifaModel.TarifaPersonalizadaTurno); tarifaBO.TarifaTurno = (ETarifaTurnoConstruccion)valorTurno; break; case (int)ETipoEmpresa.Generacion: valorTurno = BPMO.Facade.SDNI.BR.FacadeBR.ObtenerValorEnumerador <ETarifaTurnoGeneracion>(tarifaModel.TarifaPersonalizadaTurno); tarifaBO.TarifaTurno = (ETarifaTurnoGeneracion)valorTurno; break; case (int)ETipoEmpresa.Equinova: valorTurno = BPMO.Facade.SDNI.BR.FacadeBR.ObtenerValorEnumerador <ETarifaTurnoEquinova>(tarifaModel.TarifaPersonalizadaTurno); tarifaBO.TarifaTurno = (ETarifaTurnoEquinova)valorTurno; break; } tarifaBO.Modelo = new BPMO.Servicio.Catalogos.BO.ModeloBO { Id = this.vista.ModeloID }; tarifaBO.Sucursal = new SucursalBO { Id = this.vista.SucursalID, UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } }; tarifaBO.Activo = true; TarifaPSLBR tarifaBR = new TarifaPSLBR(); List <TarifaPSLBO> lstTarifas = tarifaBR.Consultar(this.dataContext, tarifaBO); if (lstTarifas != null && lstTarifas.Count > 0) { this.vista.TarifaBase = lstTarifas[0].Tarifa; } else { this.vista.MostrarMensaje("No se encontró una tarifa configurada.", ETipoMensajeIU.ADVERTENCIA); } } catch { throw new Exception(this.nombreClase + ".ObtieneTarifaBase: Error al obtener la tarifa"); } }
/// <summary> /// Método que redirige a la pantalla de detalle /// </summary> /// <param name="tarifaID">Identificador de la tarifa que desea ver el detalle</param> public void IrADetalle(int?tarifaID) { try { TarifaPSLBO tarifa = new TarifaPSLBO { TarifaPSLID = tarifaID }; this.vista.LimpiarSesion(); #region SC0024 Dictionary <string, object> elementosFiltro = new Dictionary <string, object>(); elementosFiltro.Add("ObjetoFiltro", this.InterfazUsuarioADatoNavegacion()); elementosFiltro.Add("PagActGrid", this.vista.IndicePaginaResultado); elementosFiltro.Add("Bandera", true); #endregion this.vista.EstablecerDatosNavegacion(tarifa, elementosFiltro); this.vista.RedirigirADetalle(); } catch (Exception ex) { this.MostrarMensaje("Error al momento de intentar redirigir al detalle de la tarifa seleccionada", ETipoMensajeIU.ERROR, nombreClase + "IrADetalle" + ex.Message); } }
public void RealizarPrimeraCarga() { this.PrepararNuevo(); //Si la sucursal seleccionada es matriz entonces puede aplicar tarifas a varias sucursales List <SucursalBO> lst = FacadeBR.ConsultarSucursal(this.dctx, new SucursalBO() { Id = this.vista.SucursalID }); bool esMatriz = (lst.Count > 0 && lst[0].Matriz != null && lst[0].Matriz == true); this.vista.PermitirAgregarSucursales(esMatriz); this.MostrarLeyendaSucursales(esMatriz); this.vista.AplicarOtrasSucursales = esMatriz; TarifaPSLBO tarifa = this.ConsultarTarifas(); this.DatoAInterfazUsuario(tarifa); this.vista.PrecioCombustible = ObtenerPrecioCombustible(); this.EstablecerSeguridad(); }
/// <summary> /// Método que realiza la consulta de las tarifas para cargar a la interfaz /// </summary> public void ConsultarTarifas() { try { TarifaPSLBO tarifa = InterfazUsuarioADato(); tarifaBr = new TarifaPSLBR(); List <TarifaPSLBO> lstTarifas = tarifaBr.ConsultarCompleto(dctx, tarifa); this.vista.ListaTarifas = lstTarifas != null?lstTarifas.ConvertAll(t => (TarifaPSLBO)t) : new List <TarifaPSLBO>(); if (lstTarifas.Count != 0) { this.vista.ActualizarListaTarifas(); } else { this.vista.ListaTarifas = null; this.vista.ActualizarListaTarifas(); MostrarMensaje("No se han encontrado tarifas con los filtros proporcionados", ETipoMensajeIU.INFORMACION); } } catch (Exception ex) { this.MostrarMensaje("Inconsistencias al momento de buscar las tarifas", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarTarifas:" + ex.Message); } }
private TarifaPSLBO ConsultarTarifaSucursal(TarifaPSLBO tarifa) { try { if (Object.ReferenceEquals(tarifa, null)) { throw new Exception("El objeto no puede ser nulo"); } if (tarifa.TarifaPSLID == null) { throw new Exception("El identificador de la tarifa no puede ser nulo"); } List <TarifaPSLBO> lstTarifas = tarifaBR.ConsultarCompleto(dctx, new TarifaPSLBO { TarifaPSLID = tarifa.TarifaPSLID }); if (lstTarifas.Count == 0) { throw new Exception("No se encontro la tarifa especificada"); } TarifaPSLBO tarifaTemp = new TarifaPSLBO(lstTarifas[0]); return(tarifaTemp); } catch (Exception ex) { throw new Exception(nombreClase + ".ConsultarTarifaSucursal:Error al consultar la tarifa." + ex.Message); } }
private TarifaPSLBO InterfazUsuarioADato() { TarifaPSLBO tarifa = new TarifaPSLBO(); tarifa.TarifaPSLID = this.vista.TarifaPSLID; tarifa.TarifaTurno = this.vista.TarifaTurno; tarifa.PeriodoTarifa = this.vista.PeriodoTarifa; tarifa.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.CodigoMoneda } }; tarifa.Modelo = new ModeloBO { Id = this.vista.ModeloID }; tarifa.Sucursal = new SucursalBO { Id = this.vista.SucursalID, UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } }; tarifa.Tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifa.ToString()); return(tarifa); }
private List <TarifaPSLBO> ConsultarTarifasSucursales(TarifaPSLBO tarifa) { try { //validacion de los filtros obligatorios para buscar las sucursales que tienen la misma tarifa. if (Object.ReferenceEquals(tarifa, null)) { throw new Exception("El objeto no puede ser nulo"); } if (Object.ReferenceEquals(tarifa.Modelo, null)) { throw new Exception("El objeto Modelo de la tarifa no puede ser nulo"); } if (tarifa.Divisa == null || tarifa.Divisa.MonedaDestino == null) { throw new Exception(" El objeto de divisa de la tarifa no puede ser nulo"); } if (tarifa.Tipo == null) { throw new Exception("el tipo de tarifa no puede ser nulo"); } if (this.vista.UnidadOperativaID == null) { throw new Exception("La unidad Operativa de la tarifa no puede ser nulo"); } if (tarifa.Modelo.Id == null) { throw new Exception("el identificador del modelo de la tarifa no puede ser nulo"); } if (String.IsNullOrEmpty(tarifa.Divisa.MonedaDestino.Codigo)) { throw new Exception("El código de la moneda no puede ser vacío"); } //seccion de consulta TarifaPSLBO tarifaTemp = new TarifaPSLBO { Sucursal = new SucursalBO { UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } }, Modelo = new ModeloBO { Id = tarifa.Modelo.Id }, Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = tarifa.Divisa.MonedaDestino.Codigo } }, Tipo = tarifa.Tipo, Activo = true, SucursalesConsulta = SucursalesSeguridad() }; List <TarifaPSLBO> lstTarifa = tarifaBR.Consultar(dctx, tarifaTemp); return(lstTarifa); } catch (Exception ex) { throw new Exception(nombreClase + ".ConsultarTarifasSucursales:Error al consultar las sucursales que tiene las mismas tarifas." + ex.Message); } }
/// <summary> /// SC0024 /// Obtiene la información capturada en la vista y la convierte en un objeto /// </summary> /// <returns>Objeto generado con los datos de la interfaz de usuario</returns> private object InterfazUsuarioADatoNavegacion() { try { TarifaPSLBO bof = new TarifaPSLBO(); bof.RangoTarifas = new List <RangoTarifaPSLBO>(); bof.Sucursal = new SucursalBO(); bof.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bof.Modelo = new ModeloBO(); bof.Sucursal.UnidadOperativa.Id = this.vista.UnidadOperativaID; if (this.vista.SucursalID.HasValue) { bof.Sucursal.Id = this.vista.SucursalID.Value; } if (!string.IsNullOrEmpty(this.vista.NombreSucursal) && !string.IsNullOrWhiteSpace(this.vista.NombreSucursal)) { bof.Sucursal.Nombre = this.vista.NombreSucursal.Trim().ToUpper(); } if (this.vista.ModeloID.HasValue) { bof.Modelo.Id = this.vista.ModeloID.Value; } if (!string.IsNullOrEmpty(this.vista.NombreModelo) && !string.IsNullOrWhiteSpace(this.vista.NombreModelo)) { bof.Modelo.Nombre = this.vista.NombreModelo.Trim().ToUpper(); } if (!String.IsNullOrEmpty(this.vista.CodigoMoneda)) { bof.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.CodigoMoneda } } } ; if (this.vista.TipoTarifa != null) { bof.Tipo = (ETipoTarifa)Enum.Parse(typeof(ETipoTarifa), this.vista.TipoTarifa.ToString()); } if (this.vista.SucursalID.HasValue) { bof.SucursalesConsulta = FacadeBR.ConsultarSucursalesSeguridad(dctx, new SeguridadBO(Guid.Empty, new UsuarioBO { Id = this.vista.UsuarioID }, new AdscripcionBO { UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadOperativaID } })); } if (this.vista.Estatus.HasValue) { bof.Activo = this.vista.Estatus; } bof.TarifaTurno = this.vista.TarifaTurno; bof.PeriodoTarifa = this.vista.PeriodoTarifa; return(bof); } catch (Exception ex) { throw new Exception(nombreClase + ".InterfazUsuarioADato:Inconsistencias al obtener los datos proporcionados como filtro de la consulta" + 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 void DatoAInterfazUsuario(TarifaPSLBO tarifa) { if (Object.ReferenceEquals(tarifa, null)) { tarifa = new TarifaPSLBO(); } if (Object.ReferenceEquals(tarifa.Sucursal, null)) { tarifa.Sucursal = new SucursalBO(); } if (Object.ReferenceEquals(tarifa.Modelo, null)) { tarifa.Modelo = new ModeloBO(); } if (Object.ReferenceEquals(tarifa.Divisa, null)) { tarifa.Divisa = new DivisaBO(); } if (object.ReferenceEquals(tarifa.Divisa.MonedaDestino, null)) { tarifa.Divisa.MonedaDestino = new MonedaBO(); } this.vista.TarifaPSLID = tarifa.TarifaPSLID; this.vista.SucursalID = tarifa.Sucursal.Id; this.vista.NombreSucursal = tarifa.Sucursal.Nombre; this.vista.ModeloID = tarifa.Modelo.Id; this.vista.NombreModelo = tarifa.Modelo.Nombre; this.vista.CodigoMoneda = tarifa.Divisa.MonedaDestino.Codigo; this.vista.NombreMoneda = tarifa.Divisa.MonedaDestino.Nombre; this.vista.NombreTipoTarifa = tarifa.Tipo.ToString(); if (tarifa.TipoTarifaID != null) { this.vista.NombreTipoTarifa = tarifa.TipoTarifaID; foreach (var tipo in Enum.GetValues(typeof(ETipoTarifa))) { if (Enum.GetName(typeof(ETipoTarifa), tipo) == tarifa.TipoTarifaID) { this.vista.TipoTarifa = (int)tipo; break; } } } this.vista.Estatus = tarifa.Activo; if (tarifa.TarifaTurno != null) { Type type = this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ? typeof(ETarifaTurnoConstruccion) : this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion ? typeof(ETarifaTurnoGeneracion) : typeof(ETarifaTurnoEquinova); var memInfo = type.GetMember(type.GetEnumName(tarifa.TarifaTurno)); var display = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false).FirstOrDefault() as DescriptionAttribute; if (display != null) { this.vista.NombreTarifaTurno = display.Description; } this.vista.TarifaTurno = tarifa.TarifaTurno; } if (tarifa.PeriodoTarifa != null) { this.vista.NombrePeriodoTarifa = Enum.GetName(typeof(EPeriodosTarifa), tarifa.PeriodoTarifa).Replace("_", "-"); this.vista.PeriodoTarifa = tarifa.PeriodoTarifa; } this.vista.Estatus = tarifa.Activo; presentadorTarifas.DatosAInterfazUsuario(tarifa); this.vista.NombreSucursalNoAplica = null; this.vista.SucursalNoAplicaID = null; this.vista.SessionListaSucursalSeleccionada = null; }
private List <TarifaPSLBO> 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 <TarifaPSLBO> lstTarifas = new List <TarifaPSLBO>(); TarifaPSLBO 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.TipoTarifaID = tipo.ToString(); tarifa.Modelo = new ModeloBO { Id = this.vista.ModeloID }; tarifa.Divisa = new DivisaBO { MonedaDestino = new MonedaBO { Codigo = this.vista.MonedaSeleccionada } }; Type type = this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ? typeof(ETarifaTurnoConstruccion) : this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion ? typeof(ETarifaTurnoGeneracion) : typeof(ETarifaTurnoEquinova); tarifa.TarifaTurno = (Enum)Enum.ToObject(type, this.vista.TarifaTurnoSeleccionada); tarifa.PeriodoTarifa = (EPeriodosTarifa)this.vista.PeriodoTarifaSeleccionada; tarifa.Tarifa = this.vista.Tarifa; tarifa.TarifaHrAdicional = this.vista.TarifaHrAdicional; 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; 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) { TarifaPSLBO tarifaTemp = new TarifaPSLBO(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); } }
/// <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 void DatoAInterfazUsuario(TarifaPSLBO tarifa, decimal?precioCombustible) { try { if (tarifa.TarifaPSLID != null) { this.vista.TarifaPSLID = tarifa.TarifaPSLID; } if (tarifa.Modelo != null && tarifa.Modelo.Id != null) { this.vista.NombreModelo = tarifa.Modelo.Nombre; this.vista.ModeloID = tarifa.Modelo.Id; } if (tarifa.Divisa != null && tarifa.Divisa.MonedaDestino != null && !String.IsNullOrEmpty(tarifa.Divisa.MonedaDestino.Codigo)) { this.vista.NombreMoneda = tarifa.Divisa.MonedaDestino.Nombre; this.vista.CodigoMoneda = tarifa.Divisa.MonedaDestino.Codigo; } if (tarifa.Sucursal != null && tarifa.Sucursal.Id != null) { this.vista.NombreSucursal = tarifa.Sucursal.Nombre; this.vista.SucursalID = tarifa.Sucursal.Id; } if (tarifa.TipoTarifaID != null) { this.vista.NombreTipoTarifa = tarifa.TipoTarifaID; foreach (var tipo in Enum.GetValues(typeof(ETipoTarifa))) { if (Enum.GetName(typeof(ETipoTarifa), tipo) == tarifa.TipoTarifaID) { this.vista.TipoTarifa = (int)tipo; break; } } } if (tarifa.Auditoria != null) { this.vista.FechaRegistro = tarifa.Auditoria.FC; this.vista.FechaModificacion = tarifa.Auditoria.FUA; if (tarifa.Auditoria.UC != null) { this.vista.UsuarioRegistro = ObtenerNombreEmpleado(tarifa.Auditoria.UC); } if (tarifa.Auditoria.UUA != null) { this.vista.UsuarioModificacion = ObtenerNombreEmpleado(tarifa.Auditoria.UUA); } } this.vista.Estatus = tarifa.Activo != null ? tarifa.Activo.ToString() .ToUpper() .Replace("TRUE", "ACTIVO") .Replace("FALSE", "INACTIVO") : String.Empty; if (tarifa.TarifaTurno != null) { Type type = this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ? typeof(ETarifaTurnoConstruccion) : this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion ? typeof(ETarifaTurnoGeneracion) : typeof(ETarifaTurnoEquinova); var memInfo = type.GetMember(type.GetEnumName(tarifa.TarifaTurno)); var display = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false).FirstOrDefault() as DescriptionAttribute; if (display != null) { this.vista.NombreTarifaTurno = display.Description; } switch ((ETipoEmpresa)this.vista.UnidadOperativaID) { case ETipoEmpresa.Construccion: this.vista.TarifaTurno = (ETarifaTurnoConstruccion)tarifa.TarifaTurno; break; case ETipoEmpresa.Generacion: this.vista.TarifaTurno = (ETarifaTurnoGeneracion)tarifa.TarifaTurno; break; case ETipoEmpresa.Equinova: this.vista.TarifaTurno = (ETarifaTurnoEquinova)tarifa.TarifaTurno; break; } } if (tarifa.PeriodoTarifa != null) { Type type = typeof(EPeriodosTarifa); var memInfo = type.GetMember(type.GetEnumName(tarifa.PeriodoTarifa)); var display = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false).FirstOrDefault() as DescriptionAttribute; if (display != null) { this.vista.NombrePeriodoTarifa = display.Description; } this.vista.PeriodoTarifa = tarifa.PeriodoTarifa; } this.vista.PrecioCombustible = precioCombustible; presentadorTarifa.ModoConsulta(true); presentadorTarifa.DatosAInterfazUsuario(tarifa); } catch (Exception ex) { throw new Exception(nombreClase + ".DatoAInterfazUsuario:Inconsistencia al presentar los datos de la tarifa" + ex.Message); } }