コード例 #1
0
        public void ParseFrom(byte[] buffer, int offset, int size)
        {
            if (buffer == null)
            {
                return;
            }
            ProtoBufferReader reader = new ProtoBufferReader(buffer, offset, size);

            foreach (ProtoBufferObject obj in reader.ProtoBufferObjs)
            {
                switch (obj.FieldNumber)
                {
                case 1:
                    MailId = obj.Value;
                    break;

                case 2:
                    SnList.Add(obj.Value);
                    break;

                case 3:
                    User = new User();
                    User.ParseFrom(obj.Value);
                    break;

                default:
                    break;
                }
            }
        }
コード例 #2
0
        private void btnSaveReport_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //先关掉Excel
                Process[] procs = Process.GetProcessesByName("excel");
                foreach (Process pro in procs)
                {
                    pro.Kill();//没有更好的方法,只有杀掉进程
                    GC.Collect();
                }

                Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
                dlg.Filter   = "xls files(*.xls)|*.xls";
                dlg.FileName = "ND1633IQC测试报告" + System.DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
                //dlg.InitialDirectory = "D:\\";
                dlg.AddExtension     = false;
                dlg.RestoreDirectory = true;
                System.Nullable <bool> result = dlg.ShowDialog();
                if (result == true)
                {
                    string filePath = dlg.FileName.ToString();
                    if (File.Exists(filePath))
                    {
                        File.Delete(filePath);
                    }
                    File.Copy(sourceFilePath, filePath);
                    tbFilePath.Text   = filePath;
                    excel             = new Microsoft.Office.Interop.Excel.Application();
                    excel.Visible     = false;
                    excel.UserControl = true;
                    object missing = System.Reflection.Missing.Value;
                    wb = excel.Application.Workbooks.Open(tbFilePath.Text.Trim(), missing, missing, missing, missing, missing, missing, missing, missing,
                                                          missing, missing, missing, missing, missing, missing);
                    Worksheet worksheet = (Worksheet)wb.Worksheets.get_Item(1);//取得第一个工作簿
                    worksheet.Cells[1, 2] = DateTime.Now.ToString("yyyy/MM/dd");
                    worksheet.Cells[2, 2] = "1633-PH";
                    excel.DisplayAlerts   = false;
                    wb.Save();

                    AutoClosedMsgBox.Show("报告生成成功!", "提示", 1000, 64);
                    SnList.Clear();
                    index = 8;
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message, "提示", MessageBoxButton.OK, MessageBoxImage.Information);
                Process[] procs = Process.GetProcessesByName("excel");
                foreach (Process pro in procs)
                {
                    pro.Kill();//没有更好的方法,只有杀掉进程
                }
            }
        }
コード例 #3
0
        public void Execute()
        {
            var mail = CommonData.MailList.Find(x => x.MailId == MailId);

            if (mail != null)
            {
                foreach (var gift in mail.GiftList.Where(gift => SnList.Contains(gift.Sn)))
                {
                    gift.IsObtained = true;
                }
            }
            CommonData.MyUser = User;
        }