public void BtnInsertarCliente(object sender, RoutedEventArgs e) { try { if (String.IsNullOrEmpty(NombreTextBox.Text) == false && String.IsNullOrEmpty(CedulaTextBox.Text) == false) { string AllowedCedula = "\\d{3}-(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[012])\\d\\d-\\d{4}[a-zA-Z]{1}"; if (Regex.IsMatch(CedulaTextBox.Text, AllowedCedula) == false) { MessageBoxResult result = MessageBox.Show("Por Favor Ingrese una cédula correcta.", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else if (ViewModel.CheckIfCedulaExist(CedulaTextBox.Text)) { MessageBoxResult result = MessageBox.Show("El cliente ya existe.", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { //Ingresando el Cliente cliente = new Cliente() { Nombre = NombreTextBox.Text, Email = EmailTextBox.Text, Domicilio = DomicilioTextBox.Text, Tipo_Pago = TipoPagoComboBox.Text, Cedula = CedulaTextBox.Text, Compania = CompañiaTextBox.Text, Fecha_Pago_1 = int.Parse(DiaPago1TextBox.Text), }; //Parametro opcional if (String.IsNullOrEmpty(DiaPago2TextBox.Text) == false) { cliente.Fecha_Pago_2 = int.Parse(DiaPago2TextBox.Text); } TelefonoMainList = new List <Telefono>(); foreach (var i in TelefonosList) { TelefonoMainList.Add(new Telefono() { Cliente = cliente, Empresa = i.Empresa, Tipo_Numero = i.Tipo_Numero, Numero = i.Numero }); } ViewModel.AddClient(cliente, TelefonoMainList); EventoPaginacion(); //Si no se le subscribio un evento por tanto fue llamado desde la pagina cliente if (PassClient == null) { if (MessageBox.Show("Se ha ingresado correctamente el cliente, ¿desea seguir ingresando clientes?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) { this.Close(); } else { //Limpiamos los campos para seguir insertando NombreTextBox.Text = String.Empty; EmailTextBox.Text = String.Empty; DomicilioTextBox.Text = String.Empty; TipoPagoComboBox.Text = String.Empty; DiaPago1TextBox.Text = String.Empty; DiaPago2TextBox.Text = String.Empty; CompañiaTextBox.Text = String.Empty; CedulaTextBox.Text = String.Empty; TelefonosList.Clear(); } } //Si fue llamado desde una subventana else { EventoPasarCliente(); this.Close(); } } } else { MessageBoxResult result = MessageBox.Show("Ingrese el nombre del cliente por favor", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } catch { MessageBoxResult result = MessageBox.Show("Error al ingresar en la base de datos", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }