public bool Can_get_sale(spisok_users.nest u, tree_sale.root s)
        {
            int time          = Convert.ToInt32(s.date);
            int user_day      = (Convert.ToInt32(u.date[0]) - 48) * 10 + (Convert.ToInt32(u.date[1]) - 48);
            int user_month    = (Convert.ToInt32(u.date[3]) - 48) * 10 + (Convert.ToInt32(u.date[4]) - 48);
            int user_year     = (Convert.ToInt32(u.date[8]) - 48) * 10 + (Convert.ToInt32(u.date[9]) - 48);
            int compare_day   = 10;
            int compare_month = 7;
            int compare_year  = 20;
            int years         = 0;

            while (time >= 12)
            {
                time -= 12;
                years++;
            }
            if (compare_year - years < user_year)
            {
                return(false);
            }
            else if (user_month + time > 12)
            {
                user_month -= 12 + time;
                user_year++;
            }
            else if (user_year + years > compare_year)
            {
                return(false);
            }
            else if ((user_day > compare_day) && (user_month >= compare_month) && (user_year + years == compare_year))
            {
                return(false);
            }
            return(true);
        }
Exemple #2
0
        private void button9_Click(object sender, EventArgs e)
        {
            tree_providers.root check1 = provider.find(sale_find_provider.Text);
            spisok_tariph.nest  check  = null;
            if (check1 != null)
            {
                check = tariph.find(sale_find_tariph.Text, provider.find(sale_find_provider.Text));
            }

            if (sale_find_tariph.Text == "" || sale_find_provider.Text == "" || sale_find_size.Text == "")
            {
                error_number = 1;
                message_box(error_number);
            }
            else if (!sale_check(sale_find_size.Text) || sale_find_provider.Text.Length > 30 || sale_find_tariph.Text.Length > 30)
            {
                error_number = 2;
                message_box(error_number);
            }
            else if (check == null || check1 == null)
            {
                error_number = 3;
                message_box(error_number);
            }
            else
            {
                tree_sale.root  s          = sales.find(sale_find_size.Text, tariph.find(sale_find_tariph.Text, provider.find(sale_find_provider.Text)));
                searchform_sale searchform = new searchform_sale(s, this);
                searchform.Show();
            }

            sale_find_provider.Text = sale_find_size.Text = sale_find_tariph.Text = "";
        }
        private void buttonCreateReport_Click(object sender, EventArgs e)
        {
            dataGridViewSalesRep.Rows.Clear();

            if (textBoxLogin.Text == "")
            {
                error_number = 1;
                f2.message_box(error_number);
                return;
            }
            else if (textBoxLogin.Text.Length > 30)
            {
                error_number = 2;
                f2.message_box(error_number);
                return;
            }
            user = f2.user.find(textBoxLogin.Text);
            tree_sale.root sale = f2.sales.main;
            string[]       line = new string[3];
            if (user != null)
            {
                potential_sale(line, sale, user);
            }
            else
            {
                error_number = 3;
                f2.message_box(error_number);
            }
        }
        public void sale_obhod_po_skidke(tree_sale.root s, string size, string[] line)
        {
            if (s == null)
            {
                return;
            }
            int i = f2.user.compare_int(s.size, size);

            if (i == -1)
            {
                sale_obhod_po_skidke(s.right, size, line);
            }
            else if (i == 0)
            {
                for (int j = 0; j < s.tariph.provider.current_user; j++)
                {
                    spisok_users.nest u = f2.user.find(s.tariph.provider.users[j]);
                    if ((u.tariph == s.tariph) && f2.user.Can_get_sale(u, s))
                    {
                        line[0] = u.login;
                        line[1] = u.tariph.provider.title;
                        line[2] = u.tariph.name;
                        dataGridViewSaleForUsers.Rows.Add(line);
                        num++;
                    }
                }
                sale_obhod_po_skidke(s.left, size, line);
                sale_obhod_po_skidke(s.right, size, line);
            }
            else if (i == 1)
            {
                sale_obhod_po_skidke(s.left, size, line);
            }
        }
Exemple #5
0
 public void delete_tariph(spisok_tariph.nest tar, tree_sale.root current)
 {
     if (current == null)
     {
         return;
     }
     delete_tariph(tar, current.left);
     delete_tariph(tar, current.right);
     if (current.tariph == tar)
     {
         delete(current.size, current.tariph);
     }
 }
 public void potential_sale(string[] line, tree_sale.root s, spisok_users.nest u)
 {
     if (s == null)
     {
         return;
     }
     potential_sale(line, s.left, u);
     if (f2.user.Can_get_sale(u, s))
     {
         line[0] = s.size;
         line[1] = s.tariph.provider.title;
         line[2] = s.tariph.name;
         dataGridViewSalesRep.Rows.Add(line);
     }
     potential_sale(line, s.right, u);
 }
 public tree_sale.root check_for_sale(spisok_tariph.nest tar, tree_sale.root s, spisok_users.nest u)
 {
     if (s == null)
     {
         return(null);
     }
     tree_sale.root s1 = check_for_sale(tar, s.left, u);
     tree_sale.root s2 = check_for_sale(tar, s.right, u);
     if ((u.tariph == s.tariph) && (Can_get_sale(u, s)))
     {
         if (s2 != null)
         {
             if (s2.size.Length > s.size.Length)
             {
                 return(s2);
             }
             else if (s2.size[0] > s.size[0])
             {
                 return(s2);
             }
             else if (s2.size[1] > s.size[1])
             {
                 return(s2);
             }
         }
         else
         {
             return(s);
         }
     }
     else
     if ((s1 != null) || (s2 != null))
     {
         if (s2 != null)
         {
             return(s2);
         }
         else
         {
             return(s1);
         }
     }
     return(null);
 }
Exemple #8
0
        public void output_for_sales(StreamWriter file, tree_sale.root parent)
        {
            if (parent == null)
            {
                return;
            }
            string output = "";

            output += parent.size;
            output += "/";
            output += parent.date;
            output += "/";
            output += parent.tariph.name;
            output += "/";
            output += parent.tariph.provider.title;
            file.WriteLine(output);
            output_for_sales(file, parent.left);
            output_for_sales(file, parent.right);
        }
 private void buttonCreateReport_Click(object sender, EventArgs e)
 {
     dataGridViewUsersRep.Rows.Clear();
     if (textBoxProvider.Text == "")
     {
         error_number = 1;
         f2.message_box(error_number);
     }
     else if (textBoxProvider.Text.Length > 30)
     {
         error_number = 2;
         f2.message_box(error_number);
     }
     pr = f2.provider.find(textBoxProvider.Text);
     string[] line = new string[2];
     for (int i = 0; i < pr.current_user; i++)
     {
         spisok_users.nest u = f2.user.find(pr.users[i]);
         if (u == null)
         {
             error_number = 3;
             f2.message_box(error_number);
         }
         else
         {
             tree_sale.root s = f2.user.check_for_sale(u.tariph, f2.sales.main, u);
             if (s == null)
             {
                 line[0] = u.login;
                 line[1] = "0";
                 dataGridViewUsersRep.Rows.Add(line);
             }
             else
             {
                 line[0] = u.login;
                 line[1] = s.size;
                 dataGridViewUsersRep.Rows.Add(line);
             }
         }
     }
 }
Exemple #10
0
        public void sale_out(string[] line, tree_sale.root s)
        {
            if (s == null)
            {
                return;
            }

            /*for (int i = 0; i < s.tariph.provider.current_user; i++)
             * {
             *  spisok_users.nest u = user.find(s.tariph.provider.users[i]);
             *  if (s.tariph == u.tariph)
             *  {
             *      if (user.Can_get_sale(u, s))
             *      {
             *          line[0] = s.size;
             *      }
             *      else
             *      {
             *          line[0] = "0";
             *      }
             *      line[1] = s.date + " Месяцев";
             *      line[2] = u.hash.ToString();
             *      line[3] = u.login;
             *      line[4] = s.tariph.name;
             *      line[5] = u.date;
             *      dataGridViewUsersAndSells.Rows.Add(line);
             *
             *  }
             *
             * }*/
            line[0] = s.size;
            line[1] = s.tariph.name;
            line[2] = s.date;
            dataGridViewSales.Rows.Add(line);
            sale_out(line, s.left);
            sale_out(line, s.right);
        }
Exemple #11
0
 public searchform_sale(tree_sale.root a, Form2 f2)
 {
     InitializeComponent();
     this.f2 = f2;
     this.s  = a;
 }