public void AddPart(float Larghezza, float Altezza, float densita, int ricorsione, Color colore) { parte=new Parte(); parte.bodySize = new Vector2(Larghezza, Altezza); parte.lista_archi = new SortedList<int, Arco>(); parte.density = densita; parte.color = colore; parte.ricorsione = ricorsione; parte.num_archi = 0; vettParti.Add(num_parti, parte); num_parti++; }
public DetalleImagen(int Id) { InitializeComponent(); try { Parte = Negocio.General.GetEntityById<Parte>("Parte", "ParteID", Id); if (Parte == null) throw new EntityNotFoundException(Id.ToString(), "Parte"); } catch (Exception ex) { Negocio.Helper.MensajeError(ex.Message, GlobalClass.NombreApp); } }
public DetalleCodigoAlterno(int Id) { InitializeComponent(); try { //Parte = General.GetEntityById<Parte>("Parte", "ParteID", Id); Parte = Datos.GetEntity<Parte>(c => c.ParteID == Id && c.Estatus); if (Parte == null) throw new EntityNotFoundException(Id.ToString(), "Parte"); } catch (Exception ex) { Util.MensajeError(ex.Message, GlobalClass.NombreApp); } }
public int AddLink(int _parte, int link, float posizione, Boolean simmetric) { if (link > num_parti || _parte > num_parti) return 0; else { arco = new Arco(); parte=vettParti.Values[_parte]; arco.link = link; arco.position = posizione; arco.simmetric = simmetric; parte.lista_archi.Add(parte.num_archi, arco); parte.num_archi++; return 1; } }
private void Importar() { string sColumnasFalt = this.ValidarColumnas(); if (sColumnasFalt != "") { UtilLocal.MensajeAdvertencia("El archivo especificado no tiene el formato correcto. Falta especificar las siguientes columnas:\n\n" + sColumnasFalt); return; } this.HabilitarControlesProceso(false); this.prgProgreso.Inicializar(this.dgvProceso.Rows.Count, 1); foreach (DataGridViewRow oFila in this.dgvProceso.Rows) { this.prgProgreso.EjecutarPaso(true); if (oFila.DefaultCellStyle.ForeColor == Color.Green) continue; // Se valida que no se repita el número de parte string sNumeroDeParte = Util.Cadena(oFila.Cells["NumeroDeParte"].Value); if (Datos.Exists<Parte>(c => c.NumeroParte == sNumeroDeParte && c.Estatus)) { if (UtilLocal.MensajePregunta(string.Format("El Número de Parte especificado ya existe. Aún así deseas importar el registro: {0} - {1}" , oFila.Cells["NumeroDeParte"].Value, oFila.Cells["Nombre"].Value)) != DialogResult.Yes) { this.PonerErrorFila(oFila, "El número de parte especificado ya existe en la base de datos. Revisar."); continue; } } // Se obtiene los Ids (Proveedor, Marca, ..) string sProveedor = Util.Cadena(oFila.Cells["Proveedor"].Value); var oProveedor = Datos.GetEntity<Proveedor>(c => c.NombreProveedor == sProveedor && c.Estatus); if (oProveedor == null) { this.PonerErrorFila(oFila, "El Proveedor especificado es inválido."); continue; } string sMarca = Util.Cadena(oFila.Cells["Marca"].Value); var oMarca = Datos.GetEntity<MarcaParte>(c => c.NombreMarcaParte == sMarca && c.Estatus); if (oMarca == null) { this.PonerErrorFila(oFila, "La Marca especificada es inválida."); continue; } string sLinea = Util.Cadena(oFila.Cells["Linea"].Value); var oLinea = Datos.GetEntity<Linea>(c => c.NombreLinea == sLinea && c.Estatus); if (oLinea == null) { this.PonerErrorFila(oFila, "La Línea especificada es inválida."); continue; } string sSubsistema = Util.Cadena(oFila.Cells["Subsistema"].Value); var oSubsistema = Datos.GetEntity<Subsistema>(c => c.NombreSubsistema == sSubsistema && c.Estatus); if (oSubsistema == null) { this.PonerErrorFila(oFila, "El Subsistema especificado es inválido."); continue; } string sUnidadDeMedida = Util.Cadena(oFila.Cells["UnidadDeMedida"].Value); var oUnidadDeMedida = Datos.GetEntity<Medida>(c => c.NombreMedida == sUnidadDeMedida && c.Estatus); if (oUnidadDeMedida == null) { this.PonerErrorFila(oFila, "La Unidad de Medida es inválida."); continue; } // Se genera el registro de la parte var oParte = new Parte() { NumeroParte = Util.Cadena(oFila.Cells["NumeroDeParte"].Value), NombreParte = Util.Cadena(oFila.Cells["Nombre"].Value), ProveedorID = oProveedor.ProveedorID, MarcaParteID = oMarca.MarcaParteID, LineaID = oLinea.LineaID, SubsistemaID = oSubsistema.SubsistemaID, MedidaID = oUnidadDeMedida.MedidaID, UnidadEmpaque = Util.Entero(oFila.Cells["UnidadDeEmpaque"].Value), AplicaComision = (Util.Cadena(oFila.Cells["AplicaComision"].Value).ToLower() == PartesImportar.CadenaVerdadero), Etiqueta = (Util.Cadena(oFila.Cells["Etiqueta"].Value).ToLower() == PartesImportar.CadenaVerdadero), Es9500 = true }; // Se genera el registro del precio var oPartePrecio = new PartePrecio() { Costo = Util.Decimal(oFila.Cells["Costo"].Value), PorcentajeUtilidadUno = Util.Decimal(oFila.Cells["PorUtil1"].Value), PorcentajeUtilidadDos = Util.Decimal(oFila.Cells["PorUtil2"].Value), PorcentajeUtilidadTres = Util.Decimal(oFila.Cells["PorUtil3"].Value), PorcentajeUtilidadCuatro = Util.Decimal(oFila.Cells["PorUtil4"].Value), PorcentajeUtilidadCinco = Util.Decimal(oFila.Cells["PorUtil5"].Value), PrecioUno = Util.Decimal(oFila.Cells["Precio1"].Value), PrecioDos = Util.Decimal(oFila.Cells["Precio2"].Value), PrecioTres = Util.Decimal(oFila.Cells["Precio3"].Value), PrecioCuatro = Util.Decimal(oFila.Cells["Precio4"].Value), PrecioCinco = Util.Decimal(oFila.Cells["Precio5"].Value), }; // Se guardan los datos Guardar.Parte(oParte, oPartePrecio); // Se colorea la fila oFila.ErrorText = ""; oFila.DefaultCellStyle.ForeColor = Color.Green; } this.prgProgreso.EjecutarPaso(false); this.HabilitarControlesProceso(true); }
public ReportarParteFaltante(int iParteID) { InitializeComponent(); this.oParte = Datos.GetEntity<Parte>(q => q.ParteID == iParteID); }
public static ResAcc Parte(Parte oParte, PartePrecio oPartePrecio) { // Se llenan datos predeterminados, si no han sido llenados oParte.ParteEstatusID = (oParte.ParteEstatusID > 0 ? oParte.ParteEstatusID : Cat.PartesEstatus.Activo); oParte.MedidaID = (oParte.MedidaID > 0 ? oParte.MedidaID : Cat.Medidas.Pieza); oParte.UnidadEmpaque = (oParte.UnidadEmpaque > 0 ? oParte.UnidadEmpaque : 1); oParte.AplicaComision = (oParte.AplicaComision.HasValue ? oParte.AplicaComision : true); oParte.Etiqueta = (oParte.Etiqueta.HasValue ? oParte.Etiqueta : true); // Se guarda el registro de la parte Datos.Guardar<Parte>(oParte); // Se guarda el registro del precio if (oPartePrecio != null) { oPartePrecio.ParteID = oParte.ParteID; oPartePrecio.CostoConDescuento = (oPartePrecio.CostoConDescuento.HasValue ? oPartePrecio.CostoConDescuento : oPartePrecio.Costo); Datos.Guardar<PartePrecio>(oPartePrecio); } // Se generan los registros de existencia, uno por cada sucursal var oSucursales = Datos.GetListOf<Sucursal>(q => q.Estatus); foreach (var oSucursal in oSucursales) { Datos.Guardar<ParteExistencia>(new ParteExistencia() { ParteID = oParte.ParteID, SucursalID = oSucursal.SucursalID, Existencia = 0 }); } // Se generan los registros para Máximos y Mínimos, uno por cada sucursal foreach (var oSucursal in oSucursales) { // Se buscan los criterios generales predefinidos, para asignarlos var oCriterioPred = Datos.GetEntity<ParteMaxMinCriterioPredefinido>(q => q.SucursalID == oSucursal.SucursalID && q.ProveedorID == oParte.ProveedorID && q.MarcaID == oParte.MarcaParteID && q.LineaID == oParte.LineaID); // Datos.Guardar<ParteMaxMin>(new ParteMaxMin() { ParteID = oParte.ParteID, SucursalID = oSucursal.SucursalID, Calcular = (oCriterioPred == null ? null : oCriterioPred.Calcular), VentasGlobales = (oCriterioPred == null ? null : oCriterioPred.VentasGlobales) }); } // Se genera el registro de Abc (ParteAbc) Datos.Guardar<ParteAbc>(new ParteAbc() { ParteID = oParte.ParteID, AbcDeVentas = "Z" }); return new ResAcc(true); }
private bool Agregar9500() { // Se valida la parte de "Partes" if (!this.ctlPartes.Validar()) return false; // Se pide el efectivo, si aplica if (!this.ctlCobro.CompletarCobro()) return false; // Se valida que exista una Medida genérica, para las nuevas partes if (Datos.GetEntity<Medida>(q => q.MedidaID == Cat.Medidas.Pieza && q.Estatus) == null) { UtilLocal.MensajeAdvertencia("No existe una Medida genérica para asignarle a las partes nuevas. No se puede continuar."); return false; } // Se solicitan la autorizaciones, si se requiere int iAutorizoID = 0; if (this.ctlPartes.AutorizacionRequeridaPrecio || this.ctlPartes.AutorizacionRequeridaAnticipo) { string sPermiso = (this.ctlPartes.AutorizacionRequeridaPrecio ? "Autorizaciones.Ventas.9500.PrecioFueraDeRango" : "Autorizaciones.Ventas.9500.NoAnticipo"); var Res = UtilLocal.ValidarObtenerUsuario(sPermiso, "Autorización"); iAutorizoID = (Res.Respuesta == null ? 0 : Res.Respuesta.UsuarioID); } // Se procede a guardar los datos DateTime dAhora = DateTime.Now; // Se genera la Cotización 9500 var o9500 = this.ctlPartes.Generar9500(); o9500.Fecha = dAhora; o9500.RealizoUsuarioID = this.ctlCobro.VendodorID; if (this.ctlCobro.ComisionistaID > 0) o9500.ComisionistaClienteID = this.ctlCobro.ComisionistaID; // Se genera el detalle del 9500 var oParteGanancia = this.ctlPartes.ObtenerParteGanancia(null); var o9500Detalle = new List<Cotizacion9500Detalle>(); foreach (var Parte9500 in this.ctlPartes.Detalle) { // Si la parte no existe, se agrega if (Parte9500.Value.ParteID <= 0) { int iFila = UtilLocal.findRowIndex(this.ctlPartes.dgvPartes, "Llave", Parte9500.Key); string sNumeroDeParte = Util.Cadena(this.ctlPartes.dgvPartes["NumeroDeParte", iFila].Value); string sDescripcion = Util.Cadena(this.ctlPartes.dgvPartes["Descripcion", iFila].Value); var oLinea = Datos.GetEntity<Linea>(q => q.LineaID == Parte9500.Value.LineaID && q.Estatus); Parte oParte = new Parte() { NumeroParte = sNumeroDeParte, LineaID = Parte9500.Value.LineaID, MarcaParteID = Parte9500.Value.MarcaParteID, ProveedorID = Parte9500.Value.ProveedorID, NombreParte = sDescripcion, Es9500 = true, SubsistemaID = oLinea.SubsistemaID.Valor() }; // Se agregan los precios PartePrecio oPartePrecio = null; if (oParteGanancia != null) { oPartePrecio = new PartePrecio() { Costo = Parte9500.Value.Costo, PorcentajeUtilidadUno = oParteGanancia.PorcentajeDeGanancia1, PorcentajeUtilidadDos = oParteGanancia.PorcentajeDeGanancia2, PorcentajeUtilidadTres = oParteGanancia.PorcentajeDeGanancia3, PorcentajeUtilidadCuatro = oParteGanancia.PorcentajeDeGanancia4, PorcentajeUtilidadCinco = oParteGanancia.PorcentajeDeGanancia5, PrecioUno = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia1), PrecioDos = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia2), PrecioTres = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia3), PrecioCuatro = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia4), PrecioCinco = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia5) }; } // Se guarda Guardar.Parte(oParte, oPartePrecio); Parte9500.Value.ParteID = oParte.ParteID; } // Se agrega la parte al detalle del 9500 o9500Detalle.Add(Parte9500.Value); } // Se guardan los datos de 9500 Guardar.c9500(o9500, o9500Detalle); // Se genera la venta con el anticipo var oVenta = new Venta() { ClienteID = o9500.ClienteID, RealizoUsuarioID = o9500.RealizoUsuarioID }; var oPrecioAnticipo = Datos.GetEntity<PartePrecio>(c => c.ParteID == Cat.Partes.AnticipoClientes && c.Estatus); var oVentaDetalle = new VentaDetalle() { ParteID = Cat.Partes.AnticipoClientes, Cantidad = 1, PrecioUnitario = o9500.Anticipo, Costo = oPrecioAnticipo.Costo.Valor(), CostoConDescuento = (oPrecioAnticipo.CostoConDescuento ?? oPrecioAnticipo.Costo.Valor()) }; Guardar.Venta(oVenta, new List<VentaDetalle>() { oVentaDetalle }); // Se guarda el dato de la venta con el anticipo en el registro de 9500 o9500.AnticipoVentaID = oVenta.VentaID; Datos.Guardar<Cotizacion9500>(o9500); // Se guardan las autorizaciones, si hubiera if (this.ctlPartes.AutorizacionRequeridaPrecio) VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.c9500PrecioFueraDeRango, Cat.Tablas.Tabla9500, o9500.Cotizacion9500ID, iAutorizoID); if (this.ctlPartes.AutorizacionRequeridaAnticipo) VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.c9500SinAnticipo, Cat.Tablas.Tabla9500, o9500.Cotizacion9500ID, iAutorizoID); // Se muestra una notifiación con el resultado UtilLocal.MostrarNotificacion("Cotización 9500 guardada correctamente."); return true; }
public void addPart(Parte part) { parts.Add(part.key, part); partCount++; }
private void btnGuardar_Click(object sender, EventArgs e) { if (!Validaciones()) return; var caracteristicas = new StringBuilder(); /* int id; if (int.TryParse(cboLinea.SelectedValue.ToString(), out id)) { //Validaciones para las caracteristicas segun la linea var lineaId = Util.ConvertirEntero(this.cboLinea.SelectedValue); var linea = General.GetEntity<Linea>(l => l.LineaID.Equals(lineaId)); if (linea != null) { if (linea.Alto.Equals(true) && this.txtAlto.Text == "") caracteristicas.Append("Alto, "); if (linea.Diametro.Equals(true) && this.txtDiametro.Text == "") caracteristicas.Append("Diametro, "); if (linea.Largo.Equals(true) && this.txtLargo.Text == "") caracteristicas.Append("Largo, "); if (linea.Dientes.Equals(true) && this.txtDientes.Text == "") caracteristicas.Append("Dientes, "); if (linea.Astrias.Equals(true) && this.txtAstrias.Text == "") caracteristicas.Append("Astrias, "); if (linea.Sistema.Equals(true) && Util.ConvertirEntero(this.cboParteSistema.SelectedValue).Equals(1)) caracteristicas.Append("Sistema, "); if (linea.Amperaje.Equals(true) && this.txtAmperes.Text == "") caracteristicas.Append("Amperaje, "); if (linea.Voltaje.Equals(true) && this.txtVoltios.Text == "") caracteristicas.Append("Voltaje, "); if (linea.Watts.Equals(true) && this.txtWatts.Text == "") caracteristicas.Append("Watts, "); if (linea.Ubicacion.Equals(true) && Util.ConvertirEntero(this.cboParteUbicacion.SelectedValue).Equals(1)) caracteristicas.Append("Ubicacion, "); if (linea.Terminales.Equals(true) && this.txtTerminales.Text == "") caracteristicas.Append("Terminales, "); } } */ var mensaje = string.Empty; if (string.IsNullOrEmpty(caracteristicas.ToString())) { mensaje = "¿Está seguro de que la información es correcta?"; } else { mensaje = string.Format("{0}{1}{2}", "Faltan características por llenar, (", caracteristicas.ToString().Substring(0, caracteristicas.ToString().Length - 2), ") ¿Está seguro de que la información es correcta?"); } var res = Util.MensajePregunta(mensaje, GlobalClass.NombreApp); if (res == DialogResult.No) return; object oMotivoFijoCero = null; if (this.VerMaxMinFijoCero()) { oMotivoFijoCero = UtilLocal.ObtenerValor("Indica el motivo por el cuál se especificó un MaxMin de cero:", "", MensajeObtenerValor.Tipo.TextoLargo); if (oMotivoFijoCero == null) return; } try { SplashScreen.Show(new Splash()); this.btnGuardar.Enabled = false; PartePrecio oPartePrecio; if (this.EsNuevo) { this.oParte = new Parte(); oPartePrecio = new PartePrecio(); } else //Modificación { oPartePrecio = Datos.GetEntity<PartePrecio>(c => c.ParteID == this.oParte.ParteID && c.Estatus); } // Se llenan los datos oParte.NumeroParte = txtNumeroParte.Text; oParte.NombreParte = txtNombreParte.Text; oParte.LineaID = Util.Entero(cboLinea.SelectedValue); oParte.MarcaParteID = Util.Entero(cboMarca.SelectedValue); oParte.SubsistemaID = Util.Entero(cboSubsistema.SelectedValue); oParte.ProveedorID = Util.Entero(cboProveedor.SelectedValue); oParte.MedidaID = Util.Entero(cboMedida.SelectedValue); oParte.ParteEstatusID = Util.Entero(cboEstatus.SelectedValue); oParte.AplicaComision = chkAplicaComision.Checked; /* Parte.Alto = Util.ConvertirEntero(txtAlto.Text); Parte.Largo = Util.ConvertirEntero(txtLargo.Text); Parte.Diametro = Util.ConvertirEntero(txtDiametro.Text); Parte.Dientes = Util.ConvertirEntero(txtDientes.Text); Parte.Astrias = Util.ConvertirEntero(txtAstrias.Text); Parte.Amperes = Util.ConvertirEntero(txtAmperes.Text); Parte.Voltios = Util.ConvertirEntero(txtVoltios.Text); Parte.Watts = Util.ConvertirEntero(txtWatts.Text); Parte.Terminales = Util.ConvertirEntero(txtTerminales.Text); Parte.Litros = Util.ConvertirEntero(txtLitros.Text); */ oParte.ParteSistemaID = Util.Entero(cboParteSistema.SelectedValue); oParte.ParteUbicacionID = Util.Entero(cboParteUbicacion.SelectedValue); // Control de Cascos this.oParte.EsCasco = (this.cmbEsCascoPara.SelectedValue != null); this.oParte.EsCascoPara = (this.oParte.EsCasco.Valor() ? (int?)Util.Entero(this.cmbEsCascoPara.SelectedValue) : null); this.oParte.RequiereCascoDe = (this.cmbRequiereCascoDe.SelectedValue == null ? null : (int?)Util.Entero(this.cmbRequiereCascoDe.SelectedValue)); this.oParte.RequiereDepositoDe = (this.txtRequiereDepositoDe.Tag == null ? null : (int?)Util.Entero(this.txtRequiereDepositoDe.Tag)); oParte.Es9500 = chk9500.Checked; oParte.EsServicio = chkServicio.Checked; // Parte.TipoCilindroID = Util.ConvertirEntero(this.cmbCar01.SelectedValue); oParte.TipoGarantiaID = Util.Entero(this.cboTipoGarantia.SelectedValue); oParte.Etiqueta = this.chkSiEtiqueta.Checked; oParte.SoloUnaEtiqueta = this.chkSoloUna.Checked; oParte.CodigoBarra = this.txtCodigoBarra.Text; oParte.TiempoReposicion = Util.Decimal(this.txtTiempoReposicion.Text); oParte.UnidadEmpaque = Util.Decimal(this.txtUnidadEmpaque.Text); oParte.AGranel = this.chkAGranel.Checked; oParte.EsPar = this.chkEsPar.Checked; // Se llenan los datos del precio if (oPartePrecio != null) { oPartePrecio.Costo = Util.Decimal(txtCosto.Text); oPartePrecio.PorcentajeUtilidadUno = Util.Decimal(txtPorcentaje1.Text); oPartePrecio.PorcentajeUtilidadDos = Util.Decimal(txtPorcentaje2.Text); oPartePrecio.PorcentajeUtilidadTres = Util.Decimal(txtPorcentaje3.Text); oPartePrecio.PorcentajeUtilidadCuatro = Util.Decimal(txtPorcentaje4.Text); oPartePrecio.PorcentajeUtilidadCinco = Util.Decimal(txtPorcentaje5.Text); oPartePrecio.PrecioUno = Util.Decimal(txtPrecio1.Text); oPartePrecio.PrecioDos = Util.Decimal(txtPrecio2.Text); oPartePrecio.PrecioTres = Util.Decimal(txtPrecio3.Text); oPartePrecio.PrecioCuatro = Util.Decimal(txtPrecio4.Text); oPartePrecio.PrecioCinco = Util.Decimal(txtPrecio5.Text); } // Se guarda la Parte if (this.EsNuevo) { Guardar.Parte(this.oParte, oPartePrecio); } else { Datos.Guardar<Parte>(this.oParte); Datos.Guardar<PartePrecio>(oPartePrecio); } // Se mandan guardar las características this.GuardarCaracteristicas(); // Se guardan las existencias y los datos de máximos y mínimos foreach (DataGridViewRow row in dgvExistencias.Rows) { var sucursalId = Util.Entero(row.Cells["SucursalID"].Value); var parteExistencia = Datos.GetEntity<ParteExistencia>(p => p.ParteID.Equals(oParte.ParteID) && p.SucursalID.Equals(sucursalId)); if (parteExistencia != null) { parteExistencia.SucursalID = sucursalId; parteExistencia.Maximo = Util.Entero(row.Cells["Max"].Value); parteExistencia.Minimo = Util.Entero(row.Cells["Min"].Value); // parteExistencia.UnidadEmpaque = Util.ConvertirEntero(row.Cells["UEmp"].Value); parteExistencia.UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID; parteExistencia.FechaModificacion = DateTime.Now; parteExistencia.Estatus = true; parteExistencia.Actualizar = true; Datos.SaveOrUpdate<ParteExistencia>(parteExistencia); } // Se guardan los datos de MaxMin, si fueron modificados bool bMaxMinFijo = Util.Logico(row.Cells["MaxMinFijo"].Value); if (bMaxMinFijo) { var oParteMaxMin = Datos.GetEntity<ParteMaxMin>(q => q.ParteID == oParte.ParteID && q.SucursalID == sucursalId); oParteMaxMin.Fijo = bMaxMinFijo; oParteMaxMin.Maximo = Util.Entero(row.Cells["Max"].Value); oParteMaxMin.Minimo = Util.Entero(row.Cells["Min"].Value); Datos.Guardar<ParteMaxMin>(oParteMaxMin); // Se verifica si fue max min 0, para guardar histórico if (oMotivoFijoCero != null && oParteMaxMin.Maximo == 0 && oParteMaxMin.Minimo == 0) { var oFijoHist = new ParteMaxMinFijoHistorico() { ParteID = this.oParte.ParteID, SucursalID = sucursalId, Fecha = DateTime.Now, Motivo = Util.Cadena(oMotivoFijoCero) }; Datos.Guardar<ParteMaxMinFijoHistorico>(oFijoHist); } } } // Se verifica el máximo, para guardar como 9500 o no this.oParte.Es9500 = AdmonProc.VerGuardar9500(this.oParte.ParteID); // Si es nuevo, se carga la parte, para que ya no sea nuevo if (this.EsNuevo) this.CargarParte(this.oParte.ParteID); SplashScreen.Close(); this.btnGuardar.Enabled = true; new Notificacion("Parte Guardada exitosamente", 2 * 1000).Mostrar(Principal.Instance); // this.IniciarActualizarListado(); } catch (Exception ex) { SplashScreen.Close(); this.btnGuardar.Enabled = true; Util.MensajeError(ex.Message, GlobalClass.NombreApp); } }
public int BuscarParte(int entradaMaxima) { int novaColunaSaida = 0, novaLinhaSaida = 0; bool continuar = false; int entrada = 0; int contagem = 0; while (!continuar) { entrada = Random.Range(0, entradaMaxima); continuar = partes[entrada].Count > 0; contagem++; if (contagem == 100) { continuar = true; Debug.Log("Entrou em loop infinito 2."); Debug.Log(entradaMaxima); Debug.Log(entrada); Debug.Log(partes[entrada]); Debug.Break(); Application.Quit(); } } Parte parte = partes[entrada][Random.Range(0, partes[entrada].Count)]; string path = System.IO.Path.Combine(Application.streamingAssetsPath, "Desafios/" + parte.GetNome() + ".txt"); if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.WebGLPlayer) { // Android only use WWW to read file WWW readerwww = new WWW(path); while (!readerwww.isDone) { } string realPath = Application.persistentDataPath + "/parte"; System.IO.File.WriteAllBytes(realPath, readerwww.bytes); path = realPath; } //Read the text from directly from the test.txt file StreamReader reader = new StreamReader(path); char[] buffer = new char[1]; if (!puroInfinito) { if (!Menu.instance.MapaHUDMontado()) { Menu.instance.CriarHUD(columns, rows); } else { Menu.instance.LimparHUD(); } } else { if (!MenuInfinito.instance.MapaHUDMontado()) { MenuInfinito.instance.CriarHUD(columns, rows); } else { MenuInfinito.instance.LimparHUD(); } } int distancia = 0; bool primeiraLinha = true; for (int i = alturaSaida; i < alturaSaida + rows; i++) { for (int j = linhaSaida; j < linhaSaida + matrixes; j++) { bool mudarColuna = true; for (int k = colunaSaida; k < colunaSaida + columns; k++) { reader.ReadBlock(buffer, 0, buffer.Length); //buffer[0] = linhas[1 + j + i*matrixes + i][k]; AdicionarObjeto(buffer[0], k - distancia, i, j); if (buffer[0] != '0') { //EstabelecerHUD(buffer[0], k - distancia, i, j, true); if (mudarColuna) { novaColunaSaida = k - distancia; mudarColuna = false; } novaLinhaSaida = j; primeiraLinha = false; } else if (primeiraLinha && i == alturaSaida && j == linhaSaida) { distancia++; } } reader.ReadBlock(buffer, 0, buffer.Length); } reader.ReadBlock(buffer, 0, buffer.Length); } alturaSaida = alturaSaida + rows; colunaSaida = novaColunaSaida; linhaSaida = novaLinhaSaida + 1; reader.Close(); return(parte.GetSaida()); }
public void CargarParte(int iParteID) { // Se limpia el formulario primero this.LimpiarFormulario(); // Se obtiene la parte correspondiente this.oParte = Datos.GetEntity<Parte>(c => c.ParteID == iParteID && c.Estatus); if (this.oParte == null) { UtilLocal.MensajeError("Hubo un error al carcar la Parte especificada."); return; } this.EsNuevo = false; // Se empiezan a cargar los datos this.txtNumeroParte.Text = oParte.NumeroParte; this.txtNombreParte.Text = oParte.NombreParte; this.cboProveedor.SelectedValue = oParte.ProveedorID; var subsitema = Datos.GetEntity<Subsistema>(s => s.SubsistemaID.Equals(oParte.SubsistemaID)); this.cboMarca.SelectedValue = oParte.MarcaParteID; this.cboLinea.SelectedValue = oParte.LineaID; // this.cboSistema.SelectedValue = subsitema.SistemaID; this.cboSubsistema.SelectedValue = oParte.SubsistemaID; this.cboMedida.SelectedValue = oParte.MedidaID; this.cboEstatus.SelectedValue = oParte.ParteEstatusID; // Control de Cascos if (this.oParte.EsCascoPara.HasValue) this.cmbEsCascoPara.SelectedValue = this.oParte.EsCascoPara; this.cmbRequiereCascoDe.CargarDatos("ParteID", "NumeroParte", Datos.GetListOf<Parte>(c => c.EsCascoPara == this.oParte.LineaID && c.Estatus)); if (this.oParte.RequiereCascoDe.HasValue) this.cmbRequiereCascoDe.SelectedValue = this.oParte.RequiereCascoDe; this.txtRequiereDepositoDe.Tag = this.oParte.RequiereDepositoDe; if (this.oParte.RequiereDepositoDe.HasValue) { var oParteDep = Datos.GetEntity<Parte>(c => c.ParteID == this.oParte.RequiereDepositoDe.Value && c.Estatus); this.txtRequiereDepositoDe.Text = oParteDep.NumeroParte; } this.chkAplicaComision.Checked = Util.Logico(oParte.AplicaComision); this.chk9500.Checked = Util.Logico(oParte.Es9500); this.chkServicio.Checked = Util.Logico(oParte.EsServicio); this.CargaExistencias(oParte.ParteID); this.CargaPrecios(oParte.ParteID); this.CargarImagenes(oParte.ParteID); this.CargarEquivalencias(oParte.ParteID); this.CargarAplicaciones(oParte.ParteID); this.CargarCodigosAlternos(oParte.ParteID); this.CargarComplementarios(oParte.ParteID); this.CargarValidaciones(oParte.ParteID); /* this.txtAlto.Text = Parte.Alto.ToString().Equals("0") ? string.Empty : Parte.Alto.ToString(); this.txtLargo.Text = Parte.Largo.ToString().Equals("0") ? string.Empty : Parte.Largo.ToString(); this.txtDiametro.Text = Parte.Diametro.ToString().Equals("0") ? string.Empty : Parte.Diametro.ToString(); this.txtDientes.Text = Parte.Dientes.ToString().Equals("0") ? string.Empty : Parte.Dientes.ToString(); this.txtAstrias.Text = Parte.Astrias.ToString().Equals("0") ? string.Empty : Parte.Astrias.ToString(); this.txtAmperes.Text = Parte.Amperes.ToString().Equals("0") ? string.Empty : Parte.Amperes.ToString(); this.txtVoltios.Text = Parte.Voltios.ToString().Equals("0") ? string.Empty : Parte.Voltios.ToString(); this.txtWatts.Text = Parte.Watts.ToString().Equals("0") ? string.Empty : Parte.Watts.ToString(); this.txtTerminales.Text = Parte.Terminales.ToString().Equals("0") ? string.Empty : Parte.Terminales.ToString(); this.txtLitros.Text = Parte.Litros.ToString().Equals("0") ? string.Empty : Parte.Litros.ToString(); */ // Se llenan las características this.CargarCaracteristicas(); // if (oParte.ParteSistemaID == null) this.cboParteSistema.SelectedValue = 1; else this.cboParteSistema.SelectedValue = oParte.ParteSistemaID; if (oParte.ParteUbicacionID == null) this.cboParteUbicacion.SelectedValue = 1; else this.cboParteUbicacion.SelectedValue = oParte.ParteUbicacionID; if (oParte.TipoGarantiaID == null) this.cboTipoGarantia.SelectedValue = 1; else this.cboTipoGarantia.SelectedValue = oParte.TipoGarantiaID; if (oParte.TipoCilindroID == null) this.cboTipoGarantia.SelectedValue = 1; else this.cboTipoGarantia.SelectedValue = oParte.TipoGarantiaID; this.chkSiEtiqueta.Checked = Util.Logico(oParte.Etiqueta); this.chkSoloUna.Checked = Util.Logico(oParte.SoloUnaEtiqueta); this.dgvEquivalentes.ClearSelection(); this.dgvAplicaciones.ClearSelection(); this.dgvExistencias.ClearSelection(); this.dgvCodigosAlternos.ClearSelection(); this.dgvEquivalentes.CurrentCell = null; this.dgvAplicaciones.CurrentCell = null; this.dgvExistencias.CurrentCell = null; this.dgvCodigosAlternos.CurrentCell = null; // this.btnAgregarAplicacion.Enabled = true; // this.btnAgregarEquivalencia.Enabled = true; this.btnAgregarImagenes.Enabled = true; this.txtABC.Text = Util.Cadena(oParte.CriterioABC); this.txtCodigoBarra.Text = Util.Cadena(oParte.CodigoBarra); this.txtTiempoReposicion.Text = Util.Cadena(oParte.TiempoReposicion); this.txtUnidadEmpaque.Text = oParte.UnidadEmpaque.ToString(); this.chkAGranel.Checked = oParte.AGranel; this.chkEsPar.Checked = oParte.EsPar.Valor(); // Para mostrar / ocultar etiqueta de no pedidos this.lblNoPedidos.Visible = Datos.Exists<ParteCaracteristicaTemporal>(c => c.ParteID == this.oParte.ParteID && c.Caracteristica == Cat.CaracTempPartes.NoPedidosPorEquivalentes); // Se llenan los datos de las ventas por mes this.ctlVentasPorMes.LlenarDatos(iParteID); // Para cambiar el color de fondo de algunos grids this.dgvExistencias.CambiarColorDeFondo(Color.FromArgb(188, 199, 216)); this.ctlVentasPorMes.dgvDatos.CambiarColorDeFondo(Color.FromArgb(188, 199, 216)); this.bGridPartesSel = true; }
private bool Agregar9500() { // Se valida la parte de "Partes" if (!this.ctlPartes.Validar()) { return(false); } // Se pide el efectivo, si aplica if (!this.ctlCobro.CompletarCobro()) { return(false); } // Se valida que exista una Medida genérica, para las nuevas partes if (Datos.GetEntity <Medida>(q => q.MedidaID == Cat.Medidas.Pieza && q.Estatus) == null) { UtilLocal.MensajeAdvertencia("No existe una Medida genérica para asignarle a las partes nuevas. No se puede continuar."); return(false); } // Se solicitan la autorizaciones, si se requiere int iAutorizoID = 0; if (this.ctlPartes.AutorizacionRequeridaPrecio || this.ctlPartes.AutorizacionRequeridaAnticipo) { string sPermiso = (this.ctlPartes.AutorizacionRequeridaPrecio ? "Autorizaciones.Ventas.9500.PrecioFueraDeRango" : "Autorizaciones.Ventas.9500.NoAnticipo"); var Res = UtilLocal.ValidarObtenerUsuario(sPermiso, "Autorización"); iAutorizoID = (Res.Respuesta == null ? 0 : Res.Respuesta.UsuarioID); } // Se procede a guardar los datos DateTime dAhora = DateTime.Now; // Se genera la Cotización 9500 var o9500 = this.ctlPartes.Generar9500(); o9500.Fecha = dAhora; o9500.RealizoUsuarioID = this.ctlCobro.VendodorID; if (this.ctlCobro.ComisionistaID > 0) { o9500.ComisionistaClienteID = this.ctlCobro.ComisionistaID; } // Se genera el detalle del 9500 var oParteGanancia = this.ctlPartes.ObtenerParteGanancia(null); var o9500Detalle = new List <Cotizacion9500Detalle>(); foreach (var Parte9500 in this.ctlPartes.Detalle) { // Si la parte no existe, se agrega if (Parte9500.Value.ParteID <= 0) { int iFila = UtilLocal.findRowIndex(this.ctlPartes.dgvPartes, "Llave", Parte9500.Key); string sNumeroDeParte = Util.Cadena(this.ctlPartes.dgvPartes["NumeroDeParte", iFila].Value); string sDescripcion = Util.Cadena(this.ctlPartes.dgvPartes["Descripcion", iFila].Value); var oLinea = Datos.GetEntity <Linea>(q => q.LineaID == Parte9500.Value.LineaID && q.Estatus); Parte oParte = new Parte() { NumeroParte = sNumeroDeParte, LineaID = Parte9500.Value.LineaID, MarcaParteID = Parte9500.Value.MarcaParteID, ProveedorID = Parte9500.Value.ProveedorID, NombreParte = sDescripcion, Es9500 = true, SubsistemaID = oLinea.SubsistemaID.Valor() }; // Se agregan los precios PartePrecio oPartePrecio = null; if (oParteGanancia != null) { oPartePrecio = new PartePrecio() { Costo = Parte9500.Value.Costo, PorcentajeUtilidadUno = oParteGanancia.PorcentajeDeGanancia1, PorcentajeUtilidadDos = oParteGanancia.PorcentajeDeGanancia2, PorcentajeUtilidadTres = oParteGanancia.PorcentajeDeGanancia3, PorcentajeUtilidadCuatro = oParteGanancia.PorcentajeDeGanancia4, PorcentajeUtilidadCinco = oParteGanancia.PorcentajeDeGanancia5, PrecioUno = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia1), PrecioDos = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia2), PrecioTres = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia3), PrecioCuatro = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia4), PrecioCinco = UtilTheos.AplicarRedondeo(Parte9500.Value.Costo * oParteGanancia.PorcentajeDeGanancia5) }; } // Se guarda Guardar.Parte(oParte, oPartePrecio); Parte9500.Value.ParteID = oParte.ParteID; } // Se agrega la parte al detalle del 9500 o9500Detalle.Add(Parte9500.Value); } // Se guardan los datos de 9500 Guardar.c9500(o9500, o9500Detalle); // Se genera la venta con el anticipo var oVenta = new Venta() { ClienteID = o9500.ClienteID, RealizoUsuarioID = o9500.RealizoUsuarioID }; var oPrecioAnticipo = Datos.GetEntity <PartePrecio>(c => c.ParteID == Cat.Partes.AnticipoClientes && c.Estatus); var oVentaDetalle = new VentaDetalle() { ParteID = Cat.Partes.AnticipoClientes, Cantidad = 1, PrecioUnitario = o9500.Anticipo, Costo = oPrecioAnticipo.Costo.Valor(), CostoConDescuento = (oPrecioAnticipo.CostoConDescuento ?? oPrecioAnticipo.Costo.Valor()) }; Guardar.Venta(oVenta, new List <VentaDetalle>() { oVentaDetalle }); // Se guarda el dato de la venta con el anticipo en el registro de 9500 o9500.AnticipoVentaID = oVenta.VentaID; Datos.Guardar <Cotizacion9500>(o9500); // Se guardan las autorizaciones, si hubiera if (this.ctlPartes.AutorizacionRequeridaPrecio) { VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.c9500PrecioFueraDeRango, Cat.Tablas.Tabla9500, o9500.Cotizacion9500ID, iAutorizoID); } if (this.ctlPartes.AutorizacionRequeridaAnticipo) { VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.c9500SinAnticipo, Cat.Tablas.Tabla9500, o9500.Cotizacion9500ID, iAutorizoID); } // Se muestra una notifiación con el resultado UtilLocal.MostrarNotificacion("Cotización 9500 guardada correctamente."); return(true); }
private void btnTimbrar_Click(object sender, EventArgs e) { //crear un nuevo comprobante CFDI para la version 3.2 FIGeneradorFacturaElectronica.ComprobanteCFDI32 Comprobante = new ComprobanteCFDI32(); Comprobante.serie = "MER"; Comprobante.folio = "8223"; //dato no obligatorio Comprobante.fecha = System.DateTime.Now; Comprobante.formaDePago = "Pago en una sola exhibición"; Comprobante.subTotal = new FIGeneradorFacturaElectronica.Importe(1100); Comprobante.total = new FIGeneradorFacturaElectronica.Importe(1276); Comprobante.tipoDeComprobante = "ingreso"; Comprobante.Moneda = "MXN"; //Comprobante.TipoCambio = "1"; //utilizar en caso de moneda extranjera // Campos nuevos en comprobante Comprobante.LugarExpedicion = "VERACRUZ"; Comprobante.NumCtaPago = "NO IDENTIFICADO"; Comprobante.metodoDePago = "NO IDENTIFICADO"; //Campo nuevo en Emisor Comprobante.Emisor.RegimenFiscal.Add("REGIMEN GENERAL DE LEY PERSONAS MORALES"); //Llenado de datos del emisor Comprobante.Emisor.rfc = RFC; Comprobante.Emisor.nombre = "Empresa de prueba"; Comprobante.Emisor.DomicilioFiscal.calle = "Av. Paseo de la Reforma"; Comprobante.Emisor.DomicilioFiscal.noExterior = "89"; Comprobante.Emisor.DomicilioFiscal.noInterior = "103"; Comprobante.Emisor.DomicilioFiscal.colonia = "Cuauhtemoc"; Comprobante.Emisor.DomicilioFiscal.localidad = "Ciudad de Mexico"; Comprobante.Emisor.DomicilioFiscal.municipio = "Cuauhtemoc"; Comprobante.Emisor.DomicilioFiscal.estado = "Distrito Federal"; Comprobante.Emisor.DomicilioFiscal.pais = "MEXICO"; Comprobante.Emisor.DomicilioFiscal.codigoPostal = "06500"; Comprobante.Emisor.ExpedidoEn.calle = "FRANCISCO PEREZ"; Comprobante.Emisor.ExpedidoEn.noExterior = "35"; Comprobante.Emisor.ExpedidoEn.noInterior = "1"; Comprobante.Emisor.ExpedidoEn.colonia = "RICARDO FLORES MAGON"; Comprobante.Emisor.ExpedidoEn.localidad = "VERACRUZ, VER."; Comprobante.Emisor.ExpedidoEn.municipio = "VERACRUZ"; Comprobante.Emisor.ExpedidoEn.estado = "Veracruz"; Comprobante.Emisor.ExpedidoEn.pais = "México"; Comprobante.Emisor.ExpedidoEn.codigoPostal = "91900"; //Llenado de datos del receptor Comprobante.Receptor.rfc = "FID080111867"; Comprobante.Receptor.nombre = "FREIGHTIDEAS S.A DE C.V."; Comprobante.Receptor.Domicilio.calle = "ARIZONA"; Comprobante.Receptor.Domicilio.noExterior = "108"; //Comprobante.Receptor.Domicilio.noInterior = "1"; Comprobante.Receptor.Domicilio.colonia = "COL. NAPOLES"; //Comprobante.Receptor.Domicilio.localidad = "TEOLOYUCAN"; Comprobante.Receptor.Domicilio.municipio = "Benito Juarez"; Comprobante.Receptor.Domicilio.estado = "Distrito Federal"; Comprobante.Receptor.Domicilio.pais = "MEXICO"; Comprobante.Receptor.Domicilio.codigoPostal = "03810"; //Crear un nuevo concepto FIGeneradorFacturaElectronica.Concepto Concepto1 = new FIGeneradorFacturaElectronica.Concepto(); Concepto1.cantidad = 1; Concepto1.descripcion = "Software"; Concepto1.valorUnitario = new FIGeneradorFacturaElectronica.Importe(1000); Concepto1.importe = new FIGeneradorFacturaElectronica.Importe(1000); //Concepto1.noIdentificacion = "PINO"; //nuevo en los conceptos Concepto1.unidad = "Pieza"; //ejemplo para agregar una cuenta predial al concepto //Concepto1.CuentaPredial="rur85859"; //ejemplo para agregarle informacion aduanera en el concepto FIGeneradorFacturaElectronica.t_InformacionAduanera informacionAduanera = new t_InformacionAduanera(); informacionAduanera.numero = "120"; informacionAduanera.fecha = System.DateTime.Now; informacionAduanera.numero = "234"; informacionAduanera.aduana = "AICM"; Parte parte = new Parte(); parte.InformacionAduanera.Add(informacionAduanera); parte.cantidad = 1; parte.descripcion = "Prueba"; Concepto1.Parte.Add(parte); //crear otro concepto FIGeneradorFacturaElectronica.Concepto Concepto2 = new FIGeneradorFacturaElectronica.Concepto(); Concepto2.cantidad = 1; Concepto2.descripcion = "VALIDACION"; Concepto2.valorUnitario = new FIGeneradorFacturaElectronica.Importe(100); Concepto2.importe = new FIGeneradorFacturaElectronica.Importe(100); Concepto2.unidad = "No aplica"; //agregando complemento concepto al comprobante por order y cuenta de terceros AgregarComplementoterceros(Concepto2); //crear otro concepto FIGeneradorFacturaElectronica.Concepto Concepto3 = new FIGeneradorFacturaElectronica.Concepto(); Concepto3.cantidad = 1; Concepto3.descripcion = "Factura"; Concepto3.valorUnitario = new FIGeneradorFacturaElectronica.Importe(1.50); Concepto3.importe = new FIGeneradorFacturaElectronica.Importe(1.50); Concepto3.unidad = "Pieza"; //Invocamos a la muestra de como crear complemento iedu //AgregarComplementoiedu(Concepto3); //Agregando los conceptos al comprobante Comprobante.Conceptos.Add(Concepto1); Comprobante.Conceptos.Add(Concepto2); Comprobante.Conceptos.Add(Concepto3); //totales de impuestos Comprobante.Impuestos.totalImpuestosRetenidos = new FIGeneradorFacturaElectronica.Importe(2317.44); Comprobante.Impuestos.totalImpuestosTrasladados = new FIGeneradorFacturaElectronica.Importe(176); //nuevo impuesto de tipo Traslado FIGeneradorFacturaElectronica.Traslado Traslado = new FIGeneradorFacturaElectronica.Traslado(); Traslado.impuesto = FIGeneradorFacturaElectronica.Traslado.TipoImpuesto.IVA; Traslado.tasa = new FIGeneradorFacturaElectronica.Importe(16); Traslado.importe = new FIGeneradorFacturaElectronica.Importe(176); //agregar el impuesto Comprobante.Impuestos.Traslados.Add(Traslado); //Nuevo impuesto tipo retencion FIGeneradorFacturaElectronica.Retencion Retencion = new FIGeneradorFacturaElectronica.Retencion(); Retencion.impuesto = FIGeneradorFacturaElectronica.Retencion.TipoImpuesto.IVA; Retencion.importe = new FIGeneradorFacturaElectronica.Importe(2317.44); //agregar retencion Comprobante.Impuestos.Retenciones.Add(Retencion); //invocamos a la muestra de como crear complemento de impuestos locales //AgregarComplementoImpuestosLocales(Comprobante); //Invocamos a la muestra de como crear complemento de donatarios //AgregarComplementoDonatarios(Comprobante); //nuevo objeto para la generacion del CFDI especificando el tipo FIGeneradorFacturaElectronica.Generador GenCFDI = new FIGeneradorFacturaElectronica.Generador(FIGeneradorFacturaElectronica.Generador.TipoFacturacion.CFDI); //Generar el nuevo comprobante y obtener el numero de errores List <cErrores> Errores = GenCFDI.NuevoComprobante(Comprobante); //si el listado de errores es mayor a 1 quiere decir que existen un error y no puede generarse el preCFDI if (Errores.Count == 0) { String PreCFDI = String.Empty; cErrores ErroresPreCFDI = null; //generar el preCFDI si es correcto se regresa true y puede ahora timbrase if (GenCFDI.GenerarPreCFDI(PosicionCertificado + ArchivoKey, PosicionCertificado + ArchivoCertificado, ContraseñaCertificado, out PreCFDI, out ErroresPreCFDI)) { //Timbrando preCFDI String CFDITimbrado = String.Empty; //Conexion para timbrado FIGeneradorFacturaElectronica.Timbre Timbrado = new FIGeneradorFacturaElectronica.Timbre(); //Si Timbrar devuelve true quiere decir que el timbre esta generado y podemos obtener las informacion del timbre de sus metodos if (Timbrado.Timbrar(CodigoUsuarioProveedor, CodigoUsuario, IdSucursal, PreCFDI, Comprobante.total.Valor.ToString(), out CFDITimbrado, cbQR.Checked)) { String XMLTimbre = Timbrado.XMLTimbre; //nuestro timbre generado txtResultado.Text = CFDITimbrado; //nuestro CFDI ya timbrado txtUUID.Text = Timbrado.UUID; if (cbQR.Checked) { pbQR.Image = Timbrado.QRImagen; //imagen QR } lstErrores.Items.Clear(); lstErrores.Items.Add("Sin errores"); } else { lstErrores.Items.Clear(); lstErrores.DataSource = Timbrado.Errores; lstErrores.ValueMember = "Error"; } } else { lstErrores.Items.Clear(); lstErrores.Items.Add(ErroresPreCFDI.Descripcion); } } else { lstErrores.Items.Clear(); lstErrores.DataSource = Errores; lstErrores.DisplayMember = "Descripcion"; } }
public Parte Obtener_ParteARJ(long posicion, ColorDepth tipo) { Parte parte = new Parte(); BinaryReader rdr = new BinaryReader(File.OpenRead(archivo)); rdr.BaseStream.Position = posicion; parte.offSet = (ulong)posicion; ushort width = rdr.ReadUInt16(); ushort height = rdr.ReadUInt16(); parte.posX = (ushort)rdr.ReadUInt16(); parte.posY = (ushort)rdr.ReadUInt16(); parte.width = (ushort)Math.Pow(2, 3 + rdr.ReadUInt16()); parte.height = (ushort)Math.Pow(2, 3 + rdr.ReadUInt16()); if (tipo == ColorDepth.Depth8Bit) { parte.length = (uint)parte.width * parte.height; parte.datos = rdr.ReadBytes((int)parte.length); } else { parte.length = (uint)(parte.width * parte.height) / 2; parte.datos = Ekona.Helper.BitsConverter.BytesToBit4(rdr.ReadBytes((int)parte.length)); } rdr.Close(); return parte; }
public void Atualizar(Parte parte) { throw new NotImplementedException(); }
private void btnTimbrar_Click(object sender, EventArgs e) { //crear un nuevo comprobante CFDI para la version 3.2 FIGeneradorFacturaElectronica.ComprobanteCFDI32 Comprobante=new ComprobanteCFDI32(); Comprobante.serie = "MER"; Comprobante.folio = "8223"; //dato no obligatorio Comprobante.fecha = System.DateTime.Now; Comprobante.formaDePago = "Pago en una sola exhibición"; Comprobante.subTotal = new FIGeneradorFacturaElectronica.Importe(1100); Comprobante.total = new FIGeneradorFacturaElectronica.Importe(1276); Comprobante.tipoDeComprobante = "ingreso"; Comprobante.Moneda = "MXN"; //Comprobante.TipoCambio = "1"; //utilizar en caso de moneda extranjera Comprobante.noCertificado = NoCertificado; // Campos nuevos en comprobante Comprobante.LugarExpedicion = "VERACRUZ"; Comprobante.NumCtaPago = "NO IDENTIFICADO"; Comprobante.metodoDePago = "NO IDENTIFICADO"; //Campo nuevo en Emisor Comprobante.Emisor.RegimenFiscal.Add("REGIMEN GENERAL DE LEY PERSONAS MORALES"); //Llenado de datos del emisor Comprobante.Emisor.rfc = RFC; Comprobante.Emisor.nombre = "Empresa de prueba"; Comprobante.Emisor.DomicilioFiscal.calle = "Av. Paseo de la Reforma"; Comprobante.Emisor.DomicilioFiscal.noExterior = "89"; Comprobante.Emisor.DomicilioFiscal.noInterior = "103"; Comprobante.Emisor.DomicilioFiscal.colonia = "Cuauhtemoc"; Comprobante.Emisor.DomicilioFiscal.localidad = "Ciudad de Mexico"; Comprobante.Emisor.DomicilioFiscal.municipio = "Cuauhtemoc"; Comprobante.Emisor.DomicilioFiscal.estado = "Distrito Federal"; Comprobante.Emisor.DomicilioFiscal.pais = "MEXICO"; Comprobante.Emisor.DomicilioFiscal.codigoPostal = "06500"; Comprobante.Emisor.ExpedidoEn.calle = "FRANCISCO PEREZ"; Comprobante.Emisor.ExpedidoEn.noExterior = "35"; Comprobante.Emisor.ExpedidoEn.noInterior = "1"; Comprobante.Emisor.ExpedidoEn.colonia = "RICARDO FLORES MAGON"; Comprobante.Emisor.ExpedidoEn.localidad = "VERACRUZ, VER."; Comprobante.Emisor.ExpedidoEn.municipio = "VERACRUZ"; Comprobante.Emisor.ExpedidoEn.estado = "Veracruz"; Comprobante.Emisor.ExpedidoEn.pais = "México"; Comprobante.Emisor.ExpedidoEn.codigoPostal = "91900"; //Llenado de datos del receptor Comprobante.Receptor.rfc = "FID080111867"; Comprobante.Receptor.nombre = "FREIGHTIDEAS S.A DE C.V."; Comprobante.Receptor.Domicilio.calle = "ARIZONA"; Comprobante.Receptor.Domicilio.noExterior = "108"; //Comprobante.Receptor.Domicilio.noInterior = "1"; Comprobante.Receptor.Domicilio.colonia = "COL. NAPOLES"; //Comprobante.Receptor.Domicilio.localidad = "TEOLOYUCAN"; Comprobante.Receptor.Domicilio.municipio = "Benito Juarez"; Comprobante.Receptor.Domicilio.estado = "Distrito Federal"; Comprobante.Receptor.Domicilio.pais = "MEXICO"; Comprobante.Receptor.Domicilio.codigoPostal = "03810"; //Crear un nuevo concepto FIGeneradorFacturaElectronica.Concepto Concepto1 = new FIGeneradorFacturaElectronica.Concepto(); Concepto1.cantidad = 1; Concepto1.descripcion = "Software"; Concepto1.valorUnitario = new FIGeneradorFacturaElectronica.Importe(1000); Concepto1.importe = new FIGeneradorFacturaElectronica.Importe(1000); //Concepto1.noIdentificacion = "PINO"; //nuevo en los conceptos Concepto1.unidad = "Pieza"; //ejemplo para agregar una cuenta predial al concepto //Concepto1.CuentaPredial="rur85859"; //ejemplo para agregarle informacion aduanera en el concepto FIGeneradorFacturaElectronica.t_InformacionAduanera informacionAduanera=new t_InformacionAduanera(); informacionAduanera.numero = "120"; informacionAduanera.fecha = System.DateTime.Now; informacionAduanera.numero = "234"; informacionAduanera.aduana = "AICM"; Parte parte=new Parte(); parte.InformacionAduanera.Add(informacionAduanera); parte.cantidad = 1; parte.descripcion = "Prueba"; Concepto1.Parte.Add(parte); //crear otro concepto FIGeneradorFacturaElectronica.Concepto Concepto2 = new FIGeneradorFacturaElectronica.Concepto(); Concepto2.cantidad=1; Concepto2.descripcion = "VALIDACION"; Concepto2.valorUnitario=new FIGeneradorFacturaElectronica.Importe(100); Concepto2.importe = new FIGeneradorFacturaElectronica.Importe(100); Concepto2.unidad = "No aplica"; //agregando complemento concepto al comprobante por order y cuenta de terceros AgregarComplementoterceros(Concepto2); //crear otro concepto FIGeneradorFacturaElectronica.Concepto Concepto3 = new FIGeneradorFacturaElectronica.Concepto(); Concepto3.cantidad = 1; Concepto3.descripcion = "Factura"; Concepto3.valorUnitario = new FIGeneradorFacturaElectronica.Importe(1.50); Concepto3.importe = new FIGeneradorFacturaElectronica.Importe(1.50); Concepto3.unidad = "Pieza"; //Invocamos a la muestra de como crear complemento iedu AgregarComplementoiedu(Concepto3); //Agregando los conceptos al comprobante Comprobante.Conceptos.Add(Concepto1); Comprobante.Conceptos.Add(Concepto2); Comprobante.Conceptos.Add(Concepto3); //totales de impuestos Comprobante.Impuestos.totalImpuestosRetenidos = new FIGeneradorFacturaElectronica.Importe(2317.44); Comprobante.Impuestos.totalImpuestosTrasladados = new FIGeneradorFacturaElectronica.Importe(176); //nuevo impuesto de tipo Traslado FIGeneradorFacturaElectronica.Traslado Traslado = new FIGeneradorFacturaElectronica.Traslado(); Traslado.impuesto = FIGeneradorFacturaElectronica.Traslado.TipoImpuesto.IVA; Traslado.tasa = new FIGeneradorFacturaElectronica.Importe(16); Traslado.importe = new FIGeneradorFacturaElectronica.Importe(176); //agregar el impuesto Comprobante.Impuestos.Traslados.Add(Traslado); //Nuevo impuesto tipo retencion FIGeneradorFacturaElectronica.Retencion Retencion = new FIGeneradorFacturaElectronica.Retencion(); Retencion.impuesto = FIGeneradorFacturaElectronica.Retencion.TipoImpuesto.IVA; Retencion.importe = new FIGeneradorFacturaElectronica.Importe(2317.44); //agregar retencion Comprobante.Impuestos.Retenciones.Add(Retencion); //invocamos a la muestra de como crear complemento de impuestos locales //AgregarComplementoImpuestosLocales(Comprobante); //Invocamos a la muestra de como crear complemento de donatarios //AgregarComplementoDonatarios(Comprobante); //nuevo objeto para la generacion del CFDI especificando el tipo FIGeneradorFacturaElectronica.Generador GenCFDI = new FIGeneradorFacturaElectronica.Generador(FIGeneradorFacturaElectronica.Generador.TipoFacturacion.CFDI); //Generar el nuevo comprobante y obtener el numero de errores List<String> Errores = GenCFDI.NuevoComprobante(Comprobante); //si el listado de errores es mayor a 1 quiere decir que existen un error y no puede generarse el preCFDI if(Errores.Count==0) { String PreCFDI=String.Empty; String ErroresPreCFDI = String.Empty; //generar el preCFDI si es correcto se regresa true y puede ahora timbrase if (GenCFDI.GenerarPreCFDI(PosicionCertificado + ArchivoKey, PosicionCertificado + ArchivoCertificado, ContraseñaCertificado,out PreCFDI,out ErroresPreCFDI)) { //Timbrando preCFDI String CFDITimbrado = String.Empty; //Conexion para timbrado FIGeneradorFacturaElectronica.Timbre Timbrado = new FIGeneradorFacturaElectronica.Timbre(); //Si Timbrar devuelve true quiere decir que el timbre esta generado y podemos obtener las informacion del timbre de sus metodos if (Timbrado.Timbrar(CodigoUsuarioProveedor, CodigoUsuario, IdSucursal, PreCFDI, Comprobante.total.Valor.ToString(), out CFDITimbrado,cbQR.Checked)) { String XMLTimbre = Timbrado.XMLTimbre; //nuestro timbre generado txtResultado.Text = CFDITimbrado; //nuestro CFDI ya timbrado txtUUID.Text = Timbrado.UUID; if (cbQR.Checked) pbQR.Image = Timbrado.QRImagen; //imagen QR lstErrores.Items.Clear(); lstErrores.Items.Add("Sin errores"); } else { lstErrores.Items.Clear(); lstErrores.DataSource = Timbrado.Errores; lstErrores.ValueMember = "Error"; } } else { lstErrores.Items.Clear(); lstErrores.Items.Add(ErroresPreCFDI); } } else { lstErrores.Items.Clear(); lstErrores.DataSource = Errores; } }
public ReportarParteFaltante(int iParteID) { InitializeComponent(); this.oParte = Datos.GetEntity <Parte>(q => q.ParteID == iParteID); }