コード例 #1
0
        private void dgvAgendamientos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                tbOrdenTrabajo ordenTrabajo         = (tbOrdenTrabajo)dgvAgendamientos.CurrentRow.DataBoundItem;
                long           idOrdenTrabajo       = ordenTrabajo.idOrdenTrabajo;
                int            idEstadoOrdenTrabajo = ordenTrabajo.idEstadoOrdenTrabajo;

                if (idEstadoOrdenTrabajo != 1)
                {
                    MessageBox.Show("Orden de trabajo ya no puede ser modificada porque ya paso de pendiente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    frmAgendamientoServicioTecnico _frmAgendamientoServicioTecnico = new frmAgendamientoServicioTecnico();
                    _frmAgendamientoServicioTecnico.Text           = "Agendamiento de servicio técnico";
                    _frmAgendamientoServicioTecnico.idOrdenTrabajo = idOrdenTrabajo;
                    if (_frmAgendamientoServicioTecnico.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        tsbBuscar_Click(null, null);
                    }
                }
            }
        }
コード例 #2
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);
            }
        }
コード例 #3
0
        private void frmAgendamientoServicioTecnico_Load(object sender, EventArgs e)
        {
            dgvAgendamientos.AutoGenerateColumns = false;

            _dbCosolemEntities = new dbCosolemEntities();

            cmbTipoPersona.DataSource    = (from TP in _dbCosolemEntities.tbTipoPersona select new TipoPersona {
                idTipoPersona = TP.idTipoPersona, descripcion = TP.descripcion
            }).ToList();
            cmbTipoPersona.ValueMember   = "idTipoPersona";
            cmbTipoPersona.DisplayMember = "descripcion";
            cmbTipoPersona_SelectionChangeCommitted(null, null);

            var _tbProvincia = (from P in _dbCosolemEntities.tbProvincia select new { idProvincia = P.idProvincia, descripcion = P.descripcion, tbCanton = (from C in P.tbCanton select new { idCanton = C.idCanton, descripcion = C.descripcion }) }).ToList();

            cmbProvinciaCliente.DataSource    = _tbProvincia;
            cmbProvinciaCliente.ValueMember   = "idProvincia";
            cmbProvinciaCliente.DisplayMember = "descripcion";

            var _tbCanton = ((dynamic)cmbProvinciaCliente.SelectedItem).tbCanton;

            cmbCantonCliente.DataSource    = _tbCanton;
            cmbCantonCliente.ValueMember   = "idCanton";
            cmbCantonCliente.DisplayMember = "descripcion";

            List <Tecnico> tecnicos = (from E in _dbCosolemEntities.tbDepartamento.Where(x => x.idEmpresa == idEmpresa && new List <long> {
                6, 9
            }.Contains(x.idDepartamento) && x.estadoRegistro).FirstOrDefault().tbCargo.Where(y => new List <long> {
                17, 24
            }.Contains(y.idCargo) && y.estadoRegistro).FirstOrDefault().tbEmpleado where E.estadoRegistro select new Tecnico {
                idEmpleado = E.idEmpleado, nombreCompleto = E.tbPersona.nombreCompleto
            }).ToList();

            tecnicos.Insert(0, new Tecnico {
                idEmpleado = 0, nombreCompleto = "Seleccione"
            });
            cmbTecnicoAsignado.DataSource    = tecnicos;
            cmbTecnicoAsignado.ValueMember   = "idEmpleado";
            cmbTecnicoAsignado.DisplayMember = "nombreCompleto";

            btnLimpiarCliente_Click(null, null);

            dtpFechaHoraAgendamiento.Value   = DateTime.Now;
            dtpFechaHoraAgendamiento.Checked = false;
            txtCodigoProducto.Clear();
            txtCodigoProducto.Tag = null;
            txtDescripcionProducto.Clear();
            txtSerie.Clear();
            txtFallaReportada.Clear();

            dgvAgendamientos.DataSource = null;

            if (idOrdenTrabajo > 0)
            {
                tbOrdenTrabajo ordenTrabajo = (from OV in _dbCosolemEntities.tbOrdenTrabajo where OV.idOrdenTrabajo == idOrdenTrabajo select OV).FirstOrDefault();
                SetearPersona(ordenTrabajo.tbCliente.tbPersona);

                if (ordenTrabajo.fechaHoraOrdenTrabajo.HasValue)
                {
                    dtpFechaHoraAgendamiento.Value = ordenTrabajo.fechaHoraOrdenTrabajo.Value;
                }
                cmbTecnicoAsignado.SelectedValue = ordenTrabajo.idTecnico ?? 0;
                txtCodigoProducto.Text           = ordenTrabajo.tbProducto.codigoProducto;
                txtCodigoProducto.Tag            = ordenTrabajo.idProducto;
                txtDescripcionProducto.Text      = ordenTrabajo.tbProducto.descripcion;
                txtSerie.Text          = ordenTrabajo.serie;
                txtFallaReportada.Text = ordenTrabajo.fallaReportada;

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

                ConsultarAgendamientos(numeroIdentificacion, fechaAgendamiento, idTecnico);
            }

            txtNumeroIdentificacion.Select();
        }