示例#1
0
        internal void AssignSparePart(SparePartFranch part, RmsAuto.Acctg.ClientGroup clientGroup, decimal personalMarkup)
        {
            _issues = ShoppingCartItemIssues.NoIssues;

            if (part != null)
            {
                if( UnitPrice != part.GetFinalSalePrice( clientGroup, personalMarkup ) )
                    _issues |= ShoppingCartItemIssues.FinalPartPriceChanged;

                UpdateQtyIssues( part );
                //if (Qty < part.DefaultOrderQty)
                //    _issues |= ShoppingCartItemIssues.QtyBelowRequiredMinimum;
                //else if (Qty % part.DefaultOrderQty != 0)
                //    _issues |= ShoppingCartItemIssues.QtyMultiplicityViolation;

                //if (part.QtyInStock.GetValueOrDefault() > 0 && Qty > part.QtyInStock)
                //    _issues |= ShoppingCartItemIssues.QtyAboveAvailableInStock;

                // deas 25.05.2011 task4218 запрет заказа товаров по нулевой цене
                if ( UnitPrice == 0 )
                    _issues |= ShoppingCartItemIssues.FinalPartPriceNoSet;
            }
            else
                _issues |= ShoppingCartItemIssues.SparePartDiscontinued;

            _part = part;

            //Здесь не нужно использовать фабрику так как
            using (var dc = new StoreDataContext())
            {
                try
                {
                    var resList = dc.spSelSuppliersWithoutAnalogs().ToList().Select( s => s.SupplierID ).ToList<int>();
                    _isAnalogsNotSupported = resList.Contains( part.SupplierID );

                    //TODO: дописать запрос
                    IEnumerable<int> resList2 = dc.ExecuteQuery<int>("Select [SupplierID] From SuppliersWithOnlyAnalogs");
                    if (resList2.Contains(part.SupplierID)) { _isAnalogsNotSupported = null; };
                }
                catch
                {
                    //просто не падаем
                }
                finally
                {
                    if (dc.Connection.State == System.Data.ConnectionState.Open)
                        dc.Connection.Close();
                }
            }
        }
示例#2
0
        // deas 01.03.2011 task2401
        // для расчета ограничений по итоговым данным
        public void UpdateQtyIssues( SparePartFranch part )
        {
            if ( Qty < part.DefaultOrderQty )
                _issues |= ShoppingCartItemIssues.QtyBelowRequiredMinimum;
            else if ( Qty % part.DefaultOrderQty != 0 )
                _issues |= ShoppingCartItemIssues.QtyMultiplicityViolation;

            if ( part.QtyInStock.GetValueOrDefault() > 0 && Qty > part.QtyInStock )
                _issues |= ShoppingCartItemIssues.QtyAboveAvailableInStock;
        }