/// <summary> /// Agrega o Edita un Detalle Contacto Cliente Idealease. Valida los campos obligatorios. Verifica que el Detalle Contacto Cliente /// Idealease no haya sido agregado con anterioridad. /// </summary> /// <param name="sender">Objeto que desencadenó el evento.</param> /// <param name="e">Argumento asociado al evento.</param> protected void AgregarATabla_Click(object sender, EventArgs e) { switch (TipoUI) { case "Agregar": case "Actualizar": if (ValidarFormDetalle()) { MostrarMensaje("Algunos campos del Detalle Contacto Cliente son obligatorios", ETipoMensajeIU.ADVERTENCIA); return; } DetalleContactoClienteBO nuevoDetalle = FormDetalleToDetalleContactoCliente(); DetalleContactoClienteBO encontrado = ContactoClienteSeleccionado.Detalles.Find( x => x.Nombre.Equals(nuevoDetalle.Nombre) && x.Telefono.Equals(nuevoDetalle.Telefono) && x.Correo.Equals(nuevoDetalle.Correo) ); if (encontrado == null) { ContactoClienteSeleccionado.Detalles.Add(nuevoDetalle); CargarDetalles(); LimpiarFormDetalles(); if (TipoUI.Equals("Actualizar")) { EditandoDetalle = false; } } else { MostrarMensaje("Este Detalle de Contacto Cliente ya ha sido agregado con anterioridad", ETipoMensajeIU.ADVERTENCIA); } break; } }
/// <summary> /// Obtiene la lista de Contactos Cliente Idealease de acuerdo al Cliente Idealease de la Unidad, la Sucursal de la /// Unidad Idealease y si recibe correo. En caso de no encontrar Contactos Cliente Idealease se toma el Correo configurado /// del Cliente Idealease, en caso de no tener un correo configurado despliega un mensaje de error. /// </summary> private void CargarDatosContactoCliente() { ClienteBO cliente = mantenimientoSeleccionado.IngresoUnidad.Unidad.Cliente; CuentaClienteIdealeaseBR ctrlCuentaIdealease = new CuentaClienteIdealeaseBR(); CuentaClienteIdealeaseBO cuentaIdealease = ctrlCuentaIdealease.Consultar(dataContext, getFiltroCuentaClienteIdealease(cliente)).FirstOrDefault(); string nombreCliente = cliente.NombreCompleto != null ? (" " + cliente.NombreCompleto) : ""; if (cuentaIdealease != null && cuentaIdealease.Id != null) { ContactoClienteBR ctrlContactoCliente = new ContactoClienteBR(); List <ContactoClienteBO> contactos = ctrlContactoCliente.Consultar(dataContext, getFiltroContactoCliente(cuentaIdealease, mantenimientoSeleccionado.IngresoUnidad.Unidad.Sucursal)); if (contactos.Count > 0) { List <DetalleContactoClienteBO> detalles = new List <DetalleContactoClienteBO>(); foreach (ContactoClienteBO contacto in contactos) { ContactoClienteBO c = ctrlContactoCliente.ConsultarCompleto(dataContext, contacto).FirstOrDefault(); foreach (DetalleContactoClienteBO detalle in c.Detalles) { if (detalle.RecibeCorreoElectronico.Value) { detalles.Add(detalle); } } } if (detalles.Count == 0) { vista.MostrarMensaje("El Cliente Idealease " + nombreCliente + " no tiene algún contacto cliente para recibir correos electronicos.", ETipoMensajeIU.ADVERTENCIA); } else { vista.ContactoClienteSeleccionado = detalles.First(); } vista.ContactosCliente = detalles; } else { if (cuentaIdealease.Correo == null || cuentaIdealease.Correo.Trim() == null || cuentaIdealease.Correo.Equals("")) { vista.MostrarMensaje("El Cliente Idealease" + nombreCliente + " no tiene un Correo configurado.", ETipoMensajeIU.ADVERTENCIA); } DetalleContactoClienteBO contacto = new DetalleContactoClienteBO() { Nombre = cuentaIdealease.Nombre != null ? cuentaIdealease.Nombre : "", Correo = cuentaIdealease.Correo, }; vista.ContactoClienteSeleccionado = contacto; } vista.CargarDatosContactoCliente(); } else { vista.ContactoClienteSeleccionado = null; vista.MostrarMensaje("El Cliente" + nombreCliente + " no tiene una Cuenta Cliente Idealease.", ETipoMensajeIU.ADVERTENCIA); } }
/// <summary> /// Obtiene y establece un nuevo Detalle Contacto Cliente Idealease con la información de la UI. /// </summary> /// <returns>Un Objeto de tipo DetalleContactoClienteBO.</returns> private DetalleContactoClienteBO FormDetalleToDetalleContactoCliente() { DetalleContactoClienteBO detalle = new DetalleContactoClienteBO() { Nombre = this.NombreContacto, Correo = this.Correo, Telefono = this.Telefono, RecibeCorreoElectronico = this.EnviarCorreo }; if (DetalleSeleccionado != null && DetalleSeleccionado.Id != null) { detalle.Id = DetalleSeleccionado.Id; detalle.ContactoCliente = DetalleSeleccionado.ContactoCliente; } return(detalle); }
/// <summary> /// Crea una nueva instancia de la lista Contactos Cliente, el Contacto Cliente seleccionado y el diccionario de datos. /// </summary> private void IniciarCampos() { ContactosCliente = new List <DetalleContactoClienteBO>(); ContactoClienteSeleccionado = new DetalleContactoClienteBO(); Datos = new Dictionary <string, string>(); }
/// <summary> /// Elimina el Detalle Contacto Cliente Idealease del Contacto Cliente Idealease Temporal. /// </summary> public void RecargarContactoClienteTemp() { DetalleContactoClienteBO detalleAEliminar = ContactoClienteSeleccionadoEdicion.Detalles.Find(x => x.Id == DetalleSeleccionado.Id); ContactoClienteSeleccionadoEdicion.Detalles.Remove(detalleAEliminar); }