void Synchronizer_SyncItemMasterChangeEvent(BaseAppServerCom.Models.Product p, Configuration.Sync.SyncType e) { if (e == Configuration.Sync.SyncType.Add) { try { Func <string, bool> compare = (key) => { return(p.categories.Any(m => m == key)); }; var cat = GConfig.POS_Setup.ItemCategories.Where(n => n.vCategoryCode != "all-items").FirstOrDefault(n => p.categories.Any(m => m == n.vCategoryShortDesc)); if (cat != null && !cat.POS_ItemMasters.Any(n => n.itemID == p.id)) { POS_ItemMaster item = new POS_ItemMaster { itemID = p.id, dStartDate = p.created_at, dEndDate = p.updated_at, vItemAvailability = p.purchaseable.ToString(), vItemDesc1 = p.title, vItemDesc2 = p.description, vItemStatus = p.status, POS_ItemCategoryId = cat.CatID, vItemMinPrice = (decimal?)p.regular_price, vItemPrice = (decimal)p.price }; cat.POS_ItemMasters.Add(item); GConfig.DAL.SaveChanges(); var catvm = Register.Categories.Where(n => n.CategoryType == CategoryType.None).FirstOrDefault(n => n.CatID == cat.CatID); if (catvm != null && catvm.ItemsInitialized) { Application.Current.Dispatcher.BeginInvoke(new Action(() => { catvm.Items.Add(new ItemMasterVM(item)); })); } } } catch (Exception ex) { var m = ex; } } }
public OrderLineVM(POS_ItemMaster item, OrderVM parent, POS_OrderDetails line = null) { _parent = parent; _item = item; if (line == null) { _line = new POS_OrderDetails(); _line.fLineItemPrice = item.vItemPrice; _line.POS_ItemMasterId = _item.Id; Quantity++; } else { _line = line; } }
private void AddCustomItem(decimal price, int quantity, string customitemname) { var cat = GConfig.POS_Setup.ItemCategories.FirstOrDefault(n => n.vCategoryCode == "custom-cat"); var catAll = GConfig.POS_Setup.ItemCategories.FirstOrDefault(n => n.vCategoryCode != "custom-cat"); if (cat == null) { DateTime date = DateTime.Now; var item = new POS_ItemMaster() { vItemDesc1 = "Custom Item", dStartDate = date, dEndDate = date }; //added var to give editable custom item name SAA. cat = new POS_ItemCategory { vCategoryCode = "custom-cat", vStatus = "hidden", vCategoryShortDesc = "Custom", dEndDt = date, dStartDt = date, POS_ItemMasters = new List <POS_ItemMaster> { item } }; GConfig.POS_Setup.ItemCategories.Add(cat); GConfig.DAL.SaveChanges(); } var customitem = cat.POS_ItemMasters.FirstOrDefault(); //Get Normal Custom Item //Below code is for custom items can take user defined item description. //Added 5/6/16 // if (customitemname != null && customitemname.Trim() != "") { var customitemSpecial = cat.POS_ItemMasters.Where(n => n.vItemDesc1 == customitemname); //Check if custom name entered is in itemMaster if (customitemSpecial.Count() == 0 && customitem.vItemDesc1 != customitemname) { Int32 customitemid = cat.POS_ItemMasters.Max(p => p.itemID); //get max itemid of custom items. Int32 ItemMasterid = catAll.POS_ItemMasters.Max(p => p.Id); //get max of id from itemMaster. ItemMasterid++; if (customitemid == 0) { customitemid = 9000; } else { customitemid++; } if (customitem.vItemDesc1 != customitemname) { DateTime date = DateTime.Now; var item = new POS_ItemMaster() { Id = ItemMasterid, itemID = customitemid, vItemStatus = "hidden", vItemDesc1 = customitemname, dStartDate = date, dEndDate = date }; //added var to give editable custom item name SAA. cat.POS_ItemMasters.Add(item); GConfig.DAL.SaveChanges(); customitem = item; } } if (customitemSpecial != null) { customitem = customitemSpecial.FirstOrDefault(); } } //Above code is for custom items can take user defined item description. //Added 5/6/16 if (customitem != null) { OrderLineVM line = new OrderLineVM(customitem, Order, new POS_OrderDetails() { POS_OrderHeaderId = Order._orderHeader.Id, POS_ItemMasterId = customitem.Id, fLineItemPrice = price, fOrderQty = quantity, fLineSubTotal = price * quantity }) { ItemCreated = true }; Order.OrderLines.Add(line); Order.RefreshValues(); _scroll.ScrollToBottom(); } }
public ItemMasterVM(POS_ItemMaster item) { _item = item; }