Example #1
0
        public void DatosAInterfazUsuario(DiaPeriodoTarifaBO PeriodoTarifario)
        {
            try {
                if (Object.ReferenceEquals(PeriodoTarifario, null))
                {
                    PeriodoTarifario = new DiaPeriodoTarifaBO()
                    {
                        DetalleHorasTurnoTarifa = new List <DetalleHorasTurnoTarifaBO>()
                        {
                            new DetalleHorasTurnoTarifaBO()
                        }
                    }
                }
                ;

                this.vista.IncluyeSD           = PeriodoTarifario.IncluyeSD;
                this.vista.DiasDuracionSemana  = PeriodoTarifario.DiasDuracionSemana;
                this.vista.DiasDuracionMes     = PeriodoTarifario.DiasDuracionMes;
                this.vista.InicioPeriodoDia    = 1;
                this.vista.InicioPeriodoSemana = PeriodoTarifario.InicioPeriodoSemana;
                this.vista.InicioPeriodoMes    = PeriodoTarifario.InicioPeriodoMes;
                this.vista.listHorasTurno      = this.ObtenerListaClonada(PeriodoTarifario.DetalleHorasTurnoTarifa);
                this.vista.PresentarHorasTurno(PeriodoTarifario.DetalleHorasTurnoTarifa);
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".DatosAInterfazUsuario:Error al intentar establecer los datos de la PeriodoTarifario." + ex.Message);
            }
        }
Example #2
0
        public DiaPeriodoTarifaBO InterfazUsuarioADato()
        {
            try {
                DiaPeriodoTarifaBO PeriodoTarifario = new DiaPeriodoTarifaBO()
                {
                    DetalleHorasTurnoTarifa = new List <DetalleHorasTurnoTarifaBO>(),
                    IncluyeSD           = this.vista.IncluyeSD,
                    DiasDuracionSemana  = this.vista.DiasDuracionSemana,
                    DiasDuracionMes     = this.vista.DiasDuracionMes,
                    InicioPeriodoDia    = 1,
                    InicioPeriodoSemana = this.vista.InicioPeriodoSemana,
                    InicioPeriodoMes    = this.vista.InicioPeriodoMes
                };
                PeriodoTarifario.DetalleHorasTurnoTarifa.AddRange(this.vista.listHorasTurno.Select(detalle => new DetalleHorasTurnoTarifaBO(detalle)).ToList());

                foreach (DetalleHorasTurnoTarifaBO detalle in PeriodoTarifario.DetalleHorasTurnoTarifa)
                {
                    detalle.Auditoria = new AuditoriaBO()
                    {
                        UC = this.vista.UsuarioID, FC = DateTime.Now, UUA = this.vista.UsuarioID, FUA = DateTime.Now
                    };
                }

                return(PeriodoTarifario);
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".InterfazUsuarioADato:Error al intentar obtener los PeriodoTarifarios." + 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 DiaPeriodoTarifaBO))
                {
                    throw new Exception("Se esperaba un objeto de PeriodoTarifaPSLBO");
                }

                this.vista.EstablecerOpcionesUnidadesOperativas(this.ObtenerUnidadesOperativas());
                this.presentadorPeriodoTarifario.PrepararDetalle();
                DiaPeriodoTarifaBO periodoTarifa = (DiaPeriodoTarifaBO)this.vista.ObtenerDatosNavegacion();
                periodoTarifa = ConsultarTarifa(periodoTarifa);
                this.DatoAInterfazUsuario(periodoTarifa);
                this.vista.LimpiarSesion();
                this.vista.EstablecerDatosNavegacion(periodoTarifa);
                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 DiaPeriodoTarifaBO());
                this.vista.PermitirEditar(false);
            }
        }
Example #4
0
 /// <summary>
 /// Evento que controla la selección del DropDownList de Sector.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void ddlUnidadOperativa_SelectedIndexChanged(object sender, EventArgs e)
 {
     Session["PeriodoTarifarioPSLBO"] = new DiaPeriodoTarifaBO()
     {
         UnidadOperativaID = Convert.ToInt32(ddlUnidadOperativa.SelectedValue)
     };
     this.hdnUnidadOperativaSeleccionadaID.Value = ddlUnidadOperativa.SelectedValue;
     this.presentador.RealizarPrimeraCarga();
 }
        private void DatoAInterfazUsuario(DiaPeriodoTarifaBO periodoTarifa)
        {
            if (Object.ReferenceEquals(periodoTarifa, null))
            {
                periodoTarifa = new DiaPeriodoTarifaBO();
            }

            presentadorPeriodoTarifario.DatosAInterfazUsuario(periodoTarifa);
        }
 public void IrAEditar()
 {
     try {
         DiaPeriodoTarifaBO tarifaTemp = InterfazUsuarioADato();
         this.vista.LimpiarSesion();
         this.vista.EstablecerDatosNavegacion(tarifaTemp);
         this.vista.RedirigirAEditar();
     } catch (Exception ex) {
         this.MostrarMensaje("Error al intentar ir a editar el Período Tarifario", ETipoMensajeIU.ERROR, nombreClase + "IrAEditar" + ex.Message);
     }
 }
        private DiaPeriodoTarifaBO ConsultarTarifa(DiaPeriodoTarifaBO periodoTarifa)
        {
            try {
                if (periodoTarifa == null)
                {
                    throw new Exception("Se esperaba el objeto PeriodoTarifaPSLBO");
                }
                if (periodoTarifa.UnidadOperativaID == null)
                {
                    throw new Exception("Se necesita el identificador de la Unidad Operativa para ver el Período Tarifario");
                }

                List <DiaPeriodoTarifaBO> lstTemp = new List <DiaPeriodoTarifaBO>();
                periodoTarifaBR = new DiaPeriodoTarifaBR();
                lstTemp         = periodoTarifaBR.ConsultarCompleto(dctx, periodoTarifa);
                if (lstTemp.Count == 0)
                {
                    #region Si no existe un registro en la DB, es porque se agregó la UO pero no se ha configurado
                    #region Obtener la seguridad
                    UsuarioBO usr = new UsuarioBO {
                        Id = this.vista.UsuarioID
                    };
                    AdscripcionBO adscripcion = new AdscripcionBO {
                        UnidadOperativa = new UnidadOperativaBO {
                            Id = this.vista.UnidadOperativaID
                        }
                    };
                    SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usr, adscripcion);
                    #endregion
                    #region Asignar valores default para insertar
                    periodoTarifa.IncluyeSD           = false;
                    periodoTarifa.DiasDuracionSemana  = 0;
                    periodoTarifa.DiasDuracionMes     = 0;
                    periodoTarifa.InicioPeriodoDia    = 1;
                    periodoTarifa.InicioPeriodoSemana = 0;
                    periodoTarifa.InicioPeriodoMes    = 0;
                    periodoTarifa.Auditoria           = new AuditoriaBO()
                    {
                        UC = this.vista.UsuarioID, FC = DateTime.Now, UUA = this.vista.UsuarioID, FUA = DateTime.Now
                    };
                    #endregion
                    periodoTarifaBR.InsertarCompleto(dctx, periodoTarifa, seguridadBO);
                    #endregion
                }
                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 + ".ConsultarPeriodoTarifario:Inconsistencias al consultar los datos del Período Tarifario." + ex.Message);
            }
        }
        private void DatoAInterfazUsuario(DiaPeriodoTarifaBO periodoTarifa)
        {
            try {
                if (Object.ReferenceEquals(periodoTarifa, null))
                {
                    periodoTarifa = new DiaPeriodoTarifaBO();
                }

                presentadorPeriodoTarifario.DatosAInterfazUsuario(periodoTarifa);
            } catch (Exception ex) {
                throw new Exception(nombreClase + ".DatoAInterfazUsuario:Inconsistencia al presentar los datos de la tarifa" + ex.Message);
            }
        }
        private DiaPeriodoTarifaBO InterfazUsuarioADato()
        {
            DiaPeriodoTarifaBO periodoTarifa = new DiaPeriodoTarifaBO();

            if (this.vista.UnidadOperativaSeleccionadaID == null)
            {
                throw new Exception("El identificador de la Unidad Operativa no puede ser nulo");
            }

            periodoTarifa = this.presentadorPeriodoTarifario.InterfazUsuarioADato();
            periodoTarifa.UnidadOperativaID = this.vista.UnidadOperativaSeleccionadaID;

            return(periodoTarifa);
        }
        private DiaPeriodoTarifaBO InterfazUsuarioADato()
        {
            try {
                if (this.vista.UnidadOperativaID == null)
                {
                    throw new Exception("El identificador de la Unidad Operativa no puede ser nulo");
                }

                DiaPeriodoTarifaBO tarifa = this.presentadorPeriodoTarifario.InterfazUsuarioADato();
                tarifa.UnidadOperativaID = this.vista.UnidadOperativaSeleccionada;
                tarifa.Auditoria         = new AuditoriaBO
                {
                    FUA = this.vista.FUA,
                    UUA = this.vista.UsuarioID
                };

                return(tarifa);
            } catch (Exception ex) {
                throw new Exception(nombreClase + ".InterfazUsuarioADato:Error al obtener los datos a actualizar." + ex.Message);
            }
        }
        public void Guardar()
        {
            try {
                string s;
                if ((s = this.presentadorPeriodoTarifario.ValidarDatos()) != null)
                {
                    this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                    return;
                }
                if ((s = this.ValidarDatos()) != null)
                {
                    this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                    return;
                }

                DiaPeriodoTarifaBO diaPeriodoTarifa = InterfazUsuarioADato();

                #region Obtener la seguridad
                UsuarioBO usr = new UsuarioBO {
                    Id = this.vista.UsuarioID
                };
                AdscripcionBO adscripcion = new AdscripcionBO {
                    UnidadOperativa = new UnidadOperativaBO {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usr, adscripcion);
                #endregion
                periodoTarifaBR.ActualizarCompleto(dctx, diaPeriodoTarifa, this.vista.UltimoObjeto as DiaPeriodoTarifaBO, seguridadBO);

                this.vista.LimpiarSesion();
                this.vista.EstablecerPaqueteNavegacion(diaPeriodoTarifa);
                this.vista.RedirigirADetalle();
            } catch (Exception ex) {
                this.MostrarMensaje("Error al intentar actualizar los datos", ETipoMensajeIU.ERROR,
                                    nombreClase + ".Guardar:" + ex.Message);
            }
        }
        /// <summary>
        /// Genera el reporte para el check list
        /// </summary>
        /// <param name="datos">Datos del check list</param>
        private void ImprimirReporte(Dictionary <string, object> datos)
        {
            try {
                var contrato = (ContratoPSLBO)datos["ContratoPSLBO"];
                if (contrato == null)
                {
                    throw new Exception("No se encontró información para imprimir el contrato");
                }

                #region #Anexo
                int numeroAnexo = 1;
                if (datos.ContainsKey("NumeroAnexo"))
                {
                    numeroAnexo = (int)datos["NumeroAnexo"];
                }
                this.xrlblAnexo.Text = "ANEXO " + GetRomanNumber(numeroAnexo);
                #endregion

                #region Fecha
                this.xrtDia.Text  = "";
                this.xrtMes.Text  = "";
                this.xrtAnio.Text = "";
                if (contrato.FechaInicioActual != null)
                {
                    this.xrtDia.Text  = contrato.FechaInicioActual.Value.Day.ToString();
                    this.xrtMes.Text  = contrato.FechaInicioActual.Value.Month.ToString();
                    this.xrtAnio.Text = contrato.FechaInicioActual.Value.Year.ToString();
                }
                #endregion

                #region Obtener Porcentaje de Impuesto
                decimal porcentajeImp = 0;
                if (contrato.Sucursal != null && contrato.Sucursal.Impuesto != null && contrato.Sucursal.Impuesto.PorcentajeImpuesto != null)
                {
                    porcentajeImp = (decimal)contrato.Sucursal.Impuesto.PorcentajeImpuesto / 100;
                }
                #endregion

                #region Datos de identificación
                List <LineaContratoPSLBO>      listaContrato = contrato.LineasContrato.ConvertAll(s => (LineaContratoPSLBO)s);
                ConfiguracionUnidadOperativaBO configEmpresa = datos.ContainsKey("RepresentanteEmpresa") ? (ConfiguracionUnidadOperativaBO)datos["RepresentanteEmpresa"] : new ConfiguracionUnidadOperativaBO();
                decimal?      importeCadaRenta   = null;
                List <string> listaunidades      = new List <string>();
                decimal?      montoTotalContrato = 0;
                decimal?      montoTotalUnidad   = 0;
                decimal?      importeSeguro      = 0;
                #region PeriodoTarifario
                BPMO.Basicos.BO.MonedaBO moneda = new BPMO.Basicos.BO.MonedaBO();
                if (datos.ContainsKey("Moneda"))
                {
                    moneda = (BPMO.Basicos.BO.MonedaBO)datos["Moneda"];
                }
                decimal?           tarifaCalculada = 0;
                DiaPeriodoTarifaBO periodoTarifa   = new DiaPeriodoTarifaBO();
                if (datos.ContainsKey("PeriodoTarifa"))
                {
                    periodoTarifa = (DiaPeriodoTarifaBO)datos["PeriodoTarifa"];
                }
                int?iniSemana = periodoTarifa.InicioPeriodoSemana;
                int?iniMes    = periodoTarifa.InicioPeriodoMes;
                int diasRenta = ((int)contrato.DiasRenta(true));
                #endregion
                foreach (LineaContratoPSLBO lineascnt in listaContrato.Where(lc => lc.Activo == true))
                {
                    if (lineascnt.Equipo != null && lineascnt.Equipo.TipoEquipoServicio != null && lineascnt.Equipo.Modelo != null)
                    {
                        listaunidades.Add(lineascnt.Equipo.TipoEquipoServicio.Nombre + "- " + lineascnt.Equipo.Modelo.Nombre);
                    }

                    if (((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaCobradaEnPago != null)
                    {
                        importeCadaRenta = ((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaCobradaEnPago.GetValueOrDefault();
                    }

                    #region Tarifa
                    if (((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaConDescuento != null && ((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaConDescuento > 0)
                    {
                        tarifaCalculada = ((TarifaContratoPSLBO)lineascnt.Cobrable).TarifaConDescuento;
                    }
                    else
                    {
                        tarifaCalculada = ((TarifaContratoPSLBO)lineascnt.Cobrable).Tarifa != null ? ((TarifaContratoPSLBO)lineascnt.Cobrable).Tarifa : 0;
                    }
                    if (tarifaCalculada > 0)
                    {
                        switch (((TarifaContratoPSLBO)lineascnt.Cobrable).PeriodoTarifa)
                        {
                        case EPeriodosTarifa.Dia:
                            montoTotalUnidad = Math.Round((decimal)(tarifaCalculada * diasRenta), 2);
                            break;

                        case EPeriodosTarifa.Semana:
                            montoTotalUnidad = Math.Round((decimal)(tarifaCalculada / periodoTarifa.DiasDuracionSemana * diasRenta), 2);
                            break;

                        case EPeriodosTarifa.Mes:
                            montoTotalUnidad = Math.Round((decimal)(tarifaCalculada / periodoTarifa.DiasDuracionMes * diasRenta), 2);
                            break;
                        }
                    }
                    importeSeguro = (montoTotalUnidad * (((TarifaContratoPSLBO)lineascnt.Cobrable).PorcentajeSeguro != null ? ((TarifaContratoPSLBO)lineascnt.Cobrable).PorcentajeSeguro : 0) / 100);
                    decimal?subTotalUnidad = montoTotalUnidad + ((TarifaContratoPSLBO)lineascnt.Cobrable).Maniobra.GetValueOrDefault() + importeSeguro;
                    montoTotalContrato += subTotalUnidad;
                    #endregion
                }

                this.lblValorBien.Text      = "";
                this.xrListadoUnidades.Text = "";

                if (listaunidades.Count > 0)
                {
                    this.xrListadoUnidades.Text = string.Join("\n", listaunidades);
                }

                this.lblUsoBien.Text          = contrato.MercanciaTransportar;
                this.lblUbicacionEntrega.Text = contrato.DestinoAreaOperacion;

                var lineacontrato = contrato.LineasContrato.ConvertAll(s => (LineaContratoPSLBO)s);
                this.lblArrendador.Text   = string.Empty;
                this.xrArrendador.Text    = MontoArrendamiento(listaContrato) ? "X" : string.Empty;
                this.xrArrendatario.Text  = this.xrArrendador.Text == string.Empty ? "X" : string.Empty;
                this.lblArrendatario.Text = string.Empty;

                this.xrArrendadoraRepPor.Text  = "";
                this.xrArrendatarioRepPor.Text = "";
                this.xrObligadoRepPor.Text     = "";

                if (configEmpresa != null)
                {
                    this.xrArrendadoraRepPor.Text += "REPRESENTADA POR: " + configEmpresa.Representante;
                }

                if (contrato.RepresentantesLegales.Count > 0)
                {
                    RepresentanteLegalBO RepresentantesLegales = contrato.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s).FirstOrDefault();
                    if (RepresentantesLegales != null)
                    {
                        this.xrArrendatarioRepPor.Text = "REPRESENTADA POR: " + RepresentantesLegales.Nombre;
                        this.xrObligadoRepPor.Text     = "REPRESENTADA POR: " + RepresentantesLegales.Nombre;
                    }
                }
                #endregion

                #region Monto de Contrato
                montoTotalContrato = (montoTotalContrato != null ? montoTotalContrato : 0);
                string montoLetras = new BPMO.SDNI.Comun.BR.ConvertirALetrasBR().ConvertirMoneda((decimal)montoTotalContrato, moneda.ComplementoNombreLegal, moneda.NombreLegal);

                this.lblMontoTotalContrato.Text = "$" + Convert.ToDouble(montoTotalContrato).ToString("N2") + " \r\n (" + montoLetras.ToUpper() + ") ";

                this.lblFechaInicioTermino.Text = "INICIO: " + (contrato.FechaInicioActual != null ? contrato.FechaInicioActual.Value.ToShortDateString() : "") + " \r\n" + "TERMINACIÓN: " +
                                                  (contrato.FechaPromesaActual != null ? ((DateTime)contrato.FechaPromesaActual).ToShortDateString() : "") + " \r\n"
                                                  + "(En caso de ser indefinida la fecha de terminación. será la fecha de devolución del BIEN, haciendo constar mediante la firma de la carta check list de recepción)";

                #endregion

                #region Firmas
                List <AvalBO> listaAval   = contrato.Avales.ConvertAll(s => (AvalBO)s);
                var           depositario = (contrato.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s)).Where(x => x.EsDepositario.GetValueOrDefault() == true).FirstOrDefault();
                this.xrlNombreEmpresa.Text   = contrato.Sucursal.UnidadOperativa.Empresa.Nombre;
                this.xrRichArrendatario.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre_Razon + contrato.Cliente.Nombre + "</a></div>";
                this.xrRichObligado.Html     = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre_Razon + ((listaAval != null && listaAval.Count > 0) ? listaAval[0].Nombre : "") + "</a></div>";

                this.xrRichDepositario.Html = "<div style=\"text-align: center;\"><a style=\"font-family:Times New Roman; font-size:10px;\">" + Nombre + (depositario != null ? depositario.Nombre : "") + " , por su propio y personal derecho." + "</a></div>";
                #endregion
            } catch (Exception ex) {
                throw new Exception(".ImprimirReporte: Error al imprimir el reporte. " + ex.Message);
            }
        }