示例#1
0
        /// <summary>
        /// Расчитывает тек. кол-во комплектующих, переданных в записях о неснижаемых запасах
        /// </summary>
        /// <param name="itemStock">Записи о неснижаемом запасе</param>
        public void CalculateStock(StockComponentInfo itemStock)
        {
            if (itemStock == null || _casEnvironment.Stores.GetItemById(itemStock.StoreId) == null)
            {
                return;
            }

            itemStock.Current = 0;
            var store = _casEnvironment.Stores.GetItemById(itemStock.StoreId);

            var allStorescomponents = new List <Entities.General.Accessory.Component>();

            allStorescomponents.AddRange(_componentCore.GetStoreBaseComponents(store.ItemId));
            allStorescomponents.AddRange(_componentCore.GetStoreComponents(store).ToArray());

            foreach (var component in allStorescomponents)
            {
                if (itemStock.GoodsClass == component.GoodsClass &&
                    itemStock.PartNumber.Replace(" ", "").ToLower() == component.PartNumber.Replace(" ", "").ToLower())
                {
                    if (component.Quantity <= 0)
                    {
                        component.Quantity = 1;
                    }
                    itemStock.Current += component.Quantity;
                }
            }
        }
 /// <summary>
 /// Заполняет поля
 /// </summary>
 /// <param name="row"></param>
 /// <param name="item"></param>
 public static void Fill(DataRow row, StockComponentInfo item)
 {
     item.IsDeleted       = DbTypes.ToBool(row["StockComponentInfoIsDeleted"]);
     item.ItemId          = DbTypes.ToInt32(row["StockComponentInfoItemID"]);
     item.StoreId         = DbTypes.ToInt32(row["StockComponentInfoStoreID"]);
     item.PartNumber      = DbTypes.ToString(row["StockComponentInfoPartNumber"]);
     item.ShouldBeOnStock = DbTypes.ToInt32(row["StockComponentInfoAmount"]);
     item.Description     = DbTypes.ToString(row["StockComponentInfoDescription"]);
 }
示例#3
0
 /// <summary>
 /// Применить к объекту сделанные изменения на контроле.
 /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false
 /// Вызов base.ApplyChanges() обязателен
 /// </summary>
 /// <returns></returns>
 private void ApplyChanges(StockComponentInfo obj)
 {
     obj.GoodsClass      = comboBoxDetailClass.SelectedItem as GoodsClass;
     obj.PartNumber      = textBoxPartNumber.Text;
     obj.Description     = textBoxDescription.Text;
     obj.Standart        = obj.AccessoryDescription != null ? obj.AccessoryDescription.Standart : null;
     obj.Measure         = comboBoxMeasure.SelectedItem as Measure;
     obj.ShouldBeOnStock = (double)numericUpDownQuantity.Value;
 }
示例#4
0
        /// <summary>
        /// Создает форму для редактирование переданного объекта
        /// </summary>
        /// <param name="stockComponentInfo">Объект неснижаемого запаса</param>
        /// <param name="disableControls"></param>
        public StockComponentInfoForm(StockComponentInfo stockComponentInfo, bool disableControls = false) : this()
        {
            _stockComponentInfo = stockComponentInfo;
            _disableControls    = disableControls;
            FillControls();

            if (disableControls)
            {
                DisableControls();
            }
        }
        /// <summary>
        /// Получает список воздушных судов из запроса
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public static List <StockComponentInfo> GetStockComponentInfoList(DataTable table)
        {
            List <StockComponentInfo> items = new List <StockComponentInfo>();

            for (int i = 0; i < table.Rows.Count; i++)
            {
                StockComponentInfo item = new StockComponentInfo();
                Fill(table.Rows[i], item);
                items.Add(item);
            }
            //
            return(items);
        }
        /// <summary>
        /// Возвращает список параметров, которые могут использоваться в запросах
        /// </summary>
        public static SqlParameter[] GetParameters(StockComponentInfo item)
        {
            List <SqlParameter> parameters = new List <SqlParameter>();

            parameters.Add(new SqlParameter("@IsDeleted", DbTypes.DbObject(item.IsDeleted)));
            parameters.Add(new SqlParameter("@ItemID", DbTypes.DbObject(item.ItemId)));
            parameters.Add(new SqlParameter("@StoreID", DbTypes.DbObject(item.StoreId)));
            parameters.Add(new SqlParameter("@PartNumber", DbTypes.DbObject(item.PartNumber)));
            parameters.Add(new SqlParameter("@Amount", DbTypes.DbObject(item.ShouldBeOnStock)));
            parameters.Add(new SqlParameter("@Description", DbTypes.DbObject(item.Description)));


            return(parameters.ToArray());
        }
示例#7
0
        /// <summary>
        /// Возвращает значение, показывающее были ли изменения в данном элементе управления
        /// </summary>
        /// <returns></returns>
        private bool GetChangeStatus(StockComponentInfo obj)
        {
            //string kitStandartName = _stockDetailInfo.Standart != null ? _stockDetailInfo.Standart.FullName : "";
            if (textBoxPartNumber.Text != obj.PartNumber ||
                textBoxDescription.Text != obj.Description ||
                numericUpDownQuantity.Value != (decimal)obj.ShouldBeOnStock ||
                (_stockComponentInfo.Standart != null ? _stockComponentInfo.Standart.ToString() != textBoxStandart.Text : textBoxStandart.Text != ""))
            {
                return(true);
            }

            if ((!(comboBoxDetailClass.SelectedItem is GoodsClass) || comboBoxDetailClass.SelectedItem != obj.GoodsClass) ||
                (comboBoxMeasure.SelectedItem as Measure == null && obj.Measure != null) ||
                (comboBoxMeasure.SelectedItem as Measure != null && obj.Measure == null) ||
                (comboBoxMeasure.SelectedItem as Measure != null && obj.Measure != null &&
                 comboBoxMeasure.SelectedItem != obj.Measure))
            {
                return(true);
            }
            return(false);
        }