/// <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);
        }
Exemple #2
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);
            }
        }
        /// <summary>
        /// Consulta los Contratos de RD en CURSO segun los filtros
        /// </summary>
        public void Consultar()
        {
            try
            {
                var contratoBo = (ContratoRDBO)this.InterfazUsuarioDato();
                contratoBo.Estatus = EEstatusContrato.EnCurso;
                var listaContratos = controlador.Consultar(this.dataContext, contratoBo);
                if (!listaContratos.Any())
                {
                    this.vista.PresentarResultadoConsulta(listaContratos);
                    this.vista.MostrarMensaje("La búsqueda no produjo resultados", ETipoMensajeIU.INFORMACION, "No se encontraron coincidencias con los criterios ingresados. Verifique sus datos");
                    return;
                }

                String sucursalesNoEncontradas = String.Empty;
                String clientesNoEncontrados   = String.Empty;

                var listaClientes = new List <CuentaClienteIdealeaseBO>();
                CuentaClienteIdealeaseBR cuentaClienteBr = new CuentaClienteIdealeaseBR();

                var listaSucursales = new List <SucursalBO>();
                foreach (ContratoRDBO bo in listaContratos)
                {
                    if (listaSucursales.Any(x => x.Id == bo.Sucursal.Id))
                    {
                        bo.Sucursal = listaSucursales.First(x => x.Id == bo.Sucursal.Id);
                    }
                    else
                    {
                        var listaTempSucursal = FacadeBR.ConsultarSucursal(this.dataContext, new SucursalBO()
                        {
                            Id = bo.Sucursal.Id, UnidadOperativa = new UnidadOperativaBO {
                                Id = this.vista.UnidadOperativa.Id
                            }
                        });
                        if (listaTempSucursal.Any())
                        {
                            listaSucursales.Add(listaTempSucursal.First());
                            bo.Sucursal = listaTempSucursal.First();
                        }
                        else
                        {
                            sucursalesNoEncontradas = String.IsNullOrEmpty(sucursalesNoEncontradas) ? bo.Sucursal.Id.Value.ToString() : sucursalesNoEncontradas + ", " + bo.Sucursal.Id.Value.ToString();
                        }
                    }

                    if (listaClientes.Any(x => x.Id == bo.Cliente.Id))
                    {
                        bo.Cliente = listaClientes.First(x => x.Id == bo.Cliente.Id);
                    }
                    else
                    {
                        var listaTempClientes = cuentaClienteBr.Consultar(this.dataContext, new CuentaClienteIdealeaseBO()
                        {
                            Id = bo.Cliente.Id, UnidadOperativa = new UnidadOperativaBO()
                            {
                                Id = this.vista.UnidadOperativa.Id
                            }
                        });
                        if (listaTempClientes.Any())
                        {
                            listaClientes.Add(listaTempClientes.First());
                            bo.Cliente = listaTempClientes.First();
                        }
                        else
                        {
                            clientesNoEncontrados = String.IsNullOrEmpty(clientesNoEncontrados) ? bo.Cliente.Id.Value.ToString() : clientesNoEncontrados + ", " + bo.Cliente.Id.Value.ToString();
                        }
                    }
                }

                listaContratos = listaContratos.OrderBy(y => y.NumeroContrato).ToList();

                this.vista.PresentarResultadoConsulta(listaContratos);

                string mensaje = String.Empty;
                if (!String.IsNullOrEmpty(sucursalesNoEncontradas))
                {
                    mensaje += "No se encontraron las Sucursales con los siguientes identificadores: " + sucursalesNoEncontradas;
                }
                if (!String.IsNullOrEmpty(clientesNoEncontrados))
                {
                    mensaje += "No se encontraron los Clientes con los siguientes identificadores (CuentaClienteId): " + clientesNoEncontrados;
                }

                if (!String.IsNullOrEmpty(mensaje))
                {
                    this.vista.MostrarMensaje(mensaje, ETipoMensajeIU.INFORMACION);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".Consultar: " + ex.Message);
            }
        }