public void LoadCache() { var data = LoadStateSklad("statesklad"); if (!string.IsNullOrEmpty(data)) { try { var temp = JsonConvert.DeserializeObject <ICollection <ItemSkladDataModel> >(data); SkladState.Clear(); foreach (var el in temp) { SkladState.Add(el); } } catch { } } data = LoadStateSklad("vendors"); LoadListKvpBase(Vendors, data); data = LoadStateSklad("types"); LoadListKvpBase(Types, data); if (Types.Count == 0) { Types.Add(new KVPBase { id = 0, Name = "запчасти" }); Types.Add(new KVPBase { id = 1, Name = "доп. оборудование" }); } data = LoadStateSklad("divisions"); LoadListKvpBase(Divisions, data); OnLoadSkladStateComplete(); }
/// <summary> /// Добавить/обновить товар в справочнике на сервере /// </summary> /// <param name="item"></param> internal void AddPosition(ItemSkladDataModel item) { var itemSklad = SkladState.FirstOrDefault(o => o.id == item.id); if (itemSklad == null) { //TODO Send Model from TCP item.id = SkladState.Count; var data = JsonConvert.SerializeObject(item); Split('C', data); //SendRequest("XC;" + data); } else { itemSklad.Division = item.Division; itemSklad.Info = item.Info; itemSklad.LinkPhoto = item.LinkPhoto; itemSklad.Name = item.Name; itemSklad.Price = item.Price; itemSklad.Purchase = itemSklad.Purchase; itemSklad.Quantity = item.Quantity; itemSklad.Type = item.Type; itemSklad.Unit = item.Unit; itemSklad.Uses = item.Uses; itemSklad.Vendor = item.Vendor; itemSklad.ArtNo = item.ArtNo; SendUpdateItem(itemSklad); SaveStateSklad(); } }
internal void UpdateSkladState() { //TODO Get State from server for (int i = 1; i < 5; i++) { SkladState.Add(new ItemSkladDataModel { id = i, ArtNo = "asd", BaseValue = 500, Division = new KVPBase { id = 0, Name = "Склад №" + i }, Info = "Info" + i, LinkPhoto = "", Name = "Item " + i, Price = 50, Purchase = 40, Quantity = 20, Type = Types[0], Unit = Units[1], Uses = new KVPBase { id = 0, Name = "Для всех" }, Vendor = new KVPBase { id = 0, Name = "Vendor " + i } }); } OnLoadSkladStateComplete(); }
/// <summary> /// Добавить/обновить товар на складе /// </summary> /// <param name="item"></param> internal void AddSkladPosition(ItemSkladDataModel item) { var itemSklad = SkladState.FirstOrDefault(o => o.id == item.id); if (itemSklad == null) { //TODO Send Model from TCP item.id = SkladState.Count; var data = JsonConvert.SerializeObject(item); Split('C', data); //SendRequest("XC;" + data); } else { SendUpdateItem(itemSklad); SaveStateSklad(); OnLoadSkladStateComplete(); } }
private void AddPosition(string row) { try { var item = JsonConvert.DeserializeObject <ItemSkladDataModel>(row); var itemSklad = SkladState.FirstOrDefault(o => o.id == item.id); if (itemSklad != null) { return; } if (Application.Current != null) { Application.Current.Dispatcher.BeginInvoke(new Action(() => SkladState.Add(item))); } SaveStateSklad(); OnLoadSkladStateComplete(); } catch (Exception e) { } }