/// <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"]); }
/// <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; }
/// <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()); }
/// <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); }