Ejemplo n.º 1
0
        public override bool  RecalcPrice(int parCodeReceipt = 0)
        {
            ParametersCollection varParameters = new ParametersCollection();;

            varParameters.Add("parIdWorkplace", GlobalVar.varIdWorkPlace, DbType.Int32);
            varParameters.Add("parCodePeriod", Global.GetCodePeriod(), DbType.Int32);
            varParameters.Add("parDefaultCodeDealer", GlobalVar.varDefaultCodeDealer[0], DbType.Int32);
            varParameters.Add("parCodeReceipt", parCodeReceipt, DbType.Int32);

            DataTable varDT = this.db.Execute(this.varSqlListPS, varParameters);

            for (int i = 0; i < varDT.Rows.Count; i++)
            {
                //wr.code_wares,  wr.code_unit, w.vat, w.vat_operation, ps.code_ps, ps.priority, psd.type_discount, psd.data, pd.price_dealer, pdd.price_dealer default_price_dealer,
                int varCodeWares = Convert.ToInt32(varDT.Rows[i]["code_wares"]);
                int varCodeUnit  = Convert.ToInt32(varDT.Rows[i]["code_unit"]);
                int varCodePS    = Convert.ToInt32(varDT.Rows[i]["code_ps"]);

                varParameters.Clear();
                varParameters.Add("parIdWorkplace", GlobalVar.varIdWorkPlace, DbType.Int32);
                varParameters.Add("parCodePeriod", Global.GetCodePeriod(), DbType.Int32);
                varParameters.Add("parCodeReceipt", parCodeReceipt, DbType.Int32);
                varParameters.Add("parCodeWares", varCodeWares, DbType.Int32);
                varParameters.Add("parCodeUnit", varCodeUnit, DbType.Int32);
                varParameters.Add("parCodePS", varCodePS, DbType.Int32);
                //varParameters.Add("parTypeDiscount",varTypeDiscount,DbType.Int32);

                varWares.SetWares(varDT.Rows[i]);
                varParameters.Add("parVatOperation", varWares.varTypeVat, DbType.Int32);
                varParameters.Add("parSum", (varWares.varPrice * varWares.varQuantity) * (1 + varWares.varPercentVat) * varWares.varCoefficient, DbType.Decimal);
                varParameters.Add("parSumVat", varWares.varPrice * varWares.varQuantity * varWares.varPercentVat * varWares.varCoefficient, DbType.Decimal);

                this.db.ExecuteNonQuery(this.varSqlUpdatePrice, varParameters);
                RecalcHeadReceipt(varParameters);
            }

            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Власне шукає товар/клієнта.
        /// </summary>
        /// <param name="parStr"></param>
        void FindData(string parStr)
        {
            int varTypeFind = varWDB.FindData(parStr);

            Global.Log(CodeLog.Find, varTypeFind, 0, parStr);
            switch (varTypeFind)
            {
            case 0:                     //нічого не знайшли
                Message("Нічого не знайшли!!!");
                Clear();
                break;

            case 1:                     //Товар

                ParametersCollection varParameters = new ParametersCollection();
                varParameters.Add("parDiscount", varClient.varDiscount, DbType.Int32);
                varDtWares = varWDB.FindWares(varParameters);
                int varChoiceRow;
                if (varDtWares.Rows.Count == 1)
                {
                    varChoiceRow = 0;
                }
                else
                {
                    varChoiceRow = ChoiceWares(varDtWares);
                }
                if (varChoiceRow >= 0)
                {
                    varWares.SetWares(varDtWares.Rows[varChoiceRow]);
                    NameWares.Text = varWares.varNameWares;
                    //double varPriceDealer= Convert.ToDouble( varDtWares.Rows[varChoiceRow]["price_dealer"]);
                    if (varWares.varPrice > 0)
                    {
                        if (varClient.varDiscount != 0)
                        {
                            GetPrice();
                        }
                        else
                        {
                            varWares.varTypePrice = 1;
                        }

                        varReceipt.varSort++;
                        if (varWares.varCodeUnit == 0)
                        {
                            varDtUnit = varWDB.UnitWares(varWares.varCodeWares);
                            //DataView dv = new DataView(varDtUnit);
                            NameUnit.DataSource    = varDtUnit;
                            NameUnit.DisplayMember = "abr_unit";
                            NameUnit.ValueMember   = "code_unit";
                            NameUnit.SelectedIndex = Global.GetIndexDefaultUnit(varDtUnit);
                            //NameUnit.DataBind();
                        }
                        else                                   // Одиниця виміру опреділена
                        {
                            if (varDtUnit == null)
                            {
                                varDtUnit = varWDB.UnitWares(123);
                            }
                            varDtUnit.Clear();
                            varDtUnit.Rows.Add(new Object[] { varWares.varCodeUnit, varWares.varAbrUnit, varWares.varCoefficient, "Y" });
                        }


                        NameUnit.Enabled = (varDtUnit.Rows.Count > 1);

                        NameUnit.Refresh();
                        NameUnitSelectedIndexChanged(null, null);



                        if (Global.IsUnitMustInputQuantity(varWares.varCodeUnit))
                        {
                            Quantity.DecimalPlaces = 3;
                            Quantity.Value         = 0;
                            Quantity.Enabled       = true;
                            Quantity.Focus();
                        }
                        else
                        {
                            Quantity.DecimalPlaces = 1;
                            Quantity.Value         = 1;
                            Quantity.Enabled       = false;                            //необхідно обробляти налаштування.
                            this.AddWaresReceipt();
                        }

                        //this.AddWares();
                    }
                    else                                    //Незадано продажної ціни
                    {
                        Message("Не задана продажна ціна"); //
                        Clear();
                    }
                }
                ;

                break;

            case 2:                     //Клієнт
                SetClient(varWDB.FindClient().Rows[0]);
                break;
            }
            Input.Text = "";
        }