예제 #1
0
        /// <summary>
        /// Valida que el operador que se desea editar no se encuentre en un contrato que este actualmente EN CURSO
        /// </summary>
        /// <returns>Mensaje informando el estatus del operador.</returns>
        public string ValidarUsoContrato()//SC_0051
        {
            if (!this.vista.OperadorID.HasValue)
            {
                throw new Exception("Es necesario especificar el identificador del operador que deseas modificar.");
            }

            ContratoRDBR ctrl = new ContratoRDBR();

            var contratoBOF = new ContratoRDBOF {
                Operador = new OperadorBO {
                    OperadorID = this.vista.OperadorID
                }
            };

            contratoBOF.EstatusContrato = new List <EEstatusContrato>();
            contratoBOF.EstatusContrato.Add(EEstatusContrato.EnCurso);
            contratoBOF.EstatusContrato.Add(EEstatusContrato.EnPausa);
            contratoBOF.EstatusContrato.Add(EEstatusContrato.Borrador);

            var lstContratos = ctrl.Consultar(dctx, contratoBOF);

            if (lstContratos.Count > 0)
            {
                return(string.Format(@"Actualmente el operador esta siendo usado en el contrato # {0} con estatus ""{1}""", lstContratos[0].NumeroContrato, lstContratos[0].EstatusText));
            }

            return(null);
        }
예제 #2
0
        private void EstablecerFiltros()
        {
            try
            {
                Dictionary <string, object> elementosFiltro = this.ObtenerPaqueteNavegacion() as Dictionary <string, object>;
                if (elementosFiltro != null)
                {
                    ///establecer objeto filtro en la interfaz
                    ContratoRDBOF contratoFiltro = (ContratoRDBOF)elementosFiltro["ContratoRDFiltro"];
                    this.EstablecerPaqueteDatos(contratoFiltro);

                    ///verificar consulta inmediata
                    bool bandera = (bool)elementosFiltro["Bandera"];

                    if (bandera == true)
                    {
                        this.ConsultarContratos();
                        ///establecer paginación del grid
                        int pagGrid = Convert.ToInt32(elementosFiltro["PagActGrid"]);
                        this.vista.EstablecerPagResultados(pagGrid);
                    }

                    this.vista.LimpiarPaqueteNavegacion();
                }
            }
            catch (Exception ex)
            {
                this.vista.MostrarMensaje("Inconsistencias con el diccionario de sesión", ETipoMensajeIU.ERROR, nombreClase + ".Page_Load:" + ex.Message);
            }
        }
        public void EstablecerPaqueteNavegacion(string Nombre, int?UnidadID)
        {
            FlotaRDBOF elementoBO = this.UnidadesRD.Find(p => p.Unidad.UnidadID.HasValue && p.Unidad.UnidadID.Value == UnidadID);

            if (elementoBO != null)
            {
                switch (Nombre)
                {
                case "RegistrarReservacionUI":
                    Session[Nombre] = elementoBO.Unidad;
                    break;

                case "DetalleFlotaUI":
                    Session[Nombre] = new ElementoFlotaBO {
                        Unidad = elementoBO.Unidad
                    };
                    break;

                case "ContratoRDBO":
                    Session[Nombre] = new ContratoRDBOF {
                        ContratoID = elementoBO.ContratoID
                    };
                    break;
                }
            }
            else
            {
                throw new Exception(this.ToString() + ".EstablecerPaqueteNavegacion: La unidad seleccionada no se encuentra dentro del listado de unidades encintradas.");
            }
        }
예제 #4
0
        /// <summary>
        /// Indica si la unidad seleccionada cuenta con una reservación con base en el cliente seleccionado, la fecha del contrato y de promesa de entrega
        /// </summary>
        /// <returns>True en caso de que cuente con una reservación, False en caso contrario</returns>
        public bool UnidadTieneReservacion()
        {
            try
            {
                if (this.vista.UnidadID == null)
                {
                    return(false);
                }
                if (this.vista.FechaContrato == null)
                {
                    return(false);
                }
                if (this.vista.FechaPromesaDevolucion == null)
                {
                    return(false);
                }
                if (this.vista.CuentaClienteID == null)
                {
                    return(false);
                }
                if (this.vista.UnidadOperativaID == null)
                {
                    return(false);
                }

                //Se consulta si existen reservaciones conflicitvas
                ContratoRDBOF bof = new ContratoRDBOF();
                bof.Unidad = new UnidadBO()
                {
                    UnidadID = this.vista.UnidadID
                };
                bof.Cliente = new CuentaClienteIdealeaseBO()
                {
                    Id = this.vista.CuentaClienteID
                };
                bof.FechaContrato          = this.vista.FechaContrato;
                bof.FechaPromesaDevolucion = this.vista.FechaPromesaDevolucion;
                bof.Sucursal = new SucursalBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                };
                List <ReservacionRDBO> lstConflictivas = this.controlador.ConsultarReservacionesConflictivas(dctx, bof);

                if (lstConflictivas != null && lstConflictivas.Count > 0)
                {
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".UnidadTieneReservacion: " + "No fue posible comprobar que la unidad está reservada debido a que " + ex.Message);
            }
        }
        /// <summary>
        /// Establece el Paquete de Navegacion para el Detalle del Contrato Seleccionado
        /// </summary>
        /// <param name="Clave">Clave del Paquete</param>
        /// <param name="ContratoID">Identificador del Contrato Seleccionado</param>
        public void EstablecerPaqueteNavegacion(string ClaveContrato, ContratoRDBOF contrato, Dictionary <string, object> elementosFiltro)
        {
            if (contrato != null)
            {
                Session[ClaveContrato] = contrato;
            }
            else
            {
                throw new Exception(nombreClase + ".EstablecerPaqueteNavegacion: El contrato proporcionado no pertence al listado de contratos encontrados.");
            }

            Session["FiltroConsultaContratoRD"] = elementosFiltro;
        }
예제 #6
0
        private void EstablecerPaqueteNavegacion(int?ContratoID, string ClaveContrato)
        {
            ContratoRDBOF contrato = this.vista.ContratosEncontrados.Find(cont => cont.ContratoID == ContratoID);

            #region SC0020
            ContratoRDBOF contratoFiltro = InterfazUsuarioADatos();
            int           numPagGrid     = this.vista.ObtenerPagResultados();
            bool          bandera        = true;

            Dictionary <string, object> elementosFiltro = new Dictionary <string, object>();
            elementosFiltro.Add("ContratoRDFiltro", contratoFiltro);
            elementosFiltro.Add("PagActGrid", numPagGrid);
            elementosFiltro.Add("Bandera", bandera);

            this.vista.EstablecerPaqueteNavegacion(ClaveContrato, contrato, elementosFiltro);
            #endregion SC0020
        }
예제 #7
0
        /// <summary>
        /// Consulta los contratos de acuerdo a los parametros proporcionados en la vista
        /// </summary>
        public void ConsultarContratos()
        {
            try
            {
                ContratoRDBOF contrato = InterfazUsuarioADatos();

                List <ContratoRDBOF> contratos = Controlador.Consultar(dataContext, contrato);
                if (contratos.Any())
                {
                    contratos = contratos.OrderBy(x => x.NumeroContrato).ToList();
                }

                List <ContratoRDBOF> lstNew = new List <ContratoRDBOF>();
                foreach (ContratoRDBOF c in contratos)
                {
                    if (c == null)
                    {
                        continue;
                    }
                    if (c.Sucursal != null && c.Sucursal.UnidadOperativa != null && c.Sucursal.UnidadOperativa.Id != null && vista.UnidadOperativa != null && vista.UnidadOperativa.Id != null)
                    {
                        if (c.Sucursal.UnidadOperativa.Id != vista.UnidadOperativa.Id)
                        {
                            continue;
                        }
                    }

                    lstNew.Add(c);
                }

                vista.CargarContratosEncontrados(lstNew);

                if (contratos.Count < 1)
                {
                    this.vista.MostrarMensaje("La búsqueda no produjo resultados", ETipoMensajeIU.INFORMACION,
                                              "No se encontraron coincidencias con los criterios ingresados. Verifique sus datos");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".ConsultarContratos: " + ex.Message);
            }
        }
예제 #8
0
 /// <summary>
 /// rellena la UI con los datos del contrato de sesión
 /// </summary>
 /// <returns></returns>
 public void EstablecerPaqueteDatos(ContratoRDBOF contratoFiltro)
 {
     if (contratoFiltro != null)
     {
         //Datos del Contrato
         this.vista.NumeroContrato      = contratoFiltro.NumeroContrato;
         this.vista.FechaFinContrato    = contratoFiltro.FechaFin;
         this.vista.FechaInicioContrato = contratoFiltro.FechaContrato;
         this.vista.Estatus             = contratoFiltro.Estatus;
         this.vista.NumeroSerie         = contratoFiltro.NumeroSerie;
         this.vista.NumeroEcononomico   = contratoFiltro.NumeroEconomico;
         // Datos del Cliente
         if (contratoFiltro.Cliente != null)
         {
             this.vista.CuentaClienteID     = contratoFiltro.Cliente.Id;
             this.vista.NombreCuentaCliente = contratoFiltro.Cliente.Nombre;
             this.vista.ClienteID           = contratoFiltro.Cliente.Cliente.Id;
         }
     }
 }
        protected void grdContratos_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    ContratoRDBOF contrato         = (ContratoRDBOF)e.Row.DataItem;
                    Label         lblFechaContrato = e.Row.FindControl("lblFechaContrato") as Label;
                    if (lblFechaContrato != null)
                    {
                        string fecha = string.Empty;
                        if (contrato.FechaContrato != null)
                        {
                            fecha = String.Format("{0:dd/MM/yyyy}", contrato.FechaContrato);
                        }
                        lblFechaContrato.Text = fecha;
                    }

                    Label lblFechaFinContrato = e.Row.FindControl("lblFechaCierreContrato") as Label;
                    if (lblFechaFinContrato != null)
                    {
                        string fechaFin = string.Empty;
                        if (contrato.FechaFin != null)
                        {
                            fechaFin = String.Format("{0:dd/MM/yyyy}", contrato.FechaFin);
                        }
                        lblFechaFinContrato.Text = fechaFin;
                    }

                    Label labelSucursalNombre = e.Row.FindControl("lblSucursal") as Label;
                    if (labelSucursalNombre != null)
                    {
                        string sucursalNombre = string.Empty;
                        if (contrato.Sucursal != null)
                        {
                            if (contrato.Sucursal.Nombre != null)
                            {
                                sucursalNombre = contrato.Sucursal.Nombre;
                            }
                        }
                        labelSucursalNombre.Text = sucursalNombre;
                    }

                    Label labelClienteNombre = e.Row.FindControl("lblCliente") as Label;
                    if (labelClienteNombre != null)
                    {
                        string clienteNombre = string.Empty;
                        if (contrato.Cliente != null)
                        {
                            if (contrato.Cliente.Nombre != null)
                            {
                                clienteNombre = contrato.Cliente.Nombre;
                            }
                        }
                        labelClienteNombre.Text = clienteNombre;
                    }
                }
            }
            catch (Exception ex)
            {
                MostrarMensaje("Inconsistencias al presentar la información", ETipoMensajeIU.ERROR, nombreClase + ".grdContratos_RowDataBound: " + ex.Message);
            }
        }
예제 #10
0
        /// <summary>
        /// Obtiene un ContratoRD desde la Vista
        /// </summary>
        /// <returns></returns>
        public ContratoRDBOF InterfazUsuarioADatos()
        {
            ContratoRDBOF contrato = new ContratoRDBOF
            {
                Cliente = new CuentaClienteIdealeaseBO
                {
                    Cliente         = new ClienteBO(),
                    UnidadOperativa = new UnidadOperativaBO()
                },
                Sucursal = new SucursalBO {
                    UnidadOperativa = new UnidadOperativaBO()
                },
                Unidad = new UnidadBOF()
            };

            // Datos Generales
            if (vista.UnidadOperativa != null)
            {
                contrato.Cliente.UnidadOperativa  = vista.UnidadOperativa;
                contrato.Sucursal.UnidadOperativa = vista.UnidadOperativa;
            }

            // Datos del Cliente
            if (vista.CuentaClienteID != null)
            {
                contrato.Cliente.Id = vista.CuentaClienteID;
            }
            if (vista.NombreCuentaCliente != null && !string.IsNullOrEmpty(vista.NombreCuentaCliente.Trim()))
            {
                contrato.Cliente.Nombre = vista.NombreCuentaCliente.Trim();
            }
            if (vista.ClienteID != null)
            {
                contrato.Cliente.Cliente.Id = vista.ClienteID;
            }
            // Datos del Contrato
            if (vista.NumeroContrato != null && !string.IsNullOrEmpty(vista.NumeroContrato.Trim()))
            {
                contrato.NumeroContrato = vista.NumeroContrato.Trim().ToUpper();
            }
            if (vista.FechaInicioContrato != null)
            {
                contrato.FechaContrato = vista.FechaInicioContrato;
            }
            if (vista.FechaFinContrato != null)
            {
                contrato.FechaFin = vista.FechaFinContrato;
            }
            if (vista.Estatus != null)
            {
                contrato.Estatus = vista.Estatus;
            }
            if (vista.UnidadID != null)
            {
                contrato.Unidad.UnidadID = vista.UnidadID;
            }
            if (vista.NumeroSerie != null && !string.IsNullOrEmpty(vista.NumeroSerie.Trim()))
            {
                contrato.NumeroSerie = vista.NumeroSerie.Trim().ToUpper();
            }
            if (vista.NumeroEcononomico != null && !string.IsNullOrEmpty(vista.NumeroEcononomico.Trim()))
            {
                contrato.NumeroEconomico = vista.NumeroEcononomico.Trim().ToUpper();
            }
            if (vista.SucursalID != null)
            {
                contrato.Sucursal.Id     = this.vista.SucursalID;
                contrato.Sucursal.Nombre = this.vista.SucursalNombre;
            }
            else
            {
                contrato.SucursalesConsulta = this.vista.SucursalesAutorizadas.ConvertAll(x => (SucursalBO)x);//SC_0051
            }

            return(contrato);
        }