Пример #1
0
        public BizPosition[] GetNotSoldNotReturnedPositions(Guid supplierId)
        {
            var _result = new List <BizPosition>();

            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _rows = GParams.Instance.PositionsTable.SelectBySupplierId(supplierId);

                    for (var _i = 0; _i < _rows.Length; _i++)
                    {
                        var _orgPositionRow = _rows[_i];
                        var _orgPosition    = BizPosition.ConvertFromDataRow(_orgPositionRow);
                        if (_orgPosition != null)
                        {
                            if (!_orgPosition.SoldAt.HasValue && !_orgPosition.ReturnedToSupplierAt.HasValue)
                            {
                                _result.Add(_orgPosition);
                            }
                        }
                    }
                }
                catch
                {
                    // ignored
                }
            }

            return(_result.Count > 0 ? _result.ToArray() : null);
        }
Пример #2
0
        public bool PositionCreate(BizPosition supplierPosition)
        {
            var _result = true;

            //Check for Min
            if (!supplierPosition.CheckForMin())
            {
                throw new Exception("min Informations not Filled");
            }

            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _newRow = GParams.Instance.PositionsTable.NewRow();

                    supplierPosition.LastChange = DateTime.Now;

                    supplierPosition.ConvertToDataRow(ref _newRow);

                    GParams.Instance.PositionsTable.Rows.Add(_newRow);
                    GParams.Instance.PositionsTable.SaveDataTable(GParams.Instance.ApplicationDataPath);
                }
                catch (Exception)
                {
                    _result = false;
                }
            }

            return(_result);
        }
Пример #3
0
        private BizPosition ConvertFromDataRow(DataRow row)
        {
            BizPosition _result = null;

            if (row != null)
            {
                _result = new BizPosition();

                try
                {
                    _result.SupplierId = GParams.ToString(row["SupplierId"]);

                    _result.PositionNo          = GParams.ToInt32(row["PositionNo"]).Value;
                    _result.PositionNoSpecified = true;

                    _result.Material     = GParams.ToString(row["Material"]);
                    _result.Category     = GParams.ToString(row["Category"]);
                    _result.Manufacturer = GParams.ToString(row["Manufacturer"]);

                    _result.PriceMin          = GParams.ToDouble(row["PriceMin"]);
                    _result.PriceMinSpecified = true;
                    _result.PriceMax          = GParams.ToDouble(row["PriceMax"]).Value;
                    _result.PriceMaxSpecified = true;

                    _result.Memo = GParams.ToString(row["Memo"]);
                }
                catch (Exception _ex)
                {
                    _result = null;
                }
            }

            return(_result);
        }
Пример #4
0
        public BizPosition[] PositionGet(Guid?supplierId)
        {
            if (!supplierId.HasValue)
            {
                return(new BizPosition[0]);
            }

            var _result = new List <BizPosition>();

            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _rows = GParams.Instance.PositionsTable.SelectBySupplierId(supplierId);
                    if (_rows != null && _rows.Length > 0)
                    {
                        foreach (var _row in _rows)
                        {
                            _result.Add(BizPosition.ConvertFromDataRow(_row));
                        }
                    }
                }
                catch (Exception)
                {
                    _result.Clear();
                }
            }

            return(_result.Count > 0 ? _result.ToArray() : null);
        }
Пример #5
0
        private void m_selPosSaveEditBtn_Click(object sender, EventArgs e)
        {
            if (!this.HasMinForNextPos())
            {
                return;
            }

            BizPosition _positionToChange = this.ActualEditPosition;

            this.ScreenToBiz(ref _positionToChange);

            try
            {
                if (GParams.Instance.Position.PositionUpdate(_positionToChange))
                {
                    this.m_clearPosCtrlsBtn_Click(sender, e);

                    this.RefreshPositionList();
                }
                else
                {
                    MessageBox.Show("Speichern der Änderung war nicht möglich!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void AddListViewLine(BizSupplierer supplier, BizPosition position)
        {
            var _lvItem = new ListViewItem(position.PositionNo.ToString());

            _lvItem.SubItems.Add(position.Material);
            _lvItem.SubItems.Add(position.Category);
            _lvItem.SubItems.Add(position.Manufacturer);
            _lvItem.SubItems.Add(position.PriceMax.ToString() + " €");
            _lvItem.SubItems.Add(position.PriceMin.ToString() + " €");
            _lvItem.SubItems.Add(position.SoldFor.ToString() + " €");
            _lvItem.SubItems.Add(position.ReturnedToSupplierAt.ToString());

            if (position.SoldFor.HasValue)
            {
                _lvItem.Group = this.m_soldItemsGroup;
            }
            else
            {
                _lvItem.Group = this.m_notSoldItemsGroup;
            }

            if (position.SoldFor.HasValue)
            {
                this.m_soldProceSum += position.SoldFor.Value;
            }

            this.m_screenLv.Items.Add(_lvItem);
        }
Пример #7
0
        public bool PositionUpdate(BizPosition supplierPosition)
        {
            var _result = true;

            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _row = GParams.Instance.PositionsTable.FetchByNo(supplierPosition.PositionNo);
                    if (_row != null)
                    {
                        supplierPosition.ConvertToDataRow(ref _row);

                        supplierPosition.LastChange = DateTime.Now;

                        GParams.Instance.PositionsTable.SaveDataTable(GParams.Instance.ApplicationDataPath);
                    }
                }
                catch
                {
                    _result = false;
                }
            }

            return(_result);
        }
Пример #8
0
            public PositionLvi(BizPosition position)
            {
                this.DataObj = position;

                this.Text = position.PositionNo.ToString();
                this.SubItems.Add(position.Material);
                this.SubItems.Add(position.SoldFor.ToString());
            }
Пример #9
0
        private void BizToScreen(BizPosition positionBiz)
        {
            this.m_posNrTb.Text    = positionBiz.PositionNo.ToString();
            this.m_posTitelTb.Text = positionBiz.Material;

            this.m_posCatCb.Text     = positionBiz.Category;
            this.m_herstellerCb.Text = positionBiz.Manufacturer;

            this.m_posMaxPriceTb.Text = positionBiz.PriceMax.ToString();
            this.m_posMinPriceTb.Text = positionBiz.PriceMin.ToString();
        }
Пример #10
0
            public PositionLvi(BizPosition position)
            {
                DataObj = position;

                Text = position.PositionNo.ToString();
                SubItems.Add(position.Material);
                SubItems.Add(position.Category);
                SubItems.Add(position.Manufacturer);
                SubItems.Add(position.PriceMax.ToString());
                SubItems.Add(position.PriceMin.ToString());
            }
Пример #11
0
        public bool PositionUpdate(BizPosition supplierPosition)
        {
            if (!BasarCom.CheckComCounter())
            {
                throw new Exception("Maximale Anzahl der Aufrufe erreicht!");
            }

            var _result = GParams.Instance.Position.PositionUpdate(supplierPosition);

            BasarCom.ShowStati();
            return(_result);
        }
Пример #12
0
        public PositionLvi(BizPosition position)
        {
            this.DataObj = position;

            this.Text = position.PositionNo.ToString();
            this.SubItems.Add(position.Material);
            this.SubItems.Add(position.Category);
            this.SubItems.Add(position.Manufacturer);
            this.SubItems.Add(position.PriceMax.ToString());
            this.SubItems.Add(position.PriceMin.ToString());
            this.SubItems.Add(position.SoldFor.ToString());
            this.SubItems.Add(position.ReturnedToSupplierAt.ToString());
        }
Пример #13
0
        private void ScreenToBiz(ref BizPosition positionBiz)
        {
            positionBiz.PositionNo = GParams.ToInt32(this.m_posNrTb.Text).Value;
            positionBiz.Material   = this.m_posTitelTb.Text;

            positionBiz.Category     = this.m_posCatCb.Text;
            positionBiz.Manufacturer = this.m_herstellerCb.Text;

            positionBiz.PriceMax = GParams.ToDouble(this.m_posMaxPriceTb.Text).Value;
            positionBiz.PriceMin = GParams.ToDouble(this.m_posMinPriceTb.Text);

            positionBiz.Memo = this.m_posDescTb.Text;
        }
Пример #14
0
            public NonSoldPositionLvi(BizPosition position)
            {
                this.DataObj = position;

                this.Text = position.PositionNo.ToString();
                this.SubItems.Add(position.Material);
                this.SubItems.Add(position.PriceMax.ToString());
                this.SubItems.Add(position.PriceMin.ToString());
                this.SubItems.Add(position.ReturnedToSupplierAt.ToString());

                if (position.ReturnedToSupplierAt.HasValue)
                {
                    this.BackColor = Color.Orange;
                }
            }
Пример #15
0
        private void PositionsToSceen(BizPosition positionBiz)
        {
            this.m_posNrTb.Text    = positionBiz.PositionNo.ToString();
            this.m_posTitelTb.Text = positionBiz.Material;

            this.m_posCatTb.Text     = positionBiz.Category;
            this.m_herstellerTb.Text = positionBiz.Manufacturer;

            this.m_posMaxPriceTb.Text = positionBiz.PriceMax.ToString();
            this.m_posMinPriceTb.Text = positionBiz.PriceMin.ToString();

            this.m_posDescTb.Text = positionBiz.Memo;

            this.m_returnSellBtn.Enabled = positionBiz.SoldAt.HasValue && !positionBiz.ReturnedToSupplierAt.HasValue;
            this.m_returnSellBtn.Tag     = positionBiz;
        }
Пример #16
0
        private void ActivateConfirmPosMode(BizPosition position)
        {
            this.m_positonNoTb.Tag = position;

            if (position.PriceMin.HasValue && position.PriceMinSpecified)
            {
                this.m_sellMinPriceBtn.Enabled = position != null;
                this.m_sellMinPriceBtn.Text    = string.Format(this.m_sellMinPriceBtn.Tag.ToString(), position.PriceMin);
            }

            if (position.PriceMaxSpecified)
            {
                this.m_sellMaxPriceBtn.Enabled = position != null;
                this.m_sellMaxPriceBtn.Text    = string.Format(this.m_sellMaxPriceBtn.Tag.ToString(), position.PriceMax);
            }
        }
Пример #17
0
        private void m_selPosSaveNewBtn_Click(object sender, EventArgs e)
        {
            if (!this.HasMinForNextPos())
            {
                return;
            }

            var _positionToChange = new BizPosition();

            this.ScreenToBiz(ref _positionToChange);

            try
            {
                if (GParams.Instance.BasarCom.PositionGet(_positionToChange.PositionNo, true) == null)
                {
                    var _updated     = true;
                    var _updatedSpec = true;

                    _positionToChange.SupplierId = this.m_supplierSelection.ActualSupplier.SupplierId;
                    GParams.Instance.BasarCom.PositionCreate(_positionToChange, out _updated, out _updatedSpec);

                    if (_updated && _updatedSpec)
                    {
                        this.m_clearPosCtrlsBtn_Click(sender, e);

                        this.RefreshPositionList();
                    }
                    else
                    {
                        MessageBox.Show("Speichern der Position war nicht möglich!");
                    }
                }
                else
                {
                    MessageBox.Show("Position existiert bereits");
                    this.m_posNrTb.Focus();
                    this.m_posNrTb.SelectAll();
                }
            }
            catch (Exception _ex)
            {
                MessageBox.Show(_ex.Message);
            }
        }
Пример #18
0
        public BizPosition PositionGet(int positionNo)
        {
            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _row = GParams.Instance.PositionsTable.FetchByNo(positionNo);
                    if (_row != null)
                    {
                        return(BizPosition.ConvertFromDataRow(_row));
                    }
                }
                catch
                {
                    // ignored
                }
            }

            return(null);
        }
Пример #19
0
        private void m_selPosSaveNewBtn_Click(object sender, EventArgs e)
        {
            if (!this.HasMinForNextPos())
            {
                return;
            }

            BizPosition _positionToChange = new BizPosition();

            this.ScreenToBiz(ref _positionToChange);

            try
            {
                if (GParams.Instance.Position.PositionGet(_positionToChange.PositionNo) == null)
                {
                    _positionToChange.SupplierId = this.SupplierId;
                    if (GParams.Instance.Position.PositionCreate(_positionToChange))
                    {
                        this.m_clearPosCtrlsBtn_Click(sender, e);

                        this.RefreshPositionList();
                    }
                    else
                    {
                        MessageBox.Show("Speichern der Position war nicht möglich!");
                    }
                }
                else
                {
                    MessageBox.Show("Position existiert bereits");
                    this.m_posNrTb.Focus();
                    this.m_posNrTb.SelectAll();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #20
0
        public PositionReturnedResult PositionReturn(Guid supplierId)
        {
            var _result = new PositionReturnedResult();

            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _rows = GParams.Instance.PositionsTable.SelectBySupplierId(supplierId);

                    var _alreadyReturnedPositions = new List <BizPosition>();
                    var _soldPositions            = new List <BizPosition>();
                    var _notSoldPositions         = new List <BizPosition>();

                    for (var _i = 0; _i < _rows.Length; _i++)
                    {
                        var _orgPositionRow = _rows[_i];
                        var _orgPosition    = BizPosition.ConvertFromDataRow(_orgPositionRow);

                        if (_orgPosition != null)
                        {
                            if (_orgPosition.SoldAt.HasValue && !_orgPosition.ReturnedToSupplierAt.HasValue)
                            {
                                if (_orgPosition.SoldFor.HasValue)
                                {
                                    _result.PositionsToReturnMoney += _orgPosition.SoldFor.Value;
                                }

                                _soldPositions.Add(_orgPosition);
                            }
                            else if (!_orgPosition.ReturnedToSupplierAt.HasValue)
                            {
                                _notSoldPositions.Add(_orgPosition);
                            }
                            else
                            {
                                _alreadyReturnedPositions.Add(_orgPosition);
                            }

                            try
                            {
                                if (!_orgPosition.ReturnedToSupplierAt.HasValue)
                                {
                                    _result.PositionsToReturnCountTotal++;

                                    _orgPosition.ReturnedToSupplierAt = DateTime.Now;
                                    _orgPosition.LastChange           = DateTime.Now;

                                    _orgPosition.ConvertToDataRow(ref _orgPositionRow);

                                    GParams.Instance.PositionsTable.SaveDataTable(GParams.Instance.ApplicationDataPath);
                                }
                            }
                            catch (Exception)
                            {
                                // ignored
                            }
                        }
                    }

                    _result.AlreadyReturnedPositions = _alreadyReturnedPositions.ToArray();
                    _result.SoldPositions            = _soldPositions.ToArray();
                    _result.NotSoldPositions         = _notSoldPositions.ToArray();
                }
                catch
                {
                    // ignored
                }
            }

            return(_result);
        }
Пример #21
0
        public PositionSellResult PositionSell(BizPosition[] position)
        {
            var _result = new PositionSellResult();

            lock (GParams.Instance.ComLockObj)
            {
                try
                {
                    var _soldPositions     = new List <BizPosition>();
                    var _notPossibleToSell = new List <BizPosition>();
                    var _notSoldPosReason  = new List <PositionSellResult.NotSoldPosReasonTypes>();

                    foreach (var _positionToSell in position)
                    {
                        var _orgPositionrow =
                            GParams.Instance.PositionsTable.FetchByNo(_positionToSell.PositionNo);
                        var _orgPosition =
                            BizPosition.ConvertFromDataRow(_orgPositionrow);

                        if (_orgPosition != null)
                        {
                            if (_orgPosition.SoldAt != _positionToSell.SoldAt)
                            {
                                _notPossibleToSell.Add(_positionToSell);
                                _notSoldPosReason.Add(PositionSellResult.NotSoldPosReasonTypes.MeanTimeSold);
                            }
                            else if (_orgPosition.ReturnedToSupplierAt != _positionToSell.ReturnedToSupplierAt)
                            {
                                _notPossibleToSell.Add(_positionToSell);
                                _notSoldPosReason.Add(PositionSellResult.NotSoldPosReasonTypes.MeanTimeReturned);
                            }
                            //else if (_orgPosition.LastChange != _positionToSell.LastChange)
                            //{
                            //    _notPossibleToSell.Add(_positionToSell);
                            //    _notSoldPosReason.Add(PositionSellResult.NotSoldPosReasonTypes.MeanTimeChanged);
                            //}
                            else
                            {
                                try
                                {
                                    _orgPosition.SoldAt  = DateTime.Now;
                                    _orgPosition.SoldFor = _positionToSell.SoldFor;

                                    _orgPosition.ConvertToDataRow(ref _orgPositionrow);

                                    GParams.Instance.PositionsTable.SaveDataTable(GParams.Instance.ApplicationDataPath);

                                    _soldPositions.Add(_orgPosition);
                                }
                                catch (Exception)
                                {
                                    // ignored
                                }
                            }
                        }
                        else
                        {
                            _notPossibleToSell.Add(_positionToSell);
                            _notSoldPosReason.Add(PositionSellResult.NotSoldPosReasonTypes.NotFound);
                        }
                    }

                    _result.SoldPositions     = (_soldPositions.Count > 0) ? _soldPositions.ToArray() : null;
                    _result.NotPossibleToSell = (_notPossibleToSell.Count > 0) ? _notPossibleToSell.ToArray() : null;
                    _result.NotSoldPosReason  = (_notSoldPosReason.Count > 0) ? _notSoldPosReason.ToArray() : null;
                }
                catch
                {
                    // ignored
                }
            }

            return(_result);
        }