Esempio n. 1
0
        private void txtDireccionCliente_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F4)
            {
                DataTable _DataTable = new DataTable();
                _DataTable.Columns.AddRange(new DataColumn[] { new DataColumn("Tipo de dirección"), new DataColumn("Dirección"), new DataColumn("direccion", typeof(object)) });

                long idPersona = 0;
                if (txtNumeroIdentificacion.Tag != null)
                {
                    idPersona = Convert.ToInt64(txtNumeroIdentificacion.Tag);
                }

                (from D in _dbCosolemEntities.tbDireccion
                 where D.idPersona == idPersona
                 select new
                {
                    tipoDireccion = D.tbTipoDireccion.descripcion,
                    direccionCompleta = D.direccionCompleta,
                    direccion = D
                }).ToList().ForEach(x => _DataTable.Rows.Add(x.tipoDireccion, x.direccionCompleta, x.direccion));

                frmBusqueda _frmBusqueda = new frmBusqueda(this.Text, _DataTable);
                if (_frmBusqueda.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    tbDireccion direccion = (tbDireccion)_frmBusqueda._object;
                    txtDireccionCliente.Tag  = direccion.idDireccion;
                    txtDireccionCliente.Text = direccion.direccionCompleta;
                }
            }
        }
Esempio n. 2
0
        private void SetearPersona(tbPersona _tbPersona)
        {
            cmbTipoPersona.SelectedValue = _tbPersona.idTipoPersona;
            cmbTipoPersona_SelectionChangeCommitted(null, null);
            cmbTipoIdentificacion.SelectedValue = _tbPersona.idTipoIdentificacion;
            cmbTipoIdentificacion_SelectionChangeCommitted(null, null);
            txtNumeroIdentificacion.Text = _tbPersona.numeroIdentificacion;
            txtNumeroIdentificacion.Tag  = _tbPersona.idPersona;
            txtPrimerNombre.Text         = _tbPersona.primerNombre;
            txtSegundoNombre.Text        = _tbPersona.segundoNombre;
            txtApellidoPaterno.Text      = _tbPersona.apellidoPaterno;
            txtApellidoMaterno.Text      = _tbPersona.apellidoMaterno;
            txtRazonSocial.Text          = _tbPersona.razonSocial;
            txtCorreoElectronico.Text    = _tbPersona.correoElectronico;
            tbDireccion _tbDireccion = _tbPersona.tbDireccion.Where(x => x.esPrincipal).FirstOrDefault();

            if (_tbDireccion != null)
            {
                cmbProvinciaCliente.SelectedValue = _tbDireccion.tbCanton.idProvincia;
                cmbProvinciaCliente_SelectionChangeCommitted(null, null);
                cmbCantonCliente.SelectedValue = _tbDireccion.idCanton;
                tbTelefono _tbTelefonoConvencional = _tbDireccion.tbTelefono.Where(x => x.idTipoTelefono == 1).FirstOrDefault();
                if (_tbTelefonoConvencional != null)
                {
                    txtConvencional.Tag  = _tbTelefonoConvencional.idTelefono;
                    txtConvencional.Text = _tbTelefonoConvencional.numero;
                }
                tbTelefono _tbTelefonoCelular = _tbDireccion.tbTelefono.Where(x => x.idTipoTelefono == 2).FirstOrDefault();
                if (_tbTelefonoCelular != null)
                {
                    txtCelular.Tag  = _tbTelefonoCelular.idTelefono;
                    txtCelular.Text = _tbTelefonoCelular.numero;
                }
                txtDireccionCliente.Tag  = _tbDireccion.idDireccion;
                txtDireccionCliente.Text = _tbDireccion.direccionCompleta;
            }
            cmbTipoPersona.Enabled          = false;
            cmbTipoIdentificacion.Enabled   = false;
            txtNumeroIdentificacion.Enabled = false;
            if (_tbPersona.idTipoPersona == 1)
            {
                txtPrimerNombre.Select();
            }
            if (_tbPersona.idTipoPersona == 2)
            {
                txtRazonSocial.Select();
            }

            string   numeroIdentificacion = txtNumeroIdentificacion.Text.Trim();
            DateTime?fechaAgendamiento    = (dtpFechaHoraAgendamiento.Checked ? dtpFechaHoraAgendamiento.Value : (DateTime?)null);
            long?    idTecnico            = ((Tecnico)cmbTecnicoAsignado.SelectedItem).idEmpleado;

            ConsultarAgendamientos(numeroIdentificacion, fechaAgendamiento, idTecnico);
        }
Esempio n. 3
0
        private void btnAgregarDireccionesTelefonos_Click(object sender, EventArgs e)
        {
            tbDireccion          _tbDireccion  = new tbDireccion();
            frmDireccionTelefono _frmDireccion = new frmDireccionTelefono(ref _tbDireccion);

            if (_frmDireccion.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if (_tbDireccion.estadoRegistro)
                {
                    _BindingListtbDireccion.Add(_tbDireccion);
                }
                InactivarRegistros(ref dgvDireccionesTelefonos);
            }
        }
Esempio n. 4
0
 private void dgvDireccionesTelefonos_CellEndEdit(object sender, DataGridViewCellEventArgs e)
 {
     dgvDireccionesTelefonos.CommitEdit(DataGridViewDataErrorContexts.Commit);
     foreach (DataGridViewRow _DataGridViewRow in dgvDireccionesTelefonos.Rows)
     {
         tbDireccion _tbDireccion = (tbDireccion)_DataGridViewRow.DataBoundItem;
         if (_tbDireccion.EntityState == EntityState.Modified)
         {
             _tbDireccion.fechaHoraUltimaModificacion = Program.fechaHora;
             _tbDireccion.idUsuarioUltimaModificacion = idUsuario;
             _tbDireccion.terminalUltimaModificacion  = Program.terminal;
         }
     }
     InactivarRegistros(ref dgvDireccionesTelefonos);
 }
Esempio n. 5
0
 private void dgvDireccionesTelefonos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         if (!new List <int> {
             imgEliminarDireccionTelefono.Index, chbDireccionPrincipal.Index
         }.Contains(e.ColumnIndex))
         {
             tbDireccion _tbDireccion = (tbDireccion)dgvDireccionesTelefonos.CurrentRow.DataBoundItem;
             new frmDireccionTelefono(ref _tbDireccion).ShowDialog();
             if (_tbDireccion.idDireccion == 0 && !_tbDireccion.estadoRegistro)
             {
                 _BindingListtbDireccion.Remove(_tbDireccion);
             }
             InactivarRegistros(ref dgvDireccionesTelefonos);
         }
     }
 }
Esempio n. 6
0
 private void dgvDireccionesTelefonos_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         if (e.ColumnIndex == imgEliminarDireccionTelefono.Index)
         {
             if (MessageBox.Show("¿Seguro desea eliminar el registro seleccionado?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
             {
                 tbDireccion _tbDireccion = (tbDireccion)dgvDireccionesTelefonos.CurrentRow.DataBoundItem;
                 _tbDireccion.estadoRegistro = false;
                 if (_tbDireccion.idDireccion == 0)
                 {
                     _BindingListtbDireccion.Remove(_tbDireccion);
                 }
                 InactivarRegistros(ref dgvDireccionesTelefonos);
             }
         }
     }
 }
Esempio n. 7
0
 public frmDireccionTelefono(ref tbDireccion _tbDireccion)
 {
     this._tbDireccion = _tbDireccion;
     InitializeComponent();
 }
Esempio n. 8
0
        private void tsbGrabar_Click(object sender, EventArgs e)
        {
            dgvTelefonos_CellEndEdit(null, null);
            string mensaje = String.Empty;

            if (String.IsNullOrEmpty(txtDireccionCompleta.Text.Trim()))
            {
                mensaje += "Ingrese dirección completa\n";
            }
            mensaje += VerificaTelefono();

            if (String.IsNullOrEmpty(mensaje))
            {
                dynamic _tbCanton        = ((dynamic)cmbCanton.SelectedItem);
                dynamic _tbTipoDireccion = ((dynamic)cmbTipoDireccion.SelectedItem);

                tbDireccion _tbDireccion = new tbDireccion
                {
                    idCanton                 = _tbCanton.idCanton,
                    idTipoDireccion          = _tbTipoDireccion.idTipoDireccion,
                    direccionCompleta        = txtDireccionCompleta.Text,
                    referencia               = txtReferencia.Text,
                    estadoRegistro           = true,
                    descripcionProvincia     = ((dynamic)cmbProvincia.SelectedItem).descripcion,
                    descripcionCanton        = _tbCanton.descripcion,
                    descripcionTipoDireccion = _tbTipoDireccion.descripcion
                };

                if (this._tbDireccion.idDireccion == 0)
                {
                    this._tbDireccion.fechaHoraIngreso = Program.fechaHora;
                    this._tbDireccion.idUsuarioIngreso = idUsuario;
                    this._tbDireccion.terminalIngreso  = Program.terminal;
                }
                else
                {
                    if (_tbDireccion.idCanton != this._tbDireccion.idCanton || _tbDireccion.idTipoDireccion != this._tbDireccion.idTipoDireccion || _tbDireccion.direccionCompleta != this._tbDireccion.direccionCompleta || _tbDireccion.referencia != this._tbDireccion.referencia || _tbDireccion.estadoRegistro != this._tbDireccion.estadoRegistro)
                    {
                        this._tbDireccion.fechaHoraUltimaModificacion = Program.fechaHora;
                        this._tbDireccion.idUsuarioUltimaModificacion = idUsuario;
                        this._tbDireccion.terminalUltimaModificacion  = Program.terminal;
                    }
                }
                this._tbDireccion.idCanton                 = _tbDireccion.idCanton;
                this._tbDireccion.idTipoDireccion          = _tbDireccion.idTipoDireccion;
                this._tbDireccion.direccionCompleta        = _tbDireccion.direccionCompleta;
                this._tbDireccion.referencia               = _tbDireccion.referencia;
                this._tbDireccion.estadoRegistro           = _tbDireccion.estadoRegistro;
                this._tbDireccion.descripcionProvincia     = _tbDireccion.descripcionProvincia;
                this._tbDireccion.descripcionCanton        = _tbDireccion.descripcionCanton;
                this._tbDireccion.descripcionTipoDireccion = _tbDireccion.descripcionTipoDireccion;

                _BindingListtbTelefono.ToList().ForEach(x => this._tbDireccion.tbTelefono.Add(x));

                this.DialogResult = System.Windows.Forms.DialogResult.OK;
            }
            else
            {
                MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Esempio n. 9
0
        private void tsbGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                long        idTecnico      = ((Tecnico)cmbTecnicoAsignado.SelectedItem).idEmpleado;
                TipoPersona _tbTipoPersona = (TipoPersona)cmbTipoPersona.SelectedItem;

                string mensaje = String.Empty;
                if (String.IsNullOrEmpty(txtNumeroIdentificacion.Text.Trim()))
                {
                    mensaje += "Ingrese número de identificación\n";
                }
                if (_tbTipoPersona.idTipoPersona == 1)
                {
                    if (String.IsNullOrEmpty(txtPrimerNombre.Text.Trim()))
                    {
                        mensaje += "Ingrese primer nombre\n";
                    }
                    if (String.IsNullOrEmpty(txtApellidoPaterno.Text.Trim()))
                    {
                        mensaje += "Ingrese apellido paterno\n";
                    }
                    if (String.IsNullOrEmpty(txtApellidoMaterno.Text.Trim()))
                    {
                        mensaje += "Ingrese apellido materno\n";
                    }
                }
                if (_tbTipoPersona.idTipoPersona == 2)
                {
                    if (String.IsNullOrEmpty(txtRazonSocial.Text.Trim()))
                    {
                        mensaje += "Ingrese razón social\n";
                    }
                }
                if (String.IsNullOrEmpty(txtCorreoElectronico.Text.Trim()))
                {
                    mensaje += "Ingrese correo electrónico\n";
                }
                if (!String.IsNullOrEmpty(txtCorreoElectronico.Text.Trim()))
                {
                    if (!Util.ValidaEmail(txtCorreoElectronico.Text.Trim()))
                    {
                        mensaje += "Correo electrónico inválido, favor verificar\n";
                    }
                }
                if (String.IsNullOrEmpty(txtDireccionCliente.Text.Trim()))
                {
                    mensaje += "Ingrese dirección\n";
                }
                if (String.IsNullOrEmpty(txtConvencional.Text.Trim()) && String.IsNullOrEmpty(txtCelular.Text.Trim()))
                {
                    mensaje += "Ingrese al menos 1 teléfono\n";
                }
                if (txtCodigoProducto.Tag == null)
                {
                    mensaje += "Seleccione un producto\n";
                }
                if (String.IsNullOrEmpty(txtSerie.Text.Trim()))
                {
                    mensaje += "Ingrese serie del producto\n";
                }

                if (String.IsNullOrEmpty(mensaje.Trim()))
                {
                    tbPersona persona = null;

                    long idPersona = 0;
                    if (txtNumeroIdentificacion.Tag != null)
                    {
                        idPersona = Convert.ToInt64(txtNumeroIdentificacion.Tag);

                        persona = (from P in _dbCosolemEntities.tbPersona where P.idPersona == idPersona select P).FirstOrDefault();
                    }
                    else
                    {
                        int    idTipoPersona        = ((TipoPersona)cmbTipoPersona.SelectedItem).idTipoPersona;
                        int    idTipoIdentificacion = ((TipoIdentificacion)cmbTipoIdentificacion.SelectedItem).idTipoIdentificacion;
                        string numeroIdentificacion = txtNumeroIdentificacion.Text.Trim();

                        persona = (from P in _dbCosolemEntities.tbPersona where P.idTipoPersona == idTipoPersona && P.idTipoIdentificacion == idTipoIdentificacion && P.numeroIdentificacion == numeroIdentificacion select P).FirstOrDefault();
                    }

                    if (persona == null)
                    {
                        persona = new tbPersona
                        {
                            idTipoPersona        = ((TipoPersona)cmbTipoPersona.SelectedItem).idTipoPersona,
                            idTipoIdentificacion = ((TipoIdentificacion)cmbTipoIdentificacion.SelectedItem).idTipoIdentificacion,
                            numeroIdentificacion = txtNumeroIdentificacion.Text.Trim(),
                            primerNombre         = txtPrimerNombre.Text.Trim(),
                            segundoNombre        = txtSegundoNombre.Text.Trim(),
                            apellidoPaterno      = txtApellidoPaterno.Text.Trim(),
                            apellidoMaterno      = txtApellidoMaterno.Text.Trim(),
                            razonSocial          = txtRazonSocial.Text.Trim(),
                            idSexo            = 3,
                            idEstadoCivil     = 6,
                            correoElectronico = txtCorreoElectronico.Text.Trim(),
                            estadoRegistro    = true,
                            fechaHoraIngreso  = Program.fechaHora,
                            idUsuarioIngreso  = idUsuario,
                            terminalIngreso   = Program.terminal
                        };
                        persona.tbDireccion.Add(new tbDireccion
                        {
                            idCanton          = ((dynamic)cmbCantonCliente.SelectedItem).idCanton,
                            idTipoDireccion   = 1,
                            direccionCompleta = txtDireccionCliente.Text,
                            esPrincipal       = true,
                            estadoRegistro    = true,
                            fechaHoraIngreso  = Program.fechaHora,
                            idUsuarioIngreso  = idUsuario,
                            terminalIngreso   = Program.terminal
                        });
                        if (!String.IsNullOrEmpty(txtConvencional.Text.Trim()))
                        {
                            persona.tbDireccion.FirstOrDefault().tbTelefono.Add(new tbTelefono
                            {
                                idTipoTelefono   = 1,
                                idOperadora      = 1,
                                numero           = txtConvencional.Text.Trim(),
                                esPrincipal      = false,
                                estadoRegistro   = true,
                                fechaHoraIngreso = Program.fechaHora,
                                idUsuarioIngreso = idUsuario,
                                terminalIngreso  = Program.terminal
                            });
                        }
                        if (!String.IsNullOrEmpty(txtCelular.Text.Trim()))
                        {
                            persona.tbDireccion.FirstOrDefault().tbTelefono.Add(new tbTelefono
                            {
                                idTipoTelefono   = 2,
                                idOperadora      = 1,
                                numero           = txtCelular.Text.Trim(),
                                esPrincipal      = false,
                                estadoRegistro   = true,
                                fechaHoraIngreso = Program.fechaHora,
                                idUsuarioIngreso = idUsuario,
                                terminalIngreso  = Program.terminal
                            });
                        }
                        _dbCosolemEntities.tbPersona.AddObject(persona);
                        _dbCosolemEntities.SaveChanges();
                    }
                    else
                    {
                        persona.primerNombre                = txtPrimerNombre.Text.Trim();
                        persona.segundoNombre               = txtSegundoNombre.Text.Trim();
                        persona.apellidoPaterno             = txtApellidoPaterno.Text.Trim();
                        persona.apellidoMaterno             = txtApellidoMaterno.Text.Trim();
                        persona.razonSocial                 = txtRazonSocial.Text.Trim();
                        persona.correoElectronico           = txtCorreoElectronico.Text.Trim();
                        persona.fechaHoraUltimaModificacion = Program.fechaHora;
                        persona.idUsuarioUltimaModificacion = idUsuario;
                        persona.terminalUltimaModificacion  = Program.terminal;
                        long idDireccion = 0;
                        if (txtDireccionCliente.Tag != null)
                        {
                            idDireccion = Convert.ToInt64(txtDireccionCliente.Tag);
                        }
                        tbDireccion _tbDireccion = persona.tbDireccion.Where(x => x.idDireccion == idDireccion).FirstOrDefault();
                        if (_tbDireccion == null)
                        {
                            _tbDireccion                   = new tbDireccion();
                            _tbDireccion.idCanton          = ((dynamic)cmbCantonCliente.SelectedItem).idCanton;
                            _tbDireccion.idTipoDireccion   = 1;
                            _tbDireccion.direccionCompleta = txtDireccionCliente.Text;
                            _tbDireccion.esPrincipal       = true;
                            _tbDireccion.estadoRegistro    = true;
                            _tbDireccion.fechaHoraIngreso  = Program.fechaHora;
                            _tbDireccion.idUsuarioIngreso  = idUsuario;
                            _tbDireccion.terminalIngreso   = Program.terminal;
                        }
                        else
                        {
                            _tbDireccion.idCanton                    = ((dynamic)cmbCantonCliente.SelectedItem).idCanton;
                            _tbDireccion.direccionCompleta           = txtDireccionCliente.Text;
                            _tbDireccion.fechaHoraUltimaModificacion = Program.fechaHora;
                            _tbDireccion.idUsuarioUltimaModificacion = idUsuario;
                            _tbDireccion.terminalUltimaModificacion  = Program.terminal;
                        }
                        if (!String.IsNullOrEmpty(txtConvencional.Text.Trim()))
                        {
                            long idTelefonoConvencional = 0;
                            if (txtConvencional.Tag != null)
                            {
                                idTelefonoConvencional = Convert.ToInt64(txtConvencional.Tag);
                            }
                            tbTelefono _tbTelefonoConvencional = _tbDireccion.tbTelefono.Where(x => x.idTelefono == idTelefonoConvencional).FirstOrDefault();
                            if (_tbTelefonoConvencional == null)
                            {
                                _tbTelefonoConvencional = new tbTelefono();
                                _tbTelefonoConvencional.idTipoTelefono   = 1;
                                _tbTelefonoConvencional.idOperadora      = 1;
                                _tbTelefonoConvencional.numero           = txtConvencional.Text.Trim();
                                _tbTelefonoConvencional.esPrincipal      = false;
                                _tbTelefonoConvencional.estadoRegistro   = true;
                                _tbTelefonoConvencional.fechaHoraIngreso = Program.fechaHora;
                                _tbTelefonoConvencional.idUsuarioIngreso = idUsuario;
                                _tbTelefonoConvencional.terminalIngreso  = Program.terminal;
                            }
                            else
                            {
                                _tbTelefonoConvencional.numero = txtConvencional.Text.Trim();
                                _tbTelefonoConvencional.fechaHoraUltimaModificacion = Program.fechaHora;
                                _tbTelefonoConvencional.idUsuarioUltimaModificacion = idUsuario;
                                _tbTelefonoConvencional.terminalUltimaModificacion  = Program.terminal;
                            }
                            if (_tbTelefonoConvencional.EntityState == EntityState.Detached)
                            {
                                _tbDireccion.tbTelefono.Add(_tbTelefonoConvencional);
                            }
                        }
                        if (!String.IsNullOrEmpty(txtCelular.Text.Trim()))
                        {
                            long idTelefonoCelular = 0;
                            if (txtCelular.Tag != null)
                            {
                                idTelefonoCelular = Convert.ToInt64(txtCelular.Tag);
                            }
                            tbTelefono _tbTelefonoCelular = _tbDireccion.tbTelefono.Where(x => x.idTelefono == idTelefonoCelular).FirstOrDefault();
                            if (_tbTelefonoCelular == null)
                            {
                                _tbTelefonoCelular = new tbTelefono();
                                _tbTelefonoCelular.idTipoTelefono   = 2;
                                _tbTelefonoCelular.idOperadora      = 1;
                                _tbTelefonoCelular.numero           = txtCelular.Text.Trim();
                                _tbTelefonoCelular.esPrincipal      = false;
                                _tbTelefonoCelular.estadoRegistro   = true;
                                _tbTelefonoCelular.fechaHoraIngreso = Program.fechaHora;
                                _tbTelefonoCelular.idUsuarioIngreso = idUsuario;
                                _tbTelefonoCelular.terminalIngreso  = Program.terminal;
                            }
                            else
                            {
                                _tbTelefonoCelular.numero = txtCelular.Text.Trim();
                                _tbTelefonoCelular.fechaHoraUltimaModificacion = Program.fechaHora;
                                _tbTelefonoCelular.idUsuarioUltimaModificacion = idUsuario;
                                _tbTelefonoCelular.terminalUltimaModificacion  = Program.terminal;
                            }
                            if (_tbTelefonoCelular.EntityState == EntityState.Detached)
                            {
                                _tbDireccion.tbTelefono.Add(_tbTelefonoCelular);
                            }
                        }
                        if (_tbDireccion.EntityState == EntityState.Detached)
                        {
                            persona.tbDireccion.Add(_tbDireccion);
                        }
                    }
                    if (persona.tbCliente == null)
                    {
                        persona.tbCliente = new tbCliente
                        {
                            estadoRegistro   = true,
                            fechaHoraIngreso = Program.fechaHora,
                            idUsuarioIngreso = idUsuario,
                            terminalIngreso  = Program.terminal
                        };
                    }
                    else
                    {
                        persona.tbCliente.fechaHoraUltimaModificacion = Program.fechaHora;
                        persona.tbCliente.idUsuarioUltimaModificacion = idUsuario;
                        persona.tbCliente.terminalUltimaModificacion  = Program.terminal;
                    }

                    tbOrdenTrabajo ordenTrabajo = new tbOrdenTrabajo {
                        estadoRegistro = true, fechaHoraIngreso = Program.fechaHora, idUsuarioIngreso = idUsuario, terminalIngreso = Program.terminal
                    };

                    if (idOrdenTrabajo != 0)
                    {
                        ordenTrabajo = (from OT in _dbCosolemEntities.tbOrdenTrabajo where OT.idOrdenTrabajo == idOrdenTrabajo select OT).FirstOrDefault();
                        ordenTrabajo.fechaHoraUltimaModificacion = Program.fechaHora;
                        ordenTrabajo.idUsuarioUltimaModificacion = idUsuario;
                        ordenTrabajo.terminalUltimaModificacion  = Program.terminal;
                    }

                    ordenTrabajo.idEmpresa            = idEmpresa;
                    ordenTrabajo.idCliente            = persona.tbCliente.idCliente;
                    ordenTrabajo.tipoIdentificacion   = persona.tbTipoIdentificacion.descripcion;
                    ordenTrabajo.numeroIdentificacion = persona.numeroIdentificacion;
                    ordenTrabajo.cliente               = persona.nombreCompleto;
                    ordenTrabajo.direccion             = txtDireccionCliente.Text;
                    ordenTrabajo.convencional          = (!String.IsNullOrEmpty(txtConvencional.Text.Trim()) ? txtConvencional.Text.Trim() : null);
                    ordenTrabajo.celular               = (!String.IsNullOrEmpty(txtCelular.Text.Trim()) ? txtCelular.Text.Trim() : null);
                    ordenTrabajo.correoElectronico     = persona.correoElectronico;
                    ordenTrabajo.fechaHoraOrdenTrabajo = (dtpFechaHoraAgendamiento.Checked ? dtpFechaHoraAgendamiento.Value : (DateTime?)null);
                    ordenTrabajo.idTecnico             = (idTecnico == 0 ? (long?)null : idTecnico);
                    ordenTrabajo.idEstadoOrdenTrabajo  = (ordenTrabajo.fechaHoraOrdenTrabajo.HasValue && ordenTrabajo.idTecnico.HasValue ? 2 : 1);
                    ordenTrabajo.idProducto            = Convert.ToInt64(txtCodigoProducto.Tag);
                    ordenTrabajo.serie          = txtSerie.Text.Trim();
                    ordenTrabajo.fallaReportada = txtFallaReportada.Text.Trim();
                    if (ordenTrabajo.idOrdenTrabajo == 0)
                    {
                        _dbCosolemEntities.tbOrdenTrabajo.AddObject(ordenTrabajo);
                    }
                    _dbCosolemEntities.SaveChanges();
                    MessageBox.Show("Agendamiento de servicio técnico #" + ordenTrabajo.idOrdenTrabajo.ToString(), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    frmAgendamientoServicioTecnico_Load(null, null);
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                }
                else
                {
                    MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                Util.MostrarException(this.Text, ex);
            }
        }