/// <summary> /// Obtiene el insumo que fué seleccionado y obtener sus datos requeridos para la creación del movimiento. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cbxInsumo_SelectedIndexChanged(object sender, RoutedEventArgs e) { if (cbxInsumo.SelectedItem != null) { this.insumo = insumo.obtener(cbxInsumo.SelectedItem.ToString()); unidad = unidad.obtenerPorId(insumo.unidad_id); txtMedida.Text = unidad.nombre; } }
/// <summary> /// Obtiene todos los datos de Insumo de la tabla y atrapa los errores si es que existen, si todo sale bien manda llamar el método para registrar. /// </summary> public void obtenerConceptos() { int cont = 0; bool sucess = true; List <Presentacion> presentaciones = new List <Presentacion>(); foreach (DataRow item in dt.Rows) { Presentacion presentacion = new Presentacion(); Unidad_Medida unidad = new Unidad_Medida(); Categoria categoria = new Categoria(); Almacen almacen = new Almacen(); presentacion.codigo = item.ItemArray[13].ToString(); presentacion.Insumo = insumo.obtener(item.ItemArray[0].ToString()); presentacion.descripcion = item.ItemArray[1].ToString(); presentacion.Almacen = almacen.obtener(item.ItemArray[6].ToString()); presentacion.cantidad = Double.Parse(item.ItemArray[4].ToString()); presentacion.costo_con_impuesto = Double.Parse(item.ItemArray[9].ToString()); presentacion.costo_promedio = Double.Parse(item.ItemArray[8].ToString()); presentacion.costo_unitario = Double.Parse(item.ItemArray[3].ToString()); presentacion.IVA = Double.Parse(item.ItemArray[11].ToString()); presentacion.noIdentificacion = item.ItemArray[7].ToString(); presentacion.Proveedor = proveedor.obtenerPorRFC(txtRfcP.Text); presentacion.rendimiento = Double.Parse(item.ItemArray[10].ToString()); presentacion.ultimo_costo = Double.Parse(item.ItemArray[3].ToString()); presentacion.existencia = presentacion.rendimiento * presentacion.cantidad; if (presentacion.Almacen.id > 0 && presentacion.Insumo.id > 0 && presentacion.Proveedor.id > 0 && !String.IsNullOrEmpty(presentacion.descripcion) && presentacion.costo_unitario != null && presentacion.rendimiento != null) { presentaciones.Add(presentacion); cont++; } else { MessageBox.Show("Es Necesario que ingrese todos los capos solicitados en el insumo: \n" + insumo.descripcion); presentaciones.Clear(); sucess = false; return; } } if (sucess == true) { registrarPresentaciones(presentaciones); } }
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"); } }