/// <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); }
/// <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); } }