Esempio n. 1
0
        public ProductInStoreListDialog(long departmentID)
        {
            InitializeComponent();
            Util.SetSceen(this);
            ClientProductInStoreBillSave productInStore = null;
            var Details = new List <ClientProductInStoreDetail>();
            var path    = Path.Combine(Util.DataFolder, typeof(ClientProductInStoreBillSave).Name);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string[] files = Directory.GetFiles(path + @"\", "*.xml");

            listView1.BeginUpdate();
            if (files.Count() > 0)
            {
                foreach (var file in files)
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(ClientProductInStoreBillSave));
                    using (var stream = File.Open(file, FileMode.Open))
                    {
                        productInStore = serializer.Deserialize(stream) as ClientProductInStoreBillSave;
                        if (productInStore.Department_ID == departmentID && SysConfig.Current.User_ID == productInStore.User_ID)
                        {
                            foreach (var detail in productInStore.Details)
                            {
                                Details.Add(detail);
                            }
                        }
                    }
                }
                foreach (var detail in Details.GroupBy(x => x.Goods_ID))
                {
                    var item = new ListViewItem(string.Format("{0}", productInStore.CreateTime.ToString("yyyy-MM-dd")));
                    item.SubItems.Add(detail.FirstOrDefault().ProductNumber);
                    item.SubItems.Add(productInStore.InStoreType_Name);
                    item.SubItems.Add(detail.FirstOrDefault().Store_Name);
                    item.SubItems.Add(detail.FirstOrDefault().Goods_Name);
                    item.SubItems.Add(string.Format("{0}", detail.Sum(x => x.MainNumber)));
                    item.SubItems.Add(string.Format("{0}", detail.Sum(x => x.SecondNumber)));
                    item.SubItems.Add(SysConfig.Current.Username);

                    listView1.Items.Add(item);
                }
            }

            listView1.EndUpdate();
        }
Esempio n. 2
0
 public ProductInStoreDetailDialog(ClientProductInStoreBillSave record)
 {
     InitializeComponent();
     Util.SetSceen(this);
     productInStore = record;
     listView1.BeginUpdate();
     foreach (var detail in record.Details)
     {
         var item = new ListViewItem(detail.ProductNumber);
         item.SubItems.Add(detail.Store_Name);
         item.SubItems.Add(detail.Goods_Name);
         item.SubItems.Add(string.Format("{0}", detail.MainNumber));
         item.SubItems.Add(string.Format("{0}", detail.SecondNumber));
         listView1.Items.Add(item);
     }
     listView1.EndUpdate();
 }
Esempio n. 3
0
        private void btn_OK_Click(object sender, EventArgs e)
        {
            if (productInStore.Details.Count == 0)
            {
                MessageBox.Show("至少录入一条记录");
                return;
            }
            var folder = Path.Combine(Util.DataFolder, typeof(ClientProductInStoreBillSave).Name);

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            foreach (var details in productInStore.Details.GroupBy(x => x.Store_ID))
            {
                var newBill = new ClientProductInStoreBillSave();
                newBill          = productInStore;
                newBill.DeviceId = Guid.NewGuid().ToString();
                newBill.Details.Clear();
                foreach (var clientProductInStoreDetail in details)
                {
                    newBill.Details.Add(clientProductInStoreDetail);
                }

                var file = Path.Combine(folder, typeof(ClientProductInStoreBillSave).Name + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xml");

                XmlSerializer serializer = new XmlSerializer(typeof(ClientProductInStoreBillSave));
                using (var stream = File.Open(file, FileMode.Create))
                {
                    serializer.Serialize(stream, productInStore);
                }
            }

            productInStore.Details.Clear();
            listView1.BeginUpdate();
            listView1.Items.Clear();
            listView1.EndUpdate();
            MessageBox.Show("已保存到本机等待发送");
        }
Esempio n. 4
0
        public ProductInStoreDialog(long departMentID, long template)
        {
            InitializeComponent();
            Util.SetSceen(this);
            productInStore = new ClientProductInStoreBillSave
            {
                AccountingUnit_ID = SysConfig.Current.AccountingUnit_ID.Value,
                Department_ID     = departMentID,
                Domain_ID         = SysConfig.Current.Domain_ID,
                User_ID           = SysConfig.Current.User_ID,
                CreateTime        = DateTime.Today
            };

            comboBoxSelectStore.Items.Add("");
            comboBoxSelectGoods.Items.Add("");
            comboBoxProductPlan.Items.Add("");

            string        file       = Path.Combine(Path.Combine(Util.DataFolder, typeof(ClientProductInStore).Name), template.ToString() + ".xml");
            XmlSerializer serializer = new XmlSerializer(typeof(ClientProductInStore));

            using (var stream = File.Open(file, FileMode.Open))
            {
                productInStoreTemplate = serializer.Deserialize(stream) as ClientProductInStore;
            }
            productInStore.InStoreType_ID   = productInStoreTemplate.InStoreType_ID;
            productInStore.InStoreType_Name = productInStoreTemplate.InStoreType_Name;
            foreach (var storeDetail in productInStoreTemplate.StoreDetails)
            {
                if (storeDetail.Store_ID != 0)
                {
                    comboBoxSelectStore.Items.Add(new Option(storeDetail.Store_Name, storeDetail.Store_ID));
                }
            }
            foreach (var goodsDetail in productInStoreTemplate.GoodsDetails)
            {
                if (goodsDetail.Goods_ID != 0)
                {
                    comboBoxSelectGoods.Items.Add(new Option(goodsDetail.Goods_Name, goodsDetail.Goods_ID));
                }
                if (!goodsInfo.ContainsKey(goodsDetail.Goods_ID))
                {
                    goodsInfo.Add(goodsDetail.Goods_ID, new Tuple <string, decimal?, decimal?>(goodsDetail.Goods_UnitConvertDirection, goodsDetail.Goods_MainUnitRatio, goodsDetail.Goods_SecondUnitRatio));
                }
            }

            var productPlanFolder = Path.Combine(Util.DataFolder, typeof(ClientProductPlan).Name);

            if (Directory.Exists(productPlanFolder))
            {
                var productPlanFile = Directory.GetFiles(productPlanFolder, "*.xml");

                XmlSerializer ppSerializer = new XmlSerializer(typeof(ClientProductPlan));
                foreach (var ppFile in productPlanFile)
                {
                    using (var stream = File.Open(ppFile, FileMode.Open))
                    {
                        var productPlan = ppSerializer.Deserialize(stream) as ClientProductPlan;
                        comboBoxProductPlan.Items.Add(new Option(productPlan.PlanNumber, productPlan.ID));
                    }
                }
            }
            comboBoxProductPlan.Focus();

            DeviceContext.Current.ScannerReader += new EventHandler <ScanEventArgs>(Device_ScannerReaders);
        }