public void GuardarDetalleVenta(DetalleVenta detVenta, string tipo)
 {
     _entidades.DetalleVentas.InsertOnSubmit(detVenta);
     Articulo articulo = _entidades.Articulos.Single(a => a.Clave == detVenta.CveArticulo);
     articulo.Estado = tipo;
     _entidades.SubmitChanges();
 }
		private void detach_DetalleVentas(DetalleVenta entity)
		{
			this.SendPropertyChanging();
			entity.Articulo = null;
		}
 partial void DeleteDetalleVenta(DetalleVenta instance);
 partial void UpdateDetalleVenta(DetalleVenta instance);
 partial void InsertDetalleVenta(DetalleVenta instance);
		private void attach_DetalleVentas(DetalleVenta entity)
		{
			this.SendPropertyChanging();
			entity.Venta = this;
		}
        public void Guardar()
        {
            try
            {
                if (!ClsVerificarCaja.CajaEstado())
                {
                    MessageBox.Show("La Caja del Dia de hoy ya se ha cerrado\n SISTEMA BLOQUEADO", "Caja Cerrada",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Application.Exit();
                }
                if ((int)txtCveVenta.EditValue== 0)
                {
                    Venta entity = new Venta
                    {
                        Cliente = txtCliente.Text,
                        TipoVenta = cboTipoVenta.Text,
                        FechaVenta = Convert.ToDateTime(dtpFechaVenta.EditValue),
                        TotalVenta = Convert.ToDecimal(txtTotalVenta.EditValue),
                        Enganche = Convert.ToDecimal(txtEnganche.EditValue),
                        Saldo = Convert.ToDecimal(txtSaldo.EditValue),
                        Estado = (cboTipoVenta.SelectedIndex == 0) ? "Pagado" : "Apartado",
                        CveUsuario = Convert.ToInt32(new clsModificarConfiguracion().configGetValue("IDUsuarioApp")),
                    };
                    txtCveVenta.EditValue = new LogicaVentas().InsertarVenta(entity);
                    foreach (DataRow t in _dtartic.Rows)
                    {
                        DetalleVenta detVenta = new DetalleVenta
                        {
                            CveVenta = Convert.ToInt32(txtCveVenta.EditValue),
                            CveArticulo = Convert.ToInt32(t["Clave"]),
                            PrecioCompra = Convert.ToDecimal(t["Precio"]),
                        };
                        new LogicaVentas().GuardarDetalleVenta(detVenta,(cboTipoVenta.SelectedIndex == 0) ? "Vendido" : "Apartado");
                    }
                    ImprimirTicketsVenta();
                        // (from vent in base.mapeoCasaEmpenios.BoletasDC select vent.Folio).Max<int>().ToString();
                    new ManejadorControles().DesectivarTextBox(gpoContenedor, true);

                }
                else
                {
                    XtraMessageBox.Show("Ya se ha guardado la Venta solo se puede Imprimir el Ticket ",
                        "Datos Guardados");
                    ImprimirTicketsVenta();
                }
            }
            catch (ValidationException vex)
            {
                XtraMessageBox.Show(vex.Message, "Validación de Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, "Validación de Datos");
            }
        }