예제 #1
0
        /// <summary>
        /// Додавання позицій в документ по коду одиниці
        /// </summary>
        /// <param name="WareCode"></param>
        /// <returns></returns>
        private WareDocumentDetail AddDocumenDetailByWareCode(string WareCode)
        {
            DocumentDetailsLogic details        = new DocumentDetailsLogic(manager);
            WareCodesLogic       wareCodesLogic = new WareCodesLogic(manager);
            WareDocumentDetail   result         = null;
            Ware ware = wareCodesLogic.GetWareByCode(WareCode);

            if (ware != null)
            {
                int     wareId                = ware.ID;
                decimal unitQuantity          = 1;
                decimal secondaryUnitQuantity = 0;
                decimal priceForUnit          = 0;
                decimal discountForUnit       = 0;
                decimal endSalePriceForUnit   = 0;
                decimal endPrice              = 0;

                int currencyId   = Convert.ToInt32(CurrencyLUE.EditValue);
                int priceGroupID = 1;

                WareDocumentDetail DocumentDetail = new WareDocumentDetail();
                //створюємо новий запис в деталізації документа і повертаємо його
                DocumentDetail = details.CreateWithNoSave(wareId, unitQuantity, secondaryUnitQuantity,
                                                          priceForUnit, discountForUnit, endSalePriceForUnit, endPrice, currencyId, priceGroupID);
                documentDetailsView.Add(DocumentDetail);
                result = DocumentDetail;
                FillDetails();
            }
            else
            {
                MessageBox.Show("Товар з даним кодом не знайдено");
            }
            return(result);
        }
예제 #2
0
 public DocumentDetailView(WareDocumentDetail DocumentDetail, ContextManager Manager)
 {
     detail  = DocumentDetail;
     manager = Manager;
     context = manager.Context;
     FillFields();
 }
예제 #3
0
        public void SaveDocumentWithDetails(WareDocument Document, List <WareDocumentDetail> Details, string Mode)
        {
            //System.Data.Objects.DataClasses.IEntityWithChangeTracker changeTracker0 = Document;
            //changeTracker0.SetChangeTracker(null);
            foreach (WareDocumentDetail detail in Details)
            {
                //придодаванні detail виникала помилка, яку не знав як швидко виправити
                //тому створюємо новий обєкт класу WareDocumentDetail

                WareDocumentDetail d = new WareDocumentDetail();
                d.CurrencyID            = Document.CurrencyID;
                d.DiscountForUnit       = detail.DiscountForUnit;
                d.EndPrice              = detail.EndPrice;
                d.EndPriceForUnit       = detail.EndPriceForUnit;
                d.PriceForUnit          = detail.PriceForUnit;
                d.SecondaryUnitQuantity = detail.SecondaryUnitQuantity;
                d.UnitQuantity          = detail.UnitQuantity;
                d.WareID = detail.WareID;



                Document.WareDocumentDetails.Add(d);
                context.AddToWareDocumentDetails(d);
            }

            if (Mode == "new")
            {
                if (Document.Number.Trim().Length == 0)
                {
                    Document.Number = Document.CreatedDate.ToString("yyyyMMddHHmmss");
                }
                context.AddToWareDocuments(Document);
            }
        }
예제 #4
0
        public DocumentDetailsDataSimple(string _mode, WareDocument document, List <WareDocumentDetail> documentDetails, WareDocumentDetail documentDetail)
        {
            InitializeComponent();
            manager       = new ContextManager();
            mode          = _mode;
            MessageL.Text = "Оберіть одиницю";

            Document        = document;
            DocumentDetails = documentDetails;
            DocumentDetail  = documentDetail;
            //categoriesUC1.Fill();
            //categoriesUC1.ExpandAll();
            wareSelectorUC1.Init("");

            ConfigurationParametersLogic config = new ConfigurationParametersLogic(manager);
            ConfigurationParameter       param0 = config.Get(ParametersLogic.Parameter.DOCUMENTDETAILS_SHOW_SECONDARY_UNIT.ToString());

            if (param0 != null)
            {
                SecondaryGroupGB.Visible = Helpers.ConfigDataTypeConverter.ConvertToBoolean(param0.Value);
            }

            ConfigurationParameter param1 = config.Get(ParametersLogic.Parameter.DOCUMENTDETAILS_SHOW_FONTSIZE.ToString());

            if (param1 != null)
            {
                float size = Helpers.ConfigDataTypeConverter.ConvertToFloat(param1.Value);
                wareSelectorUC1.FontSize = size;

                //this.Font = new Font(this.Font.Name, size);
            }

            ConfigurationParameter param2 = config.Get(ParametersLogic.Parameter.DOCUMENTDETAILS_SHOW_WARES_MINROWHEIGHT.ToString());

            if (param2 != null)
            {
                int size = Convert.ToInt32(param2.Value);
                wareSelectorUC1.MinRowHeight = size;
            }

            ConfigurationParameter param3 = config.Get(ParametersLogic.Parameter.DOCUMENTDETAILS_SHOW_WARES_VIEWMODE.ToString());

            if (param3 != null)
            {
                switch (param3.ToString().ToUpper())
                {
                case "TREEVIEW":
                {
                    wareSelectorUC1.CategoriesViewMode = UC.CategoriesUC.Mode.TreeView;
                    break;
                }

                case "BUTTON":
                {
                    wareSelectorUC1.CategoriesViewMode = UC.CategoriesUC.Mode.Button;
                    break;
                }
                }
            }
        }
예제 #5
0
        public DocumentDetailsData(string _mode, WareDocument document, List <WareDocumentDetail> documentDetails, WareDocumentDetail documentDetail)
        {
            InitializeComponent();
            manager       = new ContextManager();
            mode          = _mode;
            MessageL.Text = "";

            Document        = document;
            DocumentDetails = documentDetails;
            DocumentDetail  = documentDetail;

            FillWares();
            FillPriceGroups();
            FillCurrencies();
            Fill();
            if (mode == "edit")
            {
            }
        }
예제 #6
0
        private void DocumentData_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F12)
            {
                e.Handled     = true;
                startWareCode = true;
                endWareCode   = false;
                WareCodeTB.Focus();
                scanWareCode = "";
            }
            else
            {
                if ((e.KeyCode != Keys.Enter) & (startWareCode == true) & (endWareCode == false))
                {
                    e.Handled    = true;
                    scanWareCode = scanWareCode + (char)(e.KeyValue);
                }
            }
            if ((e.KeyCode == Keys.Enter) & (startWareCode == true) & (endWareCode == false))
            {
                e.Handled     = true;
                startWareCode = false;
                endWareCode   = false;
                //MessageBox.Show(scanWareCode);
                WareDocumentDetail detail = AddDocumenDetailByWareCode(scanWareCode);
                if (ExtendedNewDetailViewCB.Checked == true & detail != null)
                {
                    DocumentDetailsData form = new DocumentDetailsData("edit", document, documentDetailsView, detail);
                    form.ShowDialog();


                    FillDetails();
                }
            }

            if (e.KeyCode == Keys.F4)
            {
                //Нова НО
                AdminUI.Wares.Ware.WareData form = new Wares.Ware.WareData("new", null, null);
                form.ShowDialog();
            }
        }
예제 #7
0
        private void SaveBt_Click(object sender, EventArgs e)
        {
            DocumentDetailsLogic details = new DocumentDetailsLogic(manager);

            if (wareSelectorUC1.WareID != null)
            {
                int     wareId                = (int)(wareSelectorUC1.WareID);
                decimal unitQuantity          = Convert.ToDecimal(UnitQuantityNUD.Value);
                decimal secondaryUnitQuantity = Convert.ToDecimal(SecondaryUnitQuantityNUD.Value);
                decimal priceForUnit          = Convert.ToDecimal(UnitPriceNUD.Value);
                decimal discountForUnit       = Convert.ToDecimal(DiscountForUnitNUD.Value);
                decimal endSalePriceForUnit   = Convert.ToDecimal(priceForUnit - discountForUnit);
                decimal endPrice              = Convert.ToDecimal(endSalePriceForUnit * unitQuantity);
                int     currencyId            = Convert.ToInt32(Document.CurrencyID);



                //MessageBox.Show(wareId.ToString());
                if (mode == "new")
                {
                    //створюємо новий запис в деталізації документа і повертаємо його
                    DocumentDetail = details.CreateWithNoSave(wareId, unitQuantity, secondaryUnitQuantity,
                                                              priceForUnit, discountForUnit, endSalePriceForUnit, endPrice, currencyId, -1);
                    DocumentDetails.Add(DocumentDetail);
                }
                if (mode == "edit")
                {
                    //DocumentDetails.Remove(DocumentDetail);
                    DocumentDetail.UnitQuantity          = unitQuantity;
                    DocumentDetail.SecondaryUnitQuantity = secondaryUnitQuantity;
                    DocumentDetail.PriceForUnit          = priceForUnit;
                    DocumentDetail.DiscountForUnit       = discountForUnit;
                    DocumentDetail.EndPriceForUnit       = endSalePriceForUnit;
                    DocumentDetail.EndPrice   = endPrice;
                    DocumentDetail.CurrencyID = currencyId;

                    //DocumentDetails.Add(DocumentDetail);
                }
                //manager.Save();
                MessageL.Text = "Додано";
            }
        }
예제 #8
0
        private void SaveBt_Click(object sender, EventArgs e)
        {
            if (dxValidationProvider1.Validate() == true)
            {
                DocumentDetailsLogic details = new DocumentDetailsLogic(manager);
                int     wareId                = (int)(WareLUE.EditValue);
                decimal unitQuantity          = Convert.ToDecimal(UnitQuantityTB.Text);
                decimal secondaryUnitQuantity = Convert.ToDecimal(SecondaryUnitQuantityTB.Text);
                decimal priceForUnit          = Convert.ToDecimal(SalePriceForUnitTB.Text);
                decimal discountForUnit       = Convert.ToDecimal(DiscountForUnitTB.Text);
                decimal endSalePriceForUnit   = Convert.ToDecimal(EndSalePriceForUnitTB.Text);
                decimal endPrice              = Convert.ToDecimal(SalePriceTB.Text);
                int     currencyId            = Convert.ToInt32(CurrencyLUE.EditValue);
                int     priceGroupID          = Convert.ToInt32(PriceGroupsCBE.EditValue);

                //MessageBox.Show(wareId.ToString());
                if (mode == "new")
                {
                    //створюємо новий запис в деталізації документа і повертаємо його
                    DocumentDetail = details.CreateWithNoSave(wareId, unitQuantity, secondaryUnitQuantity,
                                                              priceForUnit, discountForUnit, endSalePriceForUnit, endPrice, currencyId, priceGroupID);
                    DocumentDetails.Add(DocumentDetail);
                }
                if (mode == "edit")
                {
                    //DocumentDetails.Remove(DocumentDetail);
                    DocumentDetail.UnitQuantity          = unitQuantity;
                    DocumentDetail.SecondaryUnitQuantity = secondaryUnitQuantity;
                    DocumentDetail.PriceForUnit          = priceForUnit;
                    DocumentDetail.DiscountForUnit       = discountForUnit;
                    DocumentDetail.EndPriceForUnit       = endSalePriceForUnit;
                    DocumentDetail.EndPrice   = endPrice;
                    DocumentDetail.CurrencyID = currencyId;

                    //DocumentDetails.Add(DocumentDetail);
                }
                //manager.Save();

                this.Close();
            }
        }
예제 #9
0
 public DocumentDetailView(WareDocumentDetail DocumentDetail)
 {
     detail = DocumentDetail;
     FillFields();
 }