Exemple #1
0
        private void gvLines_repositoryItems_EditValueChanged(object sender, EventArgs e)
        {
            gvLines.PostEditor();
            gvLines.UpdateCurrentRow();
            FicheLineView currenLine = gvLines.GetFocusedRow() as FicheLineView;

            CheckLine(currenLine);
        }
Exemple #2
0
        private void spinSrvLineQuantity_EditValueChanged(object sender, EventArgs e)
        {
            gvServicesOfLine.PostEditor();
            gvServicesOfLine.UpdateCurrentRow();
            FicheLineView currenLine = gvLines.GetFocusedRow() as FicheLineView;

            CheckLine(currenLine);
        }
Exemple #3
0
        private void rpLookupItem_EditValueChanged(object sender, EventArgs e)
        {
            gvLines.PostEditor();
            FicheLineView line = (FicheLineView)gvLines.GetFocusedRow();

            CheckLine(line, true);
            gvLines.RefreshData();
        }
Exemple #4
0
        private void gvLines_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
        {
            FicheLineView vw = gvLines.GetFocusedRow() as FicheLineView;

            if (vw == null)
            {
                gcServicesOfLine.DataSource = null;
                return;
            }
            gcServicesOfLine.DataSource = vw.LineServices;
        }
Exemple #5
0
        void CheckLine(FicheLineView line, bool updateLinePrice = false)
        {
            if (line == null)
            {
                return;
            }
            if (line.ItemId == 0)
            {
                return;
            }
            ItemView item = dataHolder.Items.Where(x => x.Id == line.ItemId).FirstOrDefault();

            if (item == null)
            {
                return;
            }
            line.ItemCode     = item.ItemCode;
            line.ItemTypeId   = item.ItemTypeId;
            line.ItemTypeName = item.ItemTypeName;
            line.ItemName     = item.ItemName;
            Calculation calculation = new Calculation();

            if (isNew)
            {
                line.ItemPrice = calculation.GetItemDefaultPriceByDocumentType(item, DocumentType);
            }
            if (isNew && updateLinePrice)
            {
                line.LinePrice = calculation.CalculateLinePrice(item, DocumentType, itemPrices);
            }
            line.LineTotal    = calculation.CalculateLineTotal(item.LineCalcTypeId, line.ItemPrice, line.Quantity, line.Width, line.Length);
            line.LineNetTotal = calculation.CalculateLineTotal(item.LineCalcTypeId, line.LinePrice, line.Quantity, line.Width, line.Length);
            foreach (var srvLine in line.LineServices)
            {
                ItemView srvItem = dataHolder.Items.Where(x => x.Id == srvLine.ServiceItemId).FirstOrDefault();
                if (isNew)
                {
                    srvLine.ItemPrice = calculation.GetItemDefaultPriceByDocumentType(srvItem, DocumentType);
                }
                if (isNew && updateLinePrice)
                {
                    srvLine.LinePrice = calculation.CalculateLinePrice(srvItem, DocumentType, itemPrices);
                }
                srvLine.LineTotal = calculation.CalculateLineTotal(srvItem.LineCalcTypeId, srvLine.ItemPrice, srvLine.Quantity, line.Width, line.Length);
                srvLine.LineNet   = calculation.CalculateLineTotal(srvItem.LineCalcTypeId, srvLine.LinePrice, srvLine.Quantity, line.Width, line.Length);
            }
            //line.
            gvLines.RefreshData();
            //gcServicesOfLine.DataSource = null;
            gcServicesOfLine.DataSource = line.LineServices;
            gcServicesOfLine.RefreshDataSource();
        }
Exemple #6
0
        private void Manp_FichesNew_KeyUp(object sender, KeyEventArgs e)
        {
            FicheLineView currenLine = gvLines.GetFocusedRow() as FicheLineView;

            // CheckLine(currenLine);
            // gvLines.RefreshData();

            if (e.KeyValue == 107 || e.KeyValue == 187)
            {
                FicheLineView newLine = new FicheLineView();

                if (currenLine != null)
                {
                    if (chkStoreItem.Checked)
                    {
                        newLine.ItemId = currenLine.ItemId;
                    }
                    if (chkStoreQuantity.Checked)
                    {
                        newLine.Quantity = currenLine.Quantity;
                    }
                    if (chkStoreSizes.Checked)
                    {
                        newLine.Width  = currenLine.Width;
                        newLine.Length = currenLine.Length;
                    }
                    if (chkStoreLinePrice.Checked)
                    {
                        newLine.LinePrice = currenLine.LinePrice;
                    }
                }
                newLine.LineServices = new List <FicheLineServiceView>();
                foreach (var srvItem in dataHolder.Items.Where(x => x.IsLineService))
                {
                    FicheLineServiceView lineServiceView = new FicheLineServiceView();
                    lineServiceView.ItemCode      = srvItem.ItemCode;
                    lineServiceView.ItemName      = srvItem.ItemName;
                    lineServiceView.ServiceItemId = srvItem.Id;
                    //lineServiceView. = srvItem.ItemName;
                    newLine.LineServices.Add(lineServiceView);
                }
                CheckLine(newLine, !chkStoreLinePrice.Checked);
                Fiche.Lines.Add(newLine);
                gcLines.RefreshDataSource();
                gvLines.MoveLast();

                //gcLines.EmbeddedNavigator.Buttons.Append
                //gvLines.AddNewRow();
            }
            if (e.KeyCode == Keys.Delete)
            {
                if (gvLines.GetFocusedRow() == null)
                {
                    return;
                }
                DialogResult del = XtraMessageBox.Show("Silmək istədiyinizdən əminsinizmi?", "Sətir silinməsi", MessageBoxButtons.YesNo);
                if (del == DialogResult.Yes)
                {
                    FicheLineView currentLine = gvLines.GetFocusedRow() as FicheLineView;
                    Fiche.Lines.Remove(currentLine);
                }
                foreach (var line in Fiche.Lines)
                {
                    line.LineNumber = Fiche.Lines.IndexOf(line) + 1;
                }
                Fiche.Lines = Fiche.Lines.OrderBy(x => x.LineNumber).ToList();
                RefreshLines();
            }
            if (e.KeyCode == Keys.Tab)
            {
                gvLines.PostEditor(); gvLines.UpdateCurrentRow();
            }
        }