private void Registrar()
        {
            EOrdenServicio ordenServicio = new EOrdenServicio();

            ordenServicio.Id               = IdOrden;
            ordenServicio.NumeroOrden      = Convert.ToInt32(txtNumeroOrden.Text);
            ordenServicio.Concepto         = memoConcepto.Text;
            ordenServicio.FechaElaboracion = dateElaboracion.DateTime;
            ordenServicio.FechaAprobacion  = dateComienzo.DateTime;
            ordenServicio.FechaCompromiso  = dateCompromiso.DateTime;
            ordenServicio.Cliente          = Convert.ToInt32(((ComboBox.ComboBoxItem)(cbxCliente.SelectedItem)).Value);
            ordenServicio.AutorOrder       = Convert.ToInt32(((ComboBox.ComboBoxItem)(cbxAutor.SelectedItem)).Value);
            ordenServicio.Responsable      = Convert.ToInt32(((ComboBox.ComboBoxItem)(cbxResponsable.SelectedItem)).Value);
            ordenServicio.Estatus          = 1;
            ordenServicio.Vehiculo         = string.IsNullOrEmpty(lblIDVehiculo.Text) ? -1 : Convert.ToInt32(lblIDVehiculo.Text);
            ordenServicio.DiasCredito      = Convert.ToInt32(txtDias.Text);
            ordenServicio.Utilidad         = Convert.ToInt32(txtUtilidad.EditValue);


            var arregloServicios = new int[viewServicios.RowCount];

            for (var i = 0; i < viewServicios.RowCount; i++)
            {
                arregloServicios[i] = Convert.ToInt32(viewServicios.GetRowCellValue(i, "id_servicio"));
            }
            _negOrdenServicio.Registrar(ordenServicio, arregloServicios);
        }
        public EOrdenServicio ObtenerOrdenServicio(int idOrdenServicio)
        {
            SqlCommand comando = Metodos.CrearComando();

            comando.CommandText = "SELECT* FROM Orden_Servicio WHERE id_orden = " + idOrdenServicio;
            DataTable tabla = Metodos.EjecutarComandoSelect(comando);

            if (tabla.Rows.Count <= 0)
            {
                return(null);
            }
            var            row   = tabla.Rows[0];
            EOrdenServicio orden = new EOrdenServicio();

            orden.Id               = Convert.ToInt32(row["id_orden"]);
            orden.NumeroOrden      = Convert.ToInt32(row["numero_orden"]);
            orden.FechaElaboracion = Convert.ToDateTime(row["fecha_elaboracion"]);
            orden.FechaAprobacion  = row.IsNull("fecha_aprobacion") ? DateTime.MinValue : Convert.ToDateTime(row["fecha_aprobacion"]);
            orden.FechaCompromiso  = row.IsNull("fecha_compromiso") ? DateTime.MinValue : Convert.ToDateTime(row["fecha_compromiso"]);
            orden.Concepto         = row["concepto"].ToString();
            orden.AutorOrder       = row.IsNull("autor_order") ? 0 : Convert.ToInt32(row["autor_order"]);
            orden.Responsable      = row.IsNull("responsable") ? 0 : Convert.ToInt32(row["responsable"]);
            orden.Vehiculo         = row.IsNull("vehiculo") ? 0 : Convert.ToInt32(row["vehiculo"]);
            orden.DiasCredito      = row.IsNull("dias_credito") ? 0 : Convert.ToInt32(row["dias_credito"]);
            orden.Estatus          = Convert.ToInt32(row["estatus"]);
            orden.Utilidad         = row.IsNull("dias_credito") ? 0 : Convert.ToDecimal(row["utilidad"]);
            orden.Cliente          = row.IsNull("dias_credito") ? 0 : Convert.ToInt32(row["cliente"]);

            return(orden);
        }
 public FrmRegOrdenServicio(int id)
 {
     InitializeComponent();
     Inicializador();
     IdOrden        = id;
     _ordenServicio = _negOrdenServicio.TraerPorId(id);
     CargarOrdenServicio();
 }
 private bool Validar(EOrdenServicio orden)
 {
     StringBuilder.Clear();
     if ((orden.NumeroOrden) <= 0)
     {
         StringBuilder.Append("El Numero de Orden es obligatorio");
     }
     return(StringBuilder.Length == 0);
 }
        public void Actualizar(EOrdenServicio orden, int[] idservicios)
        {
            SqlCommand   comando = Metodos.CrearComando();
            const string query   = "UPDATE orden_servicio SET numero_orden=@numero_orden, fecha_elaboracion=@fecha_elaboracion, fecha_aprobacion=@fecha_aprobacion,fecha_compromiso =@fecha_compromiso, concepto= @concepto, autor_order =@autor_order, responsable =@responsable, vehiculo=@vehiculo,"
                                   + "dias_credito =@dias_credito, estatus= @estatus, utilidad=@utilidad, cliente= @cliente WHERE id_orden=@id_orden";

            comando.CommandText = query;
            comando.Parameters.AddWithValue("@id_orden", orden.Id);
            comando.Parameters.AddWithValue("@numero_orden", orden.NumeroOrden);
            comando.Parameters.AddWithValue("@fecha_elaboracion", orden.FechaElaboracion);

            if (orden.FechaAprobacion == DateTime.MinValue)
            {
                comando.Parameters.AddWithValue("@fecha_aprobacion", DBNull.Value);
            }
            else
            {
                comando.Parameters.AddWithValue("@fecha_aprobacion", orden.FechaAprobacion);
            }

            if (orden.FechaCompromiso == DateTime.MinValue)
            {
                comando.Parameters.AddWithValue("@fecha_compromiso", DBNull.Value);
            }
            else
            {
                comando.Parameters.AddWithValue("@fecha_compromiso", orden.FechaCompromiso);
            }


            comando.Parameters.AddWithValue("@concepto", orden.Concepto);
            comando.Parameters.AddWithValue("@autor_order", orden.AutorOrder);
            comando.Parameters.AddWithValue("@responsable", orden.Responsable);

            if (orden.Vehiculo == -1)
            {
                comando.Parameters.AddWithValue("@vehiculo", DBNull.Value);
            }
            else
            {
                comando.Parameters.AddWithValue("@vehiculo", orden.Vehiculo);
            }


            comando.Parameters.AddWithValue("@dias_credito", orden.DiasCredito);
            comando.Parameters.AddWithValue("@estatus", orden.Estatus);
            comando.Parameters.AddWithValue("@utilidad", orden.Utilidad);
            comando.Parameters.AddWithValue("@cliente", orden.Cliente);
            Metodos.EjecutarComando(comando);
            BorrarServicios(orden.Id);
            foreach (var idServicio in idservicios)
            {
                LigarServicios(orden.Id, idServicio);
            }
        }
 public void Registrar(EOrdenServicio orden, int[] idsServicios)
 {
     if (!Validar(orden))
     {
         return;
     }
     if (orden.Id == 0)
     {
         _ordenServiciosDatos.Insertar(orden, idsServicios);
     }
     else
     {
         _ordenServiciosDatos.Actualizar(orden, idsServicios);
     }
 }
        public void Insertar(EOrdenServicio orden, int[] idservicios)
        {
            SqlCommand   comando = Metodos.CrearComando();
            const string query   = "INSERT INTO orden_servicio VALUES (@numero_orden,@fecha_elaboracion,@fecha_aprobacion,@fecha_compromiso,@concepto,@autor_order,@responsable,@vehiculo,"
                                   + "@dias_credito, @estatus, @utilidad, @cliente)";

            comando.CommandText = query;
            comando.Parameters.AddWithValue("@numero_orden", orden.NumeroOrden);
            comando.Parameters.AddWithValue("@fecha_elaboracion", orden.FechaElaboracion);

            if (orden.FechaAprobacion == DateTime.MinValue)
            {
                comando.Parameters.AddWithValue("@fecha_aprobacion", DBNull.Value);
            }
            else
            {
                comando.Parameters.AddWithValue("@fecha_aprobacion", orden.FechaAprobacion);
            }

            if (orden.FechaCompromiso == DateTime.MinValue)
            {
                comando.Parameters.AddWithValue("@fecha_compromiso", DBNull.Value);
            }
            else
            {
                comando.Parameters.AddWithValue("@fecha_compromiso", orden.FechaCompromiso);
            }


            comando.Parameters.AddWithValue("@concepto", orden.Concepto);
            comando.Parameters.AddWithValue("@autor_order", orden.AutorOrder);
            comando.Parameters.AddWithValue("@responsable", orden.Responsable);
            comando.Parameters.AddWithValue("@vehiculo", orden.Vehiculo);
            comando.Parameters.AddWithValue("@dias_credito", orden.DiasCredito);
            comando.Parameters.AddWithValue("@estatus", orden.Estatus);
            comando.Parameters.AddWithValue("@utilidad", orden.Utilidad);
            comando.Parameters.AddWithValue("@cliente", orden.Cliente);
            Metodos.EjecutarComando(comando);
            var maxId = TraerIdMaximo();

            foreach (var idServicio in idservicios)
            {
                LigarServicios(maxId, idServicio);
            }
        }