Exemplo n.º 1
0
        //装载;(保存,显示等)
        public override void Setup()
        {
            //显示;
            if (stNdList != null && ExtNames != null)
            {
                var ownNdList = stNdList.Where(p => ExtNames.FirstOrDefault(q => q == p.Type) != null).ToList();
                var part      = SearcherPartition.LoadFromNodeList(CaseFile.Data,
                                                                   ownNdList, $"{CaseFile.Name}-{Name}");

                var fsService = ServiceProvider.Current.GetInstance <IFSNodeService>();

                if (fsService != null)
                {
                    try {
                        var fiUnit = ServiceProvider.Current.GetInstance <ICommonForensicService>().GetForensicInfoUnit <AndroidDeviceCaseEvidence>(CaseFile);
                        foreach (var unit in fiUnit.Children)
                        {
                            if (unit is PinTreeUnit afcUnit && afcUnit.ContentId == ForensicCalssType)
                            {
                                var preUnit = afcUnit.Children.FirstOrDefault(p => p.Label?.StartsWith(Name) ?? false);
                                var sunit   = ServiceProvider.Current.GetInstance <IFSNodeService>()?.
                                              CreateStorageUnit(part, afcUnit, DefaultFileExplorerServiceProvider.StaticInstance);
                                if (preUnit != null)
                                {
                                    afcUnit.Children.Remove(preUnit);
                                }
                                afcUnit.Children.Add(sunit);
                            }
                        }
                    }
                    catch (Exception ex) {
                        CDFCMessageBox.Show($"{ex.Message}");
                    }
                }
            }

            //保存;
            //CaseFile[$"{RecomItemName}_]
        }
        private DataTable GetDataTable(string sqlCommand)
        {
            if (Conn != null)
            {
                try {
                    var ad = new SQLiteDataAdapter(sqlCommand, Conn);
                    try {
                        var ds = new DataSet();
                        ad.Fill(ds);
                        var tbOri = ds.Tables[0];
                        var tbNew = tbOri.Clone();
                        //以两个list记录列数据类型是/否byte[]的序列号;
                        var bsIndex  = new List <int>();
                        var nbsIndex = new List <int>();

                        for (int i = 0; i < tbNew.Columns.Count; i++)
                        {
                            if (tbNew.Columns[i].DataType == typeof(byte[]))
                            {
                                tbNew.Columns[i].DataType = typeof(string);
                                bsIndex.Add(i);
                            }
                            else
                            {
                                nbsIndex.Add(i);
                            }
                        }

                        for (int ri = 0; ri < tbOri.Rows.Count; ri++)
                        {
                            var newRow = tbNew.NewRow();
                            bsIndex.ForEach(p => {
                                var bs = tbOri.Rows[ri][p] as byte[];
                                if (bs != null)
                                {
                                    if (bs.Length < 24)
                                    {
                                        newRow[p] = bs.ConvertToHexFormat();
                                    }
                                    else
                                    {
                                        newRow[p] = $"{FindResourceString("BinaryData")}({FindResourceString("BinaryLength")}:{bs.Length})";
                                    }
                                }
                            });
                            nbsIndex.ForEach(p => {
                                newRow[p] = tbOri.Rows[ri][p];
                            });

                            tbNew.Rows.Add(newRow);
                        }
                        return(tbNew);
                    }
                    catch {
                        throw;
                    }
                    finally {
                        ad.Dispose();
                    }
                }
                catch (Exception ex) {
                    Logger.WriteLine($"{nameof(NormalDBShowerViewModel)}");
                    CDFCMessageBox.Show($"{ex.Message}");
                }
            }

            return(null);
        }
Exemplo n.º 3
0
        private bool CheckInput(bool required = true)
        {
            if (required && chbLarger.IsChecked == false && chbfewer.IsChecked == false)
            {
                CDFCMessageBox.Show(FindResourceString("InputCondiction"));
                return(false);
            }

            DateTime?minDT = dtpLarger.SelectedDate;
            DateTime?maxDT = dtpfewer.SelectedDate;

            if (chbfewer.IsChecked == false)
            {
                if (minDT == null)
                {
                    CDFCMessageBox.Show(FindResourceString("InputValidMinDT"));
                    return(false);
                }
                else
                {
                    Model.MinTime   = minDT;
                    Model.MaxTime   = maxDT;
                    Model.Condition = TwoConditionRule.MinOnly;
                    return(true);
                }
            }
            else if (chbLarger.IsChecked == false)
            {
                if (maxDT == null)
                {
                    CDFCMessageBox.Show(FindResourceString("InputValidMaxDT"));
                    return(false);
                }
                else
                {
                    Model.Condition = TwoConditionRule.MaxOnly;
                    Model.MaxTime   = maxDT;
                    Model.MinTime   = minDT;
                    return(true);
                }
            }
            else
            {
                if (maxDT == null)
                {
                    CDFCMessageBox.Show(FindResourceString("InputValidMaxDT"));
                    return(false);
                }
                else if (minDT == null)
                {
                    CDFCMessageBox.Show(FindResourceString("InputValidMinDT"));
                    return(false);
                }
                else
                {
                    Model.Condition = rtbAnd.IsChecked == true? TwoConditionRule.MinAndMax : TwoConditionRule.MinOrMax;
                    Model.MinTime   = minDT;
                    Model.MaxTime   = maxDT;
                    return(true);
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 检查输入;
        /// </summary>
        /// <param name="required">是否必须输入条件</param>
        /// <returns></returns>
        private bool CheckInput(bool required = true)
        {
            if (required && chbLarger.IsChecked == false && chbfewer.IsChecked == false)
            {
                CDFCMessageBox.Show(FindResourceString("InputCondiction"));
                return(false);
            }

            long maxSize = 0;
            long minSize = 0;

            var minOk = long.TryParse(txbLarger.Text, out minSize);
            var maxOk = long.TryParse(txbfewer.Text, out maxSize);

            maxSize = GetSizeWithStandard(cmbfewer.SelectionBoxItem.ToString(), maxSize);
            minSize = GetSizeWithStandard(cmbLarger.SelectionBoxItem.ToString(), minSize);
            FilterSizeModel.MaxUnitSize = cmbfewer.SelectionBoxItem.ToString();
            FilterSizeModel.MinUnitSize = cmbLarger.SelectionBoxItem.ToString();

            if (chbfewer.IsChecked == false)
            {
                if (minOk)
                {
                    FilterSizeModel.MinSize   = minSize;
                    FilterSizeModel.Condition = TwoConditionRule.MinOnly;
                    return(true);
                }
                else
                {
                    CDFCMessageBox.Show(FindResourceString("InvalidMinSize"));
                    return(false);
                }
            }
            else if (chbLarger.IsChecked == false)
            {
                if (maxOk)
                {
                    FilterSizeModel.MaxSize   = maxSize;
                    FilterSizeModel.Condition = TwoConditionRule.MaxOnly;
                    return(true);
                }
                else
                {
                    CDFCMessageBox.Show(FindResourceString("InvalidMaxSize"));
                    return(false);
                }
            }
            else
            {
                Action applyAct = () => {
                    FilterSizeModel.Condition = rtbAnd.IsChecked ?? false?TwoConditionRule.MinAndMax:TwoConditionRule.MinOrMax;
                    FilterSizeModel.MaxSize   = maxSize;
                    FilterSizeModel.MinSize   = minSize;
                };

                if (maxOk && minOk)
                {
                    if (maxSize < minSize)
                    {
                        if (CDFCMessageBox.Show(FindResourceString("ConfirmWhenMaxLessThanMin"), MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                        {
                            applyAct();
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        applyAct();
                        return(true);
                    }
                }
                else if (!maxOk)
                {
                    CDFCMessageBox.Show(FindResourceString("InvalidMaxSize"));
                    return(false);
                }
                else if (!minOk)
                {
                    CDFCMessageBox.Show(FindResourceString("InvalidMinSize"));
                    return(false);
                }
                return(false);
            }
        }