Пример #1
0
 /// <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;
     }
 }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        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");
            }
        }