Exemple #1
0
        public List <Toy> TopTenList()
        {
            var r = new List <top>();

            for (int i = 0; i <= 150 /*LastRecordOrderDetail()*/; i++)
            {
                if (db.OrderDetails.Find(i) != null && db.OrderDetails.Find(i).Toy.ToysName != "Deleted Toy" /*&& db.OrderDetails.Find(i).year == DateTime.Now.Year*/)
                {
                    if (r.Find(x => x.t.ToysId == db.OrderDetails.Find(i).ToyId) != null)
                    {
                        r.Where(x => x.t.ToysId == db.OrderDetails.Find(i).ToyId).ToList().ForEach(x => x.c += db.OrderDetails.Find(i).Quantity);
                    }
                    else
                    {
                        var TempTop = new top {
                            c = db.OrderDetails.Find(i).Quantity, t = db.OrderDetails.Find(i).Toy
                        };
                        r.Add(TempTop);
                    }
                }
            }

            var Res      = r.OrderByDescending(o => o.c).ToList();
            var TopTen   = new List <Toy>();
            var TopCount = TenCounts(Res);

            for (int i = 0; i < TopCount; i++)
            {
                TopTen.Add(Res[i].t);
            }

            return(TopTen);
        }
Exemple #2
0
        public List <Toy> TTL() //Top Ten List
        {
            var r = new List <top>();

            for (int i = 0; i <= LROD(); i++)
            {
                if (db.OrderDetails.Find(i) != null && db.OrderDetails.Find(i).Toy.ToysName != "Deleted Toy")
                {
                    if (r.Find(x => x.t.ToysId == db.OrderDetails.Find(i).ToyId) != null)
                    {
                        r.Where(x => x.t.ToysId == db.OrderDetails.Find(i).ToyId).ToList().ForEach(x => x.c += db.OrderDetails.Find(i).Quantity);
                    }
                    else
                    {
                        var TempTop = new top {
                            c = db.OrderDetails.Find(i).Quantity, t = db.OrderDetails.Find(i).Toy
                        };
                        r.Add(TempTop);
                    }
                }
            }

            var Res  = r.OrderByDescending(o => o.c).ToList();
            var TTen = new List <Toy>();
            var tp   = TC(Res);

            for (int i = 0; i < tp; i++)
            {
                TTen.Add(Res[i].t);
            }

            return(TTen);
        }
Exemple #3
0
        public List <Toy> TopTenList() //Top Ten List
        {
            var r = new List <top>();

            for (int i = 0; i <= LastRecord(); i++)
            {
                if (db.OrderDetails.Find(i) != null && db.OrderDetails.Find(i).Toy.ToysName != "Deleted Toy")
                {
                    if (r.Find(x => x.Toy.ToysId == db.OrderDetails.Find(i).ToyId) != null)
                    {
                        r.Where(x => x.Toy.ToysId == db.OrderDetails.Find(i).ToyId).ToList().ForEach(x => x.Count += db.OrderDetails.Find(i).Quantity);
                    }
                    else
                    {
                        var TempTop = new top {
                            Count = db.OrderDetails.Find(i).Quantity, Toy = db.OrderDetails.Find(i).Toy
                        };
                        r.Add(TempTop);
                    }
                }
            }

            var Res      = r.OrderByDescending(o => o.Count).ToList();
            var TopsList = new List <Toy>();
            var tp       = TopAmount(Res);

            for (int i = 0; i < tp; i++)
            {
                TopsList.Add(Res[i].Toy);
            }

            return(TopsList);
        }
Exemple #4
0
        public List <Toy> GetTops(int id)
        {
            var OrderDetails = db.OrderDetails.Where(t => t.ToyId == id).ToList();
            var Orders       = new List <int?>();

            foreach (var i in OrderDetails)
            {
                if (i.OrderId != null)
                {
                    if (Orders.Find(x => x.Value == i.OrderId) == null)
                    {
                        Orders.Add(i.OrderId);
                    }
                }
            }

            var r = new List <top>();

            for (int i = 0; i <= 1000 /*LROD()*/; i++)
            {
                if (db.OrderDetails.Find(i) != null && db.OrderDetails.Find(i).Toy.ToysName != "Deleted Toy" && db.OrderDetails.Find(i).Toy.ToysId != id)
                {
                    var c = false;
                    foreach (var cc in Orders)
                    {
                        if (db.OrderDetails.Find(i).OrderId == cc)
                        {
                            c = true;
                        }
                    }

                    if (c)
                    {
                        if (r.Find(x => x.Toy.ToysId == db.OrderDetails.Find(i).ToyId) != null)
                        {
                            r.Where(x => x.Toy.ToysId == db.OrderDetails.Find(i).ToyId).ToList().ForEach(x => x.Count += db.OrderDetails.Find(i).Quantity);
                        }
                        else
                        {
                            var TempTop = new top {
                                Count = db.OrderDetails.Find(i).Quantity, Toy = db.OrderDetails.Find(i).Toy
                            };
                            r.Add(TempTop);
                        }
                    }
                }
            }

            var Res      = r.OrderByDescending(o => o.Count).ToList();
            var TopsList = new List <Toy>();
            var tp       = TopAmount(Res);

            for (int j = 0; j < tp; j++)
            {
                TopsList.Add(Res[j].Toy);
            }

            return(TopsList);
        }
Exemple #5
0
        public List <Toy> RT(int id)
        {
            var OD = db.OrderDetails.Where(t => t.ToyId == id).ToList();
            var O  = new List <int?>();

            foreach (var i in OD)
            {
                if (i.OrderId != null)
                {
                    if (O.Find(x => x.Value == i.OrderId) == null)
                    {
                        O.Add(i.OrderId);
                    }
                }
            }

            var r = new List <top>();

            for (int i = 0; i <= 1000 /*LROD()*/; i++)
            {
                if (db.OrderDetails.Find(i) != null && db.OrderDetails.Find(i).Toy.ToysName != "Deleted Toy" && db.OrderDetails.Find(i).Toy.ToysId != id)
                {
                    var c = false;
                    foreach (var cc in O)
                    {
                        if (db.OrderDetails.Find(i).OrderId == cc)
                        {
                            c = true;
                        }
                    }

                    if (c)
                    {
                        if (r.Find(x => x.t.ToysId == db.OrderDetails.Find(i).ToyId) != null)
                        {
                            r.Where(x => x.t.ToysId == db.OrderDetails.Find(i).ToyId).ToList().ForEach(x => x.c += db.OrderDetails.Find(i).Quantity);
                        }
                        else
                        {
                            var TempTop = new top {
                                c = db.OrderDetails.Find(i).Quantity, t = db.OrderDetails.Find(i).Toy
                            };
                            r.Add(TempTop);
                        }
                    }
                }
            }

            var Res  = r.OrderByDescending(o => o.c).ToList();
            var TTen = new List <Toy>();
            var tp   = TC(Res);

            for (int j = 0; j < tp; j++)
            {
                TTen.Add(Res[j].t);
            }

            return(TTen);
        }
        void CreateFuncTree(top CurTop, string Function)                            //функция создания дерева
        {
            if (InParentheses(Function))                                            //проверяем нужно ли опустить скобки
            {
                CreateFuncTree(CurTop, Function.Substring(1, Function.Length - 2)); //вызываем ту же функцию для того же выражения без скобок
                return;
            }
            if (SearchOperations(CurTop, Function, '+', '-'))
            {
                return;
            }
            if (SearchOperations(CurTop, Function, '*', '/'))
            {
                return;
            }
            if (IsTrigFunction(CurTop, Function, "sin"))
            {
                return;
            }
            if (IsTrigFunction(CurTop, Function, "cos"))
            {
                return;
            }
            if (IsTrigFunction(CurTop, Function, "tg"))
            {
                return;
            }
            int Const = 0;

            if (Function.Length > 2 && (Function.Substring(0, 2) == "x^" || Function.Substring(0, 2) == "y^") &&
                int.TryParse(Function.Substring(2), out Const) && Const > 0) //если слева переменная, справа положительная целая константа
            {
                CurTop.value = "^";
                CurTop.l     = new top()
                {
                    p = CurTop
                };
                CreateFuncTree(CurTop.l, Function.Substring(0, 1));
                CurTop.r = new top()
                {
                    p = CurTop
                };
                CreateFuncTree(CurTop.r, Function.Substring(2));
                return;
            }
            double d = 0;

            if (Function == "x" || Function == "y" || Double.TryParse(Function, out d)) //если выражение - это только переменная
            {
                CurTop.value = Function;                                                //кладем в значение текущей вершины переменную
                return;
            }
            throw new Exception();//иначе функция была некорректная
        }
 private bool IsTrigFunction(top CurTop, string Function, string TrigFunction)
 {
     if (Function.Length >= TrigFunction.Length + 3 && Function.Substring(0, TrigFunction.Length + 1) == $"{TrigFunction}(" && Function[Function.Length - 1] == ')') //если выражение представляет из себя триг.функ(...)
     {
         CurTop.value = TrigFunction;                                                                                                                                //в значение текущей вершины кладем знак триг функции
         CurTop.l     = new top()
         {
             p = CurTop
         };                                  //значение внутри скобок строим в левом поодере текущей вершины
         CreateFuncTree(CurTop.l, Function.Substring(TrigFunction.Length + 1, Function.Length - TrigFunction.Length - 2));
         return(true);
     }
     return(false);
 }
        private bool SearchOperations(top CurTop, string Function, char FirstOp, char SecondOp)
        {
            int check = 0;

            for (int i = Function.Length - 1; i >= 0; i--)//идем с конца
            {
                if (Function[i] == '(')
                {
                    check++;
                }
                else if (Function[i] == ')')
                {
                    check--;
                }
                else if ((Function[i] == FirstOp || Function[i] == SecondOp) && check == 0) //если нет незакрытых открывающихся скобок и найден знак
                {
                    CurTop.value = Function[i].ToString();                                  //в значение текущей вершины кладем этот знак
                    CurTop.l     = new top()
                    {
                        p = CurTop
                    };                                                        //создаем левое поддерево для этого знака
                    string LeftOperand;
                    if (Function[i] == '-' && Function.Substring(0, i) == "") //обрабатываем ситуацию унарного минуса
                    {
                        LeftOperand = "0";                                    //-х=0-х
                    }
                    else
                    {
                        LeftOperand = Function.Substring(0, i);//иначе берем подстроку строки функцию слева от знака и создаем эту функцию в левом поддереве
                    }
                    CreateFuncTree(CurTop.l, LeftOperand);
                    CurTop.r = new top()
                    {
                        p = CurTop
                    };                                                                           //аналагично для правого поддерева
                    CreateFuncTree(CurTop.r, Function.Substring(i + 1));
                    if (Function[i] == '/' && int.TryParse(CurTop.r.value, out int a) && a == 0) //обрабатываем деление на 0
                    {
                        throw new Exception();
                    }
                    return(true);
                }
            }
            return(false);
        }
Exemple #9
0
 ? new In(top(@in.Needle), top(@in.Haystack))
Exemple #10
0
 public pcm1(d data)
     : base(data)
 {
     this.ftop = new top();
     this.ftop.pData = data;
 }
Exemple #11
0
 public ShosLinkedList2() => Connect(top, bottom);
 public calc0_direct(string src,StreamWriter FerrOut)
     : base(src,FerrOut)
 {
     top= new top();
 }
Exemple #13
0
 public pcm1(d data)
     : base(data)
 {
     this.ftop       = new top();
     this.ftop.pData = data;
 }
Exemple #14
0
 public calc0_direct()
     : base()
 {
     top = new top();
 }
 public FunctionTree(string Function) //конструктор дерева
 {
     Tree   = new top();              //создаем корень дерева
     Tree.p = null;
     CreateFuncTree(Tree, Function);  //запускаем создание дерева
 }
 double GetValuePr(double x, double y, top CurTop)
 {
     if (CurTop.value == "+")//если найден знак операции рекурсивно вычисляем значение функции в левом и правом поддеревьях текущей вершины, к полученным числам применяем знак операции
     {
         return(GetValuePr(x, y, CurTop.l) + GetValuePr(x, y, CurTop.r));
     }
     if (CurTop.value == "-")
     {
         return(GetValuePr(x, y, CurTop.l) - GetValuePr(x, y, CurTop.r));
     }
     if (CurTop.value == "*")
     {
         return(GetValuePr(x, y, CurTop.l) * GetValuePr(x, y, CurTop.r));
     }
     if (CurTop.value == "/")
     {
         double denominator = GetValuePr(x, y, CurTop.r); //для деления отдельно считаем знаменатель
         if (denominator == 0)                            //превращаем ноль в маленькое число
         {
             denominator = 1e-6;
         }
         return(GetValuePr(x, y, CurTop.l) / denominator);
     }
     if (CurTop.value == "^")
     {
         int    degree = int.Parse(CurTop.r.value);
         double Var;
         if (CurTop.l.value == "x")
         {
             Var = x;
         }
         else
         {
             Var = y;
         }
         double res = 1;
         while (degree-- != 0)
         {
             res *= Var;
         }
         return(res);
     }
     if (CurTop.value == "sin")
     {
         return(Math.Sin(GetValuePr(x, y, CurTop.l)));
     }
     if (CurTop.value == "cos")
     {
         return(Math.Cos(GetValuePr(x, y, CurTop.l)));
     }
     if (CurTop.value == "tg")
     {
         return(Math.Tan(GetValuePr(x, y, CurTop.l)));
     }
     if (CurTop.value == "x")//если переменная - возвращаем значение выбранное значение переемнной
     {
         return(x);
     }
     if (CurTop.value == "y")
     {
         return(y);
     }
     return(Double.Parse(CurTop.value));//иначе в вершине лежит число - возвращаем число
 }
Exemple #17
0
 var(top, right, bottom, left) = value;
Exemple #18
0
 public calc0_direct(string src, StreamWriter FerrOut)
     : base(src, FerrOut)
 {
     top = new top();
 }
Exemple #19
0
        public static ADDomainInfo Create(top data)
        {
            ADDomainInfo info = new ADDomainInfo();

            foreach (XmlElement item in data.Any)
            {
                string attribute = StripNamespace(item.Name);

                switch (attribute)
                {
                case "configurationNamingContext":
                    info.ConfigurationNamingContext = ExtractStringValue(item);
                    break;

                case "defaultNamingContext":
                    info.DefaultNamingContext = ExtractStringValue(item);
                    break;

                case "dnsHostName":
                    info.DnsHostName = ExtractStringValue(item);
                    break;

                case "domainFunctionality":
                    info.DomainFunctionality = ExtractIntValue(item);
                    break;

                case "forestFunctionality":
                    info.ForestFunctionality = ExtractIntValue(item);
                    break;

                case "netBIOSName":
                    info.NetBIOSName = ExtractStringValue(item);
                    break;

                case "rootDomainNamingContext":
                    info.RootDomainNamingContext = ExtractStringValue(item);
                    break;

                case "schemaNamingContext":
                    info.SchemaNamingContext = ExtractStringValue(item);
                    break;

                case "supportedLDAPVersion":
                    Trace.WriteLine("supportedLDAPVersion: ");
                    if (item.ChildNodes != null)
                    {
                        foreach (XmlNode child in item.ChildNodes)
                        {
                            if (child != null)
                            {
                                Trace.WriteLine(child.InnerText);
                            }
                        }
                    }
                    break;

                case "supportedControl":
                    Trace.WriteLine("supportedControl: ");
                    if (item.ChildNodes != null)
                    {
                        foreach (XmlNode child in item.ChildNodes)
                        {
                            if (child != null)
                            {
                                Trace.WriteLine(child.InnerText);
                            }
                        }
                    }
                    break;

                default:
                    Trace.WriteLine("Other attribute found:" + attribute);
                    break;
                }
            }
            return(info);
        }
 public calc0_direct()
     : base()
 {
     top= new top();
 }