Beispiel #1
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");
            }
        }
Beispiel #2
0
        /// <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();
            }
        }
        public void guardarModificar()
        {
            if (!String.IsNullOrEmpty(txtDescripcion.Text) && !String.IsNullOrEmpty(txtCpromedio.Text) && !String.IsNullOrEmpty(txtCCimpuesto.Text) && cbxInventariable.SelectedItem != null && !String.IsNullOrEmpty(txtUCosto.Text) && cbxGrupos.SelectedItem != null && cbxUmedida.SelectedItem != null)
            {
                SDK.tProduto cProducto = new SDK.tProduto();
                cProducto.cNombreProducto      = txtDescripcion.Text;
                cProducto.cCodigoProducto      = txtCodigoInsumo.Text;
                cProducto.cDescripcionProducto = txtDescripcion.Text;
                cProducto.cImpuesto1           = Double.Parse(txtIva.Text);
                cProducto.cTipoProducto        = 1;
                cProducto.cMetodoCosteo        = 1;
                String[] unidades = cbxUmedida.SelectedItem.ToString().Split('|');
                string   idUnidad = unidades[0].Trim();
                cProducto.cPrecio1 = Double.Parse(txtUCosto.Text);
                String[] clasificacion       = cbxValoresDeClasificaciones.SelectedItem.ToString().Split('|');
                string   codigoClasificacion = clasificacion[0].Trim();


                insumo_activo.codigoInsumo       = txtCodigoInsumo.Text;
                insumo_activo.descripcion        = txtDescripcion.Text;
                insumo_activo.costo_promedio     = float.Parse(txtCpromedio.Text);
                insumo_activo.costo_con_impuesto = float.Parse(txtCCimpuesto.Text);
                insumo_activo.inventariable      = cbxInventariable.SelectedItem.ToString();
                insumo_activo.IVA          = float.Parse(txtIva.Text);
                insumo_activo.maximo       = float.Parse(txtMaximo.Text);
                insumo_activo.minimo       = float.Parse(txtMinimo.Text);
                insumo_activo.ultimo_costo = float.Parse(txtUCosto.Text);
                insumo_activo.Grupo        = grupo.obtener(cbxGrupos.SelectedItem.ToString());
                insumo_activo.grupo_id     = insumo_activo.Grupo.id;
                string nameUnidad = unidades[1].Trim();
                insumo_activo.Unidad_Medida = unidad.obtener(nameUnidad);
                insumo_activo.unidad_id     = insumo_activo.Unidad_Medida.id;
                if (tblLista.CurrentItem == null)
                {
                    if (estado_de_insumo == "Nuevo")
                    {
                        Int32 aldProducto = 0;
                        int   error       = SDK.fAltaProducto(ref aldProducto, ref cProducto);
                        if (error == 0)
                        {
                            SDK.fBuscaProducto(cProducto.cCodigoProducto);
                            SDK.fEditaProducto();
                            SDK.fSetDatoProducto("CIDVALORCLASIFICACION1", codigoClasificacion);
                            SDK.fSetDatoProducto("CBANUNIDADES", idUnidad);
                            SDK.fSetDatoProducto("CIDUNIDADBASE", idUnidad);
                            SDK.fSetDatoProducto("CCONTROLEXISTENCIA", "1");
                            SDK.fGuardaProducto();
                            insumo_activo.registrar(insumo_activo);
                            llenarInsumos();
                            MessageBox.Show("EL INSUMO " + insumo_activo.descripcion + " SE REGISTRÓ CORRECTAMENTE \n ¡Puedes Agregar presentaciones a través de tu factura xml de compra! \n También puedes registrarlos manualmente en el módulo gestión de presentaciones");
                            this.Close();
                        }
                        else
                        {
                            SDK.rError(error);
                        }
                    }
                    else
                    {
                        GestionPresentaciones vista = new GestionPresentaciones();
                        vista.addInsumo(insumo_activo);
                        vista.Show();
                        this.Close();
                    }
                }
                else
                {
                    System.Data.DataRowView seleccion = (System.Data.DataRowView)tblLista.SelectedItem;
                    insumo_activo.id = Convert.ToInt32(seleccion.Row.ItemArray[0].ToString());
                    string codigoInsumo = txtCodigoInsumo.Text;
                    int    error        = SDK.fBuscaProducto(codigoInsumo);
                    SDK.fEditaProducto();
                    if (error == 0)
                    {
                        error = SDK.fSetDatoProducto("CNOMBREPRODUCTO", cProducto.cNombreProducto);
                        error = SDK.fSetDatoProducto("CCODIGOPRODUCTO", cProducto.cCodigoProducto);
                        error = SDK.fSetDatoProducto("CDESCRIPCIONPRODUCTO", cProducto.cNombreProducto);
                        error = SDK.fSetDatoProducto("CIMPUESTO1", Convert.ToString(cProducto.cImpuesto1));
                        error = SDK.fSetDatoProducto("CPRECIO1", Convert.ToString(cProducto.cPrecio1));
                        error = SDK.fSetDatoProducto("CIDVALORCLASIFICACION1", codigoClasificacion);
                        SDK.fSetDatoProducto("CBANUNIDADES", idUnidad);
                        SDK.fSetDatoProducto("CIDUNIDADBASE", idUnidad);
                        SDK.fSetDatoProducto("CCONTROLEXISTENCIA", "1");

                        error = SDK.fGuardaProducto();
                        if (error == 0)
                        {
                            insumo_activo.modificar(insumo_activo);
                            if (estado_de_insumo != "Nuevo")
                            {
                                GestionPresentaciones vista = new GestionPresentaciones();
                                vista.addInsumo(insumo_activo);
                                vista.Show();
                            }
                            if (exit == true)
                            {
                                this.Close();
                            }
                            else
                            {
                                llenarInsumos();
                                clearFields();
                            }
                        }
                        else
                        {
                            SDK.rError(error);
                        }
                    }
                    else
                    {
                        SDK.rError(error);
                    }
                }
            }
            else
            {
                if (!String.IsNullOrEmpty(txtDescripcion.Text) || !String.IsNullOrEmpty(txtUCosto.Text))
                {
                    MessageBox.Show("¡AVISO! \n > Falta Ingresar Algunos Campos Importantes \n    Es Necesario Ingresarlos");
                }
                else
                {
                    if (exit == true)
                    {
                        this.Close();
                    }
                    else
                    {
                        clearFields();
                    }
                }
            }
        }