/// <summary> /// Manda llamar los modelos correspondientes para guardar en la base de datos. /// </summary> /// <param name="presentaciones">Lista de Insumo.</param> public void registrarPresentaciones(List <Presentacion> presentaciones) { int error = 0; double folio = 0; StringBuilder serie = new StringBuilder(12); factura.registrar(factura); SDK.fSiguienteFolio("21", serie, ref folio); foreach (var presentacion in presentaciones) { if (presentacion.verificarRegistro(presentacion) == false) { presentacion.Factura = factura; //registro de presentacion a contpaq SDK.tProduto cProducto = new SDK.tProduto(); cProducto.cCodigoProducto = presentacion.codigo; cProducto.cNombreProducto = presentacion.descripcion; cProducto.cDescripcionProducto = presentacion.descripcion; String[] clasificacion = cbxValoresDeClasificaciones.SelectedItem.ToString().Split('|'); string codigoClasificacion = clasificacion[0].Trim(); string ultimo_costo = presentacion.ultimo_costo.ToString(); cProducto.cPrecio1 = Double.Parse(ultimo_costo); cProducto.cImpuesto1 = Double.Parse(Convert.ToString(presentacion.IVA)); cProducto.cTipoProducto = 1; cProducto.cMetodoCosteo = 1; int unidadid = presentacion.Insumo.unidad_id; Int32 aldProducto = 0; error = SDK.fAltaProducto(ref aldProducto, ref cProducto); if (error == 0) { SDK.fEditaProducto(); SDK.fSetDatoProducto("CBANUNIDADES", unidadid.ToString()); SDK.fSetDatoProducto("CIDUNIDADBASE", unidadid.ToString()); SDK.fSetDatoProducto("CCONTROLEXISTENCIA", "1"); SDK.fSetDatoProducto("CIDVALORCLASIFICACION1", codigoClasificacion); SDK.fGuardaProducto(); presentacion.registrar(presentacion); } else { SDK.rError(error); return; } } } SDK.tDocumento lDocto = new SDK.tDocumento(); lDocto.aCodConcepto = "21"; lDocto.aCodigoAgente = "(Ninguno)"; lDocto.aNumMoneda = 1; lDocto.aTipoCambio = 1; lDocto.aImporte = 0; lDocto.aDescuentoDoc1 = 0; lDocto.aDescuentoDoc2 = 0; lDocto.aAfecta = 0; lDocto.aSistemaOrigen = 205; lDocto.aCodigoCteProv = txtcodigoProveedor.Text; lDocto.aFolio = folio; lDocto.aSistemaOrigen = 205; lDocto.aSerie = factura.folio; lDocto.aGasto1 = 0; lDocto.aGasto2 = 0; lDocto.aGasto3 = 0; lDocto.aFecha = DateTime.Today.ToString("MM/dd/yyyy"); int lError = 0; Int32 lIdDocumento = 0; lError = SDK.fAltaDocumento(ref lIdDocumento, ref lDocto); if (lError != 0) { SDK.rError(lError); return; } foreach (var presentacion in presentaciones) { SDK.tMovimiento ltMovimiento = new SDK.tMovimiento(); int lIdMovimiento = 0; SDK.fBuscaAlmacen(presentacion.Almacen.codigo); StringBuilder codigo = new StringBuilder(20); SDK.fLeeDatoAlmacen("CCODIGOALMACEN", codigo, 20); ltMovimiento.aCodAlmacen = codigo.ToString(); ltMovimiento.aConsecutivo = 1; ltMovimiento.aCodProdSer = presentacion.codigo; ltMovimiento.aUnidades = Double.Parse(Convert.ToString(presentacion.cantidad)); ltMovimiento.aCosto = Double.Parse(Convert.ToString(presentacion.costo_unitario)); ltMovimiento.aPrecio = Double.Parse(Convert.ToString(presentacion.costo_unitario)); lError = 0; lError = SDK.fAltaMovimiento(lIdDocumento, ref lIdMovimiento, ref ltMovimiento); if (lError != 0) { SDK.rError(lError); return; } else { //entrada almacen shark EntradaPresentacion entrada = new EntradaPresentacion(); DateTime thisDay = DateTime.Today; entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString()); Presentacion presentacionR = presentacion.obtener(presentacion); entrada.Presentacion = presentacionR; entrada.Almacen = almacen.obtener(presentacion.Almacen.nombre); entrada.cantidad = presentacion.cantidad; entrada.registrar(entrada); } } if (lError == 0) { System.Windows.Forms.MessageBox.Show("SE REGISTRARON TODOS LOS DATOS CORRECTAMENTE", "Aviso Shark"); } if (CerrarNuevo == 1) { this.Close(); } else { clearFields(); } }
private void btnguardarMovimiento_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e) { if (cbxMovimiento.SelectedItem != null) { Tipo_movimiento tipo = new Tipo_movimiento(); Presentacion presentacion = new Presentacion(); Salida_almacen salida = new Salida_almacen(); Insumo _insumo = insumo.obtener(cbxInsumo.SelectedItem.ToString()); double totalExistencia = 0; double folio = 0; StringBuilder serie = new StringBuilder(12); salida.cantidad = Double.Parse(txtCantidad.Text); salida.Insumo = _insumo; salida.Tipo_movimiento = tipo.obtener(cbxMovimiento.SelectedItem.ToString()); salida.descripcion = txtDescripcion.Text; if (cbxAlamcenAfectado.SelectedItem != null) { salida.Almacen = almacen.obtener(cbxAlamcenAfectado.SelectedItem.ToString()); } else if (cbxAOrigen.SelectedItem != null) { salida.Almacen = almacen.obtener(cbxAOrigen.SelectedItem.ToString()); } List <Presentacion> presentaciones = presentacion.obtenerPorInsumoAlmacen(salida.Insumo.id, salida.Almacen.id); foreach (var item in presentaciones) { totalExistencia += Double.Parse(Convert.ToString(item.existencia)); } if (cbxMovimiento.SelectedItem.ToString() == "SALIDA") { //sdk SDK.fSiguienteFolio("35", serie, ref folio); Int32 lIdDocumento = crearDocumento("35", folio); if (cbxAlamcenAfectado.SelectedItem != null && cbxInsumo.SelectedItem != null && !String.IsNullOrEmpty(txtCantidad.Text) && !String.IsNullOrEmpty(txtDescripcion.Text)) { //proceso para una salida de almacen salidaAlmacen(totalExistencia, presentaciones, lIdDocumento, salida, salida.Almacen.codigo); } clearFields(); } else { SDK.fSiguienteFolio("35", serie, ref folio); if (cbxPresentaciones.SelectedItem != null && cbxInsumo.SelectedItem != null && cbxAOrigen.SelectedItem != null) { if (totalExistencia >= Convert.ToDouble(txtCantidad.Text)) { salida.descripcion = tipo.nombre; Int32 lIdDocumentoSalida = crearDocumento("35", folio); salidaAlmacen(totalExistencia, presentaciones, lIdDocumentoSalida, salida, salida.Almacen.codigo); if (salida.id > 0) { SDK.fSiguienteFolio("34", serie, ref folio); EntradaPresentacion entrada = new EntradaPresentacion(); DateTime thisDay = DateTime.Today; entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString()); entrada.Presentacion = presentacion.get(cbxPresentaciones.SelectedItem.ToString()); entrada.Almacen = almacen.obtener(cbxADestino.SelectedItem.ToString()); entrada.cantidad = Double.Parse(txtCantidad.Text); Int32 lIdDocumentoEntrada = crearDocumento("34", folio); if (movimientoAlmacen(entrada.Presentacion, lIdDocumentoEntrada, Double.Parse(txtCantidad.Text), entrada.Almacen.codigo) == true) { entrada.registrar(entrada); MessageBox.Show("SE TRASPASÓ: " + txtCantidad.Text + " " + unidad.nombre + "\nDEL INSUMO: " + _insumo.descripcion + "\nDEL ALMACÉN: " + cbxAOrigen.SelectedItem.ToString() + "\nAL ALMACÉN: " + cbxADestino.SelectedItem.ToString()); clearFields(); } } } else { MessageBox.Show("LA CANTIDAD QUE DESEA MARCAR COMO SALIDA ES MAYOR AL NÚMERO DE EXISTENCIA EN SU ALMACÉN"); } } } } else { MessageBox.Show("Es Necesario especificar el tipo de movimiento que desea hacer"); } }
private void addPresentacion_Click(object sender, RoutedEventArgs e) { Boolean maximo = verificaMaximos(); if (!String.IsNullOrEmpty(txtCodigoPr.Text) && !String.IsNullOrEmpty(txtDescripcion.Text) && cbxInsumoBase.SelectedItem != null && cbxProveedor.SelectedItem != null && cbxAlmacen.SelectedItem != null && !String.IsNullOrEmpty(txtCPromedio.Text) && !String.IsNullOrEmpty(txtCCImpuesto.Text) && !String.IsNullOrEmpty(txtUcosto.Text) && !String.IsNullOrEmpty(txtRendimiento.Text) && !String.IsNullOrEmpty(txtCantidad.Text)) { if (maximo == false) { Presentacion presentacion = new Presentacion(); presentacion.codigo = txtCodigoPr.Text; presentacion.cantidad = Double.Parse(txtCantidad.Text); presentacion.costo_con_impuesto = Double.Parse(txtCCImpuesto.Text); presentacion.costo_promedio = Double.Parse(txtCPromedio.Text); presentacion.ultimo_costo = Double.Parse(txtUcosto.Text); presentacion.rendimiento = Double.Parse(txtRendimiento.Text); presentacion.IVA = Double.Parse(txtIVA.Text); presentacion.costo_unitario = Double.Parse(txtUcosto.Text); presentacion.descripcion = txtDescripcion.Text; presentacion.Insumo = insumo.obtener(cbxInsumoBase.SelectedItem.ToString()); presentacion.Almacen = almacen.obtener(cbxAlmacen.SelectedItem.ToString()); presentacion.Proveedor = proveedor.obtener(cbxProveedor.SelectedItem.ToString()); presentacion.existencia = presentacion.rendimiento * presentacion.cantidad; SDK.tProduto cProducto = new SDK.tProduto(); cProducto.cCodigoProducto = txtCodigoPr.Text; cProducto.cNombreProducto = txtDescripcion.Text; cProducto.cDescripcionProducto = txtDescripcion.Text; String[] clasificacion = cbxValoresDeClasificaciones.SelectedItem.ToString().Split('|'); string codigoClasificacion = clasificacion[0].Trim(); cProducto.cPrecio1 = Double.Parse(txtUcosto.Text); cProducto.cImpuesto1 = Double.Parse(txtIVA.Text); cProducto.cTipoProducto = 1; cProducto.cMetodoCosteo = 1; int unidad = presentacion.Insumo.unidad_id; Int32 aldProducto = 0; int error = SDK.fAltaProducto(ref aldProducto, ref cProducto); if (error == 0) { SDK.fEditaProducto(); SDK.fSetDatoProducto("CBANUNIDADES", unidad.ToString()); SDK.fSetDatoProducto("CIDUNIDADBASE", unidad.ToString()); SDK.fSetDatoProducto("CCONTROLEXISTENCIA", "1"); SDK.fSetDatoProducto("CIDVALORCLASIFICACION1", codigoClasificacion); SDK.fGuardaProducto(); presentacion.registrar(presentacion); } else { SDK.rError(error); } if (Convert.ToDouble(txtCantidad.Text) > 0) { error = 0; double folio = 0; StringBuilder serie = new StringBuilder(12); SDK.fSiguienteFolio("21", serie, ref folio); if (presentacion.verificarRegistro(presentacion) == false) { SDK.tDocumento lDocto = new SDK.tDocumento(); lDocto.aCodConcepto = "21"; lDocto.aCodigoAgente = "(Ninguno)"; lDocto.aNumMoneda = 1; lDocto.aTipoCambio = 1; lDocto.aImporte = 0; lDocto.aDescuentoDoc1 = 0; lDocto.aDescuentoDoc2 = 0; lDocto.aAfecta = 0; lDocto.aSistemaOrigen = 205; Proveedor pro = proveedor.obtener(cbxProveedor.SelectedItem.ToString()); lDocto.aCodigoCteProv = pro.codigo; lDocto.aFolio = folio; lDocto.aSistemaOrigen = 205; lDocto.aSerie = ""; lDocto.aGasto1 = 0; lDocto.aGasto2 = 0; lDocto.aGasto3 = 0; lDocto.aFecha = DateTime.Today.ToString("MM/dd/yyyy"); int lError = 0; Int32 lIdDocumento = 0; lError = SDK.fAltaDocumento(ref lIdDocumento, ref lDocto); if (lError != 0) { SDK.rError(lError); return; } SDK.tMovimiento ltMovimiento = new SDK.tMovimiento(); int lIdMovimiento = 0; SDK.fBuscaAlmacen(presentacion.Almacen.codigo); StringBuilder codigo = new StringBuilder(20); SDK.fLeeDatoAlmacen("CCODIGOALMACEN", codigo, 20); ltMovimiento.aCodAlmacen = codigo.ToString(); ltMovimiento.aConsecutivo = 1; ltMovimiento.aCodProdSer = presentacion.codigo; ltMovimiento.aUnidades = Double.Parse(Convert.ToString(presentacion.cantidad)); ltMovimiento.aCosto = Double.Parse(Convert.ToString(presentacion.costo_unitario)); ltMovimiento.aPrecio = Double.Parse(Convert.ToString(presentacion.costo_unitario)); lError = 0; lError = SDK.fAltaMovimiento(lIdDocumento, ref lIdMovimiento, ref ltMovimiento); if (lError != 0) { SDK.rError(lError); return; } else { //entrada almacen shark EntradaPresentacion entrada = new EntradaPresentacion(); DateTime thisDay = DateTime.Today; entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString()); Presentacion presentacionR = presentacion.obtener(presentacion); entrada.Presentacion = presentacionR; entrada.Almacen = almacen.obtener(presentacion.Almacen.nombre); entrada.cantidad = presentacion.cantidad; entrada.registrar(entrada); } } hasChanged = "Yes"; clearFields(); llenarPresentaciones(); //dtPLista.Rows.Add(presentacion.id, presentacion.descripcion, presentacion.rendimiento, this.presentacionIns.Insumo.Unidad_Medida.nombre, presentacion.Proveedor.nombre, presentacion.codigo); } } } else { MessageBox.Show("¡AVISO! \n > Falta Ingresar Algunos Campos Importantes \n Es Necesario Ingresarlos"); } }
private void save() { if (cbxPresentaciones.SelectedItem != null && cbxAlmacenes.SelectedItem != null && !String.IsNullOrEmpty(txtCantidad.Text)) { double folio = 0; StringBuilder serie = new StringBuilder(12); SDK.fSiguienteFolio("21", serie, ref folio); SDK.tDocumento lDocto = new SDK.tDocumento(); lDocto.aCodConcepto = "21"; lDocto.aCodigoAgente = "(Ninguno)"; lDocto.aNumMoneda = 1; lDocto.aTipoCambio = 1; //obtiene el codigo del proveedor Presentacion pre = presentacion.get(cbxPresentaciones.SelectedItem.ToString()); Proveedor pro = proveedor.obtenerPorID(pre.proveedor_id); lDocto.aCodigoCteProv = pro.codigo; lDocto.aImporte = 0; lDocto.aDescuentoDoc1 = 0; lDocto.aDescuentoDoc2 = 0; lDocto.aAfecta = 0; lDocto.aSistemaOrigen = 205; lDocto.aFolio = folio; lDocto.aSistemaOrigen = 205; lDocto.aSerie = ""; lDocto.aGasto1 = 0; lDocto.aGasto2 = 0; lDocto.aGasto3 = 0; lDocto.aFecha = DateTime.Today.ToString("MM/dd/yyyy"); int lError = 0; Int32 lIdDocumento = 0; lError = SDK.fAltaDocumento(ref lIdDocumento, ref lDocto); if (lError != 0) { SDK.rError(lError); clearFields(); return; } SDK.tMovimiento ltMovimiento = new SDK.tMovimiento(); int lIdMovimiento = 0; pre.Almacen = almacen.obtener(cbxAlmacenes.SelectedItem.ToString()); ltMovimiento.aCodAlmacen = pre.Almacen.codigo; ltMovimiento.aConsecutivo = 1; ltMovimiento.aCodProdSer = pre.codigo; ltMovimiento.aUnidades = Double.Parse(txtCantidad.Text); ltMovimiento.aCosto = Double.Parse(Convert.ToString(pre.costo_unitario)); ltMovimiento.aPrecio = Double.Parse(Convert.ToString(pre.costo_unitario)); lError = 0; lError = SDK.fAltaMovimiento(lIdDocumento, ref lIdMovimiento, ref ltMovimiento); if (lError != 0) { SDK.rError(lError); clearFields(); return; } else { //entrada almacen shark EntradaPresentacion entrada = new EntradaPresentacion(); DateTime thisDay = DateTime.Today; entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString()); entrada.Presentacion = presentacion.get(cbxPresentaciones.SelectedItem.ToString()); entrada.Almacen = almacen.obtener(cbxAlmacenes.SelectedItem.ToString()); entrada.cantidad = Convert.ToDouble(txtCantidad.Text); entrada.registrar(entrada); presentacion.sumarEntrada(entrada.Presentacion.id, Convert.ToDouble(entrada.cantidad)); MessageBoxResult dialogResult = MessageBox.Show("Se registró con exito la entrada de almacén, ¿Desea obtener el código de barras para monitorear dicha entrada?", "Confirmación", MessageBoxButton.YesNo); if (dialogResult == MessageBoxResult.Yes) { ReportsView.BarcodeView vista = new ReportsView.BarcodeView(); vista.loadReport(entrada.id); vista.Show(); } clearFields(); } if (CerrarNuevo == 1) { this.Close(); } } }