示例#1
0
文件: MainVM.cs 项目: 7ccgroup/MIS
        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;
                }
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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();
            }
        }
示例#4
0
 public ItemMasterVM(POS_ItemMaster item)
 {
     _item = item;
 }