Ejemplo n.º 1
0
        private List <KindaRepository> DBSelectByMainFeatures(int percents, SearchModel whatToSearch)
        {
            List <KindaRepository> firstSelect = new List <KindaRepository>();
            SizeM _3DimensionSize = SomeHelpful.OrderSize(whatToSearch.Size1, whatToSearch.Size2, whatToSearch.Size3);


            decimal allowance          = Allowance(_3DimensionSize.P2, _3DimensionSize.P1);
            decimal percentsCalculated = Percents(percents);


            PointM allowance1 = new PointM {
                LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
            };                                                                                                                           //10% допустимое отклонение

            allowance = Allowance(_3DimensionSize.P3, _3DimensionSize.P2);
            PointM allowance2 = new PointM {
                LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
            };                                                                                                                           //10% допустимое отклонение



            using (dataSearch = new SQLRepositoryDataContext(ConfigurationSettings.SQLConnection1))
            {
                if (dataSearch != null)
                {
                    var table = dataSearch.KindaRepositories.ToList();

                    try
                    {
                        firstSelect = table.Where(
                            x =>
                            (Allowance(x.Size2, x.Size1) >= allowance1.LowerBound && Allowance(x.Size2, x.Size1) <= allowance1.UpperBound &&//поиск деталей соответствующим допустимому отклонению
                             Allowance(x.Size3, x.Size2) >= allowance2.LowerBound && Allowance(x.Size3, x.Size2) <= allowance2.UpperBound

                            )).ToList();
                    }
                    catch (Exception fail)
                    {
                        MessageBox.Show(fail.Message);
                        throw fail;
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Не удалось установить подключение к базе даных. Проверте строку подключения и настройки сети!");
                }
            }

            return(firstSelect);
        }
Ejemplo n.º 2
0
        public BindableCollection <SizeM> GetSizes()
        {
            var tmp = new BindableCollection <SizeM>();

            foreach (var e in _listSizes)
            {
                var tmpSizes = new SizeM
                {
                    Height   = e.Height,
                    Width    = e.Width,
                    SizeText = _all.SizeTexts.GetSizeTextBySizeALang(e, new Languages {
                        Language = Preference.Lang
                    }).Text
                };
                tmp.Add(tmpSizes);
            }
            return(tmp);
        }
Ejemplo n.º 3
0
        private KindaRepository InitializeModel()
        {
            SizeM point3dSize = SomeHelpful.OrderSize(height, width, lenght);


            model       = new KindaRepository();
            model.Size1 = point3dSize.P1;
            model.Size2 = point3dSize.P2;
            model.Size3 = point3dSize.P3;

            SizeM diamOfVals = SomeHelpful.OrderSize(dimVal1, dimVal2, dimVal3);

            model.DimVal1 = diamOfVals.P1;
            model.DimVal2 = diamOfVals.P2;
            model.DimVal3 = diamOfVals.P3;


            model.Path  = addModel.GetPath();
            model.Model = addModel.ModelBytes(model.Path);

            return(model);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Поиск по дополнительным параметрам, проводиться не на таблице из БД, а на списке обьектов выбранных по основным габаритам
        /// </summary>
        /// <param name="percents"></param>
        /// <param name="whatToSearch"></param>
        /// <param name="tableAlreadySelectedOnce"></param>
        /// <returns></returns>
        private List <KindaRepository> DBSelectBySubFeatures(int percents, SearchModel whatToSearch, List <KindaRepository> tableAlreadySelectedOnce)
        {
            List <KindaRepository> secondSelect = new List <KindaRepository>();

            SizeM _3DimensionSize = SomeHelpful.OrderSize(whatToSearch.Size1, whatToSearch.Size2, whatToSearch.Size3);


            decimal allowance;
            decimal percentsCalculated = Percents(percents);
            SizeM   _3DiamVals         = SomeHelpful.OrderSize(whatToSearch.DimVal1, whatToSearch.DimVal2, whatToSearch.DimVal3);


            if (_3DiamVals.P3 == 0 && _3DiamVals.P2 == 0 && _3DiamVals.P1 != 0)// задан один диаметр вала
            {
                allowance = Allowance(_3DiamVals.P1, _3DimensionSize.P1);
                PointM allowance1 = new PointM {
                    LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
                };

                secondSelect = tableAlreadySelectedOnce.Where(
                    x => x.DimVal1 > 0 &&
                    (Allowance(x.DimVal1, x.Size1) >= allowance1.LowerBound && Allowance(x.DimVal1, x.Size1) <= allowance1.UpperBound)).ToList();
            }
            else if (_3DiamVals.P3 == 0 && _3DiamVals.P2 != 0 && _3DiamVals.P1 != 0)// задано два диаметра вала
            {
                allowance = Allowance(_3DiamVals.P1, _3DimensionSize.P1);
                PointM allowance1 = new PointM {
                    LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
                };
                allowance = Allowance(_3DiamVals.P2, _3DimensionSize.P2);
                PointM allowance2 = new PointM {
                    LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
                };


                secondSelect = tableAlreadySelectedOnce.Where(
                    x =>
                    (x.DimVal1 > 0 && x.DimVal2 > 0 &&
                     Allowance(x.DimVal1, x.Size1) >= allowance1.LowerBound && Allowance(x.DimVal1, x.Size1) <= allowance1.UpperBound &&
                     Allowance(x.DimVal2, x.Size2) >= allowance2.LowerBound && Allowance(x.DimVal2, x.Size2) <= allowance2.UpperBound

                    )).ToList();
            }
            else if (_3DiamVals.P3 != 0 && _3DiamVals.P2 != 0 && _3DiamVals.P1 != 0) //заданы три параметра по поиску для диаметра вала
            {
                allowance = Allowance(_3DiamVals.P1, _3DimensionSize.P1);
                PointM allowance1 = new PointM {
                    LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
                };
                allowance = Allowance(_3DiamVals.P2, _3DimensionSize.P2);
                PointM allowance2 = new PointM {
                    LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
                };
                allowance = Allowance(_3DiamVals.P3, _3DimensionSize.P3);
                PointM allowance3 = new PointM {
                    LowerBound = allowance - percentsCalculated, UpperBound = allowance + percentsCalculated
                };


                secondSelect = tableAlreadySelectedOnce.Where(
                    x =>
                    (x.DimVal1 > 0 && x.DimVal2 > 0 && x.DimVal3 > 0 &&
                     Allowance(x.DimVal1, x.Size1) >= allowance1.LowerBound && Allowance(x.DimVal1, x.Size1) <= allowance1.UpperBound &&
                     Allowance(x.DimVal2, x.Size2) >= allowance2.LowerBound && Allowance(x.DimVal2, x.Size2) <= allowance2.UpperBound &&
                     Allowance(x.DimVal3, x.Size3) >= allowance3.LowerBound && Allowance(x.DimVal3, x.Size3) <= allowance3.UpperBound

                    )).ToList();
            }

            return(secondSelect);
        }