コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if ((materialSingleLineTextField1.Text != String.Empty) && (materialSingleLineTextField2.Text != String.Empty) && (materialSingleLineTextField3.Text != String.Empty) && (materialSingleLineTextField4.Text != String.Empty) && (comboBox1.Text.Length > 0))
            {
                using (PostContext db = new PostContext())
                {
                    LogInfo clientinfo = new LogInfo(materialSingleLineTextField4.Text);
                    db.LogInfo.Add(clientinfo);
                    Random rand   = new Random();
                    var    post   = db.Posts.Where(c => c.City.name == comboBox1.Text).ToList();
                    var    mypost = post[rand.Next(0, post.Count())];


                    Person client = new Person(comboBox1.Text, materialSingleLineTextField1.Text, materialSingleLineTextField2.Text, materialSingleLineTextField3.Text, clientinfo, mypost);
                    MessageBox.Show("Реєстрація пройшла успішно.\nВаш пароль:  " + clientinfo.password + "\nВаше поштове відділення\nзнаходиться за адресою\n" + mypost.address);

                    db.People.Add(client);
                    db.SaveChanges();
                }
            }
            else
            {
                MessageBox.Show("Введіть інформацію у всі поля!");
            }
            materialSingleLineTextField1.Clear();
            materialSingleLineTextField2.Clear();
            materialSingleLineTextField3.Clear();
            materialSingleLineTextField4.Clear();
            comboBox1.SelectedIndex = 0;
        }
コード例 #2
0
ファイル: LogIn.cs プロジェクト: Vitalina2806/AMP
        private void button1_Click(object sender, EventArgs e)
        {
            if ((materialSingleLineTextField1.Text != String.Empty) && (materialSingleLineTextField2.Text != String.Empty))
            {
                using (PostContext db = new PostContext())
                {
                    LogInfo p = new LogInfo();
                    foreach (LogInfo person in db.LogInfo.Include("Person").ToList())
                    {
                        if ((Convert.ToString(person.password) == materialSingleLineTextField2.Text) && (Convert.ToString(person.login) == materialSingleLineTextField1.Text))
                        {
                            p = person;
                        }
                    }
                    if ((Convert.ToString(p.password) == materialSingleLineTextField2.Text) && (Convert.ToString(p.login) == materialSingleLineTextField1.Text))
                    {
                        Form menu = new Menu(p);
                        menu.Show();
                    }
                    else
                    {
                        MessageBox.Show("Невірний пароль або номер телефону.");
                    }
                }
            }

            else
            {
                MessageBox.Show("Авторизація не пройдена у зв'язку з наявністю пустого поля.");
            }
        }
コード例 #3
0
        public void updateInfoAboutCurrentCash(int newcash)
        {
            PostContext context = new PostContext();

            var customer = context.People

                           .Where(c => c.money == money)
                           .FirstOrDefault();

            customer.money = newcash;
            context.SaveChanges();
        }
コード例 #4
0
ファイル: ChangePassword.cs プロジェクト: Vitalina2806/AMP
        private void Button11_Click(object sender, EventArgs e)
        {
            if ((materialSingleLineTextField1.Text != String.Empty) && (materialSingleLineTextField2.Text != String.Empty))
            {
                PostContext context = new PostContext();


                var newpass = context.LogInfo.Include("Person").ToList()

                              .Where(c => c.Person.name == person.name && c.Person.surname == person.surname)
                              .FirstOrDefault();



                if (Convert.ToString(newpass.password) == materialSingleLineTextField1.Text)
                {
                    newpass.password = Convert.ToInt32(materialSingleLineTextField2.Text);
                    context.SaveChanges();

                    DialogResult result = MessageBox.Show("Ваш пароль оновлено.", "Операція успішна", MessageBoxButtons.OK,
                                                          MessageBoxIcon.Information,
                                                          MessageBoxDefaultButton.Button1,
                                                          MessageBoxOptions.DefaultDesktopOnly);


                    if (result == DialogResult.OK)
                    {
                        this.Close();
                    }
                    else
                    {
                        this.Close();
                    }
                }
                else
                {
                    DialogResult result = MessageBox.Show("Поточний пароль неправильний.", "Операція не виконана", MessageBoxButtons.OK,
                                                          MessageBoxIcon.Information,
                                                          MessageBoxDefaultButton.Button1,
                                                          MessageBoxOptions.DefaultDesktopOnly);
                }
            }
            else
            {
                DialogResult result = MessageBox.Show("Поточний чи бажаний пароль не введено.", "Помилка", MessageBoxButtons.OK,
                                                      MessageBoxIcon.Error,
                                                      MessageBoxDefaultButton.Button1,
                                                      MessageBoxOptions.DefaultDesktopOnly);
            }
        }
コード例 #5
0
ファイル: Menu.cs プロジェクト: Vitalina2806/AMP
        private void button2_Click(object sender, EventArgs e)
        {
            Parcel p1 = new Parcel();

            using (PostContext db = new PostContext())
            {
                var parcels = db.Parcels.ToList();

                foreach (Parcel incr in parcels)
                {
                    if (materialSingleLineTextField4.Text == Convert.ToString(incr.TTN))
                    {
                        p1 = incr;
                    }
                }

                if (Convert.ToString(p1.TTN) == materialSingleLineTextField4.Text)
                {
                    dateTimePicker3.Value = Convert.ToDateTime(p1.startDate);
                    dateTimePicker4.Value = Convert.ToDateTime(p1.endDate);
                    materialLabel13.Text  = Convert.ToString(p1.price) + " гривень";
                    materialLabel21.Text  = p1.client;
                    materialLabel16.Text  = p1.mistovidpr;
                    materialLabel17.Text  = p1.mistootr;
                }

                else
                {
                    DialogResult res = MessageBox.Show("Перевірте правильність ТТН.\nПосилка з таким номером не була знайдена.", "Помилка",
                                                       MessageBoxButtons.OK,
                                                       MessageBoxIcon.Error,
                                                       MessageBoxDefaultButton.Button1,
                                                       MessageBoxOptions.DefaultDesktopOnly);

                    if (res == DialogResult.OK)
                    {
                        materialSingleLineTextField4.Clear();
                    }
                    else
                    {
                        materialSingleLineTextField4.Clear();
                    }
                }
            }
        }
コード例 #6
0
ファイル: Menu.cs プロジェクト: Vitalina2806/AMP
        private void Form3_Load(object sender, EventArgs e)
        {
            comboBox1.SelectedIndex = 0;
            comboBox2.SelectedIndex = 0;

            List <Parcel> pp = new List <Parcel>();

            using (PostContext db = new PostContext())
            {
                string otr = current.Person.name + " " + current.Person.surname;
                //sort by method OrderBy(), operator group, .Include()-4,5, Intersect

                var parcelsForCurr = from f in db.Parcels.OrderBy(p => p.startDate).Include("Post").ToList()
                                     .Intersect(db.Parcels.Where(p => p.mistootr == current.Person.city))
                                     group f by f.startDate;



                //Include + group

                foreach (var g in parcelsForCurr)
                {
                    foreach (var p in g)
                    {
                        if (p.otrymuvach == otr)
                        {
                            pp.Add(p);
                        }
                    }
                }
                if (pp.Count > 0)
                {
                    foreach (Parcel count in pp)
                    {
                        dataGridView1.Rows.Add(count.startDate, count.endDate, count.TTN, count.type, count.client);
                    }
                }
                else
                {
                    dataGridView1.Visible = false;
                }
            }
            dateTimePicker2.Value = dateTimePicker1.Value.AddDays(3);
        }
コード例 #7
0
ファイル: Menu.cs プロジェクト: Vitalina2806/AMP
        public Menu(LogInfo ob)
        {
            InitializeComponent();
            var skinmanager = MaterialSkinManager.Instance;

            skinmanager.AddFormToManage(this);
            skinmanager.ColorScheme = new ColorScheme(Primary.Brown700, Primary.Brown600, Primary.Brown700, Accent.DeepOrange100, TextShade.WHITE);
            current        = ob;
            current.Person = ob.Person;


            dataGridView2.Rows.Add("Ім'я", current.Person.name);
            dataGridView2.Rows.Add("Прізвище", current.Person.surname);
            dataGridView2.Rows.Add("Місто", current.Person.city);
            dataGridView2.Rows.Add("Адреса", current.Person.address);
            dataGridView2.Rows.Add("Телефон", current.login);
            dataGridView2.Rows.Add("Пароль", current.password);



            materialSingleLineTextField1.Text = Convert.ToString(current.Person.money);


            using (PostContext db = new PostContext())
            {
                //використання  оператора join, об'єднання двох таблиць
                var postho4ki = from p in db.Posts
                                join c in db.Cities on p.CityId equals c.Id
                                select new { City = c.name, Address = p.address, Number = p.numberOFpost, id = p.Id };

                foreach (var postinka in postho4ki)
                {
                    if (current.Person.city == postinka.City)
                    {
                        materialLabel45.Text = " № " + Convert.ToString(postinka.Number);
                        materialLabel25.Text = postinka.Address;
                        materialLabel29.Text = postinka.City;
                    }
                }
            }
        }
コード例 #8
0
ファイル: LogIn.cs プロジェクト: Vitalina2806/AMP
        private void Form1_Load(object sender, EventArgs e)
        {
            using (PostContext db = new PostContext())
            {
                City kyiv       = new City("Київ");
                City zhytomyr   = new City("Житомир");
                City khmel      = new City("Хмельницький");
                City lviv       = new City("Львів");
                City ternopil   = new City("Тернопіль");
                City odesa      = new City("Одеса");
                City kharkiv    = new City("Харків");
                City chernivtsi = new City("Чернівці");
                City vinnitsa   = new City("Вінниця");
                City ivanoFrank = new City("Івано-Франківськ");

                db.Cities.Add(ivanoFrank);
                db.Cities.Add(kyiv);
                db.Cities.Add(zhytomyr);
                db.Cities.Add(khmel);
                db.Cities.Add(lviv);
                db.Cities.Add(ternopil);
                db.Cities.Add(odesa);
                db.Cities.Add(kharkiv);
                db.Cities.Add(chernivtsi);
                db.Cities.Add(vinnitsa);



                Post kyiv1 = new Post(kyiv, "вул.Шевченківська 12", 1);
                Post kyiv2 = new Post(kyiv, "вул.Проспектна 45", 2);
                Post kyiv3 = new Post(kyiv, "вул.Івана Франка 87/Б", 3);
                Post kyiv4 = new Post(kyiv, "вул.Університетська 23", 4);

                db.Posts.AddRange(new List <Post> {
                    kyiv1, kyiv2, kyiv3, kyiv4
                });

                Post zhytomyr1 = new Post(zhytomyr, "вул.Степана Радченка 1а", 1);
                Post zhytomyr2 = new Post(zhytomyr, "вул.Кривоноса 2", 2);

                db.Posts.AddRange(new List <Post> {
                    zhytomyr1, zhytomyr2
                });

                Post khmel1 = new Post(khmel, "вул.Кам'янецька 45", 1);
                Post khmel2 = new Post(khmel, "вул.Степана Бандери 10", 2);
                Post khmel3 = new Post(khmel, "вул.Інститутська 11", 3);

                db.Posts.AddRange(new List <Post> {
                    khmel1, khmel2, khmel3
                });

                Post lviv1 = new Post(lviv, "вул.Ратушенська 67А", 1);
                Post lviv2 = new Post(lviv, "вул.Годинникова 6", 2);
                Post lviv3 = new Post(lviv, "вул.Західна 9", 3);

                db.Posts.AddRange(new List <Post> {
                    lviv1, lviv2, lviv3
                });

                Post ternopil1 = new Post(ternopil, "вул.Святого Іоана 33", 1);
                Post ternopil2 = new Post(ternopil, "вул.Пресвятоуспенська 333", 2);

                db.Posts.AddRange(new List <Post> {
                    ternopil1, ternopil2
                });

                Post odesa1 = new Post(odesa, "вул.Морська лагуна 5", 1);
                Post odesa2 = new Post(odesa, "вул.Дельфінкова 5А", 2);
                Post odesa3 = new Post(odesa, "вул.Ланжерон 7", 3);

                db.Posts.AddRange(new List <Post> {
                    odesa1, odesa2, odesa3
                });

                Post kharkiv1 = new Post(kharkiv, "вул.Олевандиста Казимира 44", 1);
                Post kharkiv2 = new Post(kharkiv, "вул.Базарна 98", 2);

                db.Posts.AddRange(new List <Post> {
                    kharkiv1, kharkiv2
                });

                Post chernivtsi1 = new Post(chernivtsi, "вул.Тернопільська 2", 1);
                Post chernivtsi2 = new Post(chernivtsi, "вул.Чернівецька 8", 2);

                db.Posts.AddRange(new List <Post> {
                    chernivtsi1, chernivtsi2
                });

                Post vinnitsa1 = new Post(vinnitsa, "вул.Гагаріна 34/2", 1);
                Post vinnitsa2 = new Post(vinnitsa, "вул.Столична 3", 2);

                db.Posts.AddRange(new List <Post> {
                    vinnitsa1, vinnitsa2
                });


                Post ivanoFrank1 = new Post(ivanoFrank, "вул.Соборна Площа 4А", 1);
                Post ivanoFrank2 = new Post(ivanoFrank, "вул.Гагаріна 12", 2);
                Post ivanoFrank3 = new Post(ivanoFrank, "вул.Грушевського 24", 3);

                db.Posts.AddRange(new List <Post> {
                    ivanoFrank1, ivanoFrank2, ivanoFrank3
                });

                db.SaveChanges();
            }
        }
コード例 #9
0
ファイル: Menu.cs プロジェクト: Vitalina2806/AMP
        private void button9_Click(object sender, EventArgs e)
        {
            List <MoneyParcel> posilki = new List <MoneyParcel>();
            PostContext        db      = new PostContext();
            //Операція з множинами
            var vant = db.VantazhParcels.Where(c => (current.Person.name + " " + current.Person.surname) == c.otrymuvach);
            var docs = db.DocParcels.Where(c => (current.Person.name + " " + current.Person.surname) == c.otrymuvach);
            //Агрегатна операція Count
            int neotr = vant.Count() + docs.Count();
            var money = db.MoneyParcels.Where(p => p.suma < 5000)
                        .Intersect(db.MoneyParcels.Where(p => p.mistootr == current.Person.city));

            foreach (MoneyParcel m in money)
            {
                if (m.otrymuvach == (current.Person.name + " " + current.Person.surname))
                {
                    posilki.Add(m);
                }
            }
            if (posilki.Count > 0)
            {
                dataGridView1.Visible = true;

                int suma = 0;

                foreach (MoneyParcel counter in posilki)
                {
                    suma += counter.suma;
                }

                MessageBox.Show("Загальна сума грошових відправлень на\nВаш рахунок складає " + Convert.ToString(suma) + " гривень.\n" + "У вас неотримано " + neotr + " відправлення(-ь).\nЇх можна отримати за адресою\nВашого поштового відділення.", "Отримання відправлення", MessageBoxButtons.OK,
                                MessageBoxIcon.Information,
                                MessageBoxDefaultButton.Button1,
                                MessageBoxOptions.DefaultDesktopOnly);
                materialSingleLineTextField1.Text = Convert.ToString(addToCurrentCash(Convert.ToInt32(materialSingleLineTextField1.Text), suma));


                foreach (MoneyParcel count in posilki)
                {
                    db.MoneyParcels.Remove(count);
                    db.SaveChanges();
                }

                //refresh datagridview



                List <Parcel> pp = new List <Parcel>();
                if (dataGridView1.Rows.Count != null)
                {
                    dataGridView1.Rows.Clear();
                    string otr            = current.Person.name + " " + current.Person.surname;
                    var    parcelsForCurr = db.Parcels;


                    foreach (Parcel p in parcelsForCurr)
                    {
                        if (p.otrymuvach == otr)
                        {
                            pp.Add(p);
                        }
                    }

                    foreach (Parcel count in pp)
                    {
                        dataGridView1.Rows.Add(count.startDate, count.endDate, count.TTN, count.type, count.client);
                    }
                }
                else
                {
                    MessageBox.Show("Неотриманих відправлень немає", "Інформаційне повідомлення");
                    dataGridView1.Visible = false;
                }
            }
            else
            {
                MessageBox.Show("Посилки можна отримати за адресою \nнайближчого поштового відділення.", "Отримання відправлення", MessageBoxButtons.OK,
                                MessageBoxIcon.Information,
                                MessageBoxDefaultButton.Button1,
                                MessageBoxOptions.DefaultDesktopOnly);
            }
        }
コード例 #10
0
ファイル: Menu.cs プロジェクト: Vitalina2806/AMP
        private void button1_Click(object sender, EventArgs e)
        {
            string date = dateTimePicker1.Value.ToShortDateString();
            string data = dateTimePicker2.Value.ToShortDateString();

            DialogResult result = MessageBox.Show(
                " \nПосилка буде доставлена " + Convert.ToString(data) + " до міста " + comboBox2.Text + ".\nОтримувач: " + materialSingleLineTextField2.Text + "\nЯкщо інформація введена правильно, натисніть кнопку <ТАК>.",
                "Перевірка введеної інформації",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Information,
                MessageBoxDefaultButton.Button1,
                MessageBoxOptions.DefaultDesktopOnly);

            if (result == DialogResult.Yes)
            {
                int vaga = 0;
                if (comboBox1.SelectedIndex == 0)
                {
                    vaga = 1;
                }
                else if (comboBox1.SelectedIndex == 1)
                {
                    vaga = 5;
                }
                else if (comboBox1.SelectedIndex == 2)
                {
                    vaga = 10;
                }
                else if (comboBox1.SelectedIndex == 3)
                {
                    vaga = 15;
                }
                else if (comboBox1.SelectedIndex == 4)
                {
                    vaga = 20;
                }


                List <DocParcel>     documents = new List <DocParcel>();
                List <VantazhParcel> vantazh   = new List <VantazhParcel>();
                List <MoneyParcel>   money     = new List <MoneyParcel>();

                using (PostContext db = new PostContext())
                {
                    var otrymuvach = db.People.Where(c => c.name + " " + c.surname == materialSingleLineTextField2.Text).Include(t => t.post).FirstOrDefault();
                    if (otrymuvach != null)
                    {
                        if (checkedListBox1.SelectedIndex == 0)
                        {
                            if ((Convert.ToInt32(materialSingleLineTextField1.Text) - 15) == 0)
                            {
                                MessageBox.Show("Недостатньо коштів на рахунку для відправлення посилки.", "Помилка відправлення", MessageBoxButtons.OK,
                                                MessageBoxIcon.Information,
                                                MessageBoxDefaultButton.Button1,
                                                MessageBoxOptions.DefaultDesktopOnly);
                            }
                            else
                            {
                                DocParcel dp = new DocParcel(date, data, current.Person, comboBox2.Text, checkedListBox1.Text, materialLabel6, materialLabel9, materialSingleLineTextField2.Text, otrymuvach.post);
                                documents.Add(dp);
                                db.DocParcels.Add(dp);

                                db.Parcels.Add(dp);
                                db.SaveChanges();

                                materialSingleLineTextField1.Text = Convert.ToString(liambdaviraz(Convert.ToInt32(materialSingleLineTextField1.Text), dp.price));
                            }
                        }

                        else if (checkedListBox1.SelectedIndex == 1)
                        {
                            if ((Convert.ToInt32(materialSingleLineTextField1.Text) - Convert.ToInt32(materialSingleLineTextField3.Text)) < 50)
                            {
                                MessageBox.Show("Недостатньо коштів на рахунку для відправлення посилки.", "Помилка відправлення", MessageBoxButtons.OK,
                                                MessageBoxIcon.Information,
                                                MessageBoxDefaultButton.Button1,
                                                MessageBoxOptions.DefaultDesktopOnly);
                            }
                            else
                            {
                                MoneyParcel mp = new MoneyParcel(date, data, current.Person, comboBox2.Text, checkedListBox1.Text, Convert.ToInt32(materialSingleLineTextField3.Text), materialLabel6, materialLabel9, materialSingleLineTextField2.Text, otrymuvach.post);

                                money.Add(mp);
                                db.Parcels.Add(mp);
                                db.MoneyParcels.Add(mp);
                                db.SaveChanges();
                                showcashformp scash = delegate
                                {
                                    materialSingleLineTextField1.Text = Convert.ToString(Convert.ToInt32(materialSingleLineTextField1.Text) - mp.price - mp.suma);
                                };

                                scash();
                            }
                        }
                        else if (checkedListBox1.SelectedIndex == 2)
                        {
                            if (Convert.ToInt32(materialSingleLineTextField1.Text) < vaga * 15)
                            {
                                MessageBox.Show("Недостатньо коштів на рахунку для відправлення посилки.", "Помилка відправлення", MessageBoxButtons.OK,
                                                MessageBoxIcon.Information,
                                                MessageBoxDefaultButton.Button1,
                                                MessageBoxOptions.DefaultDesktopOnly);
                            }
                            else
                            {
                                VantazhParcel vp = new VantazhParcel(date, data, current.Person, comboBox2.Text, checkedListBox1.Text, vaga, materialLabel6, materialLabel9, materialSingleLineTextField2.Text, otrymuvach.post);
                                vantazh.Add(vp);


                                showcash mon = new showcash(showmoneyintextbox);
                                materialSingleLineTextField1.Text = mon(gettxtbox(materialSingleLineTextField1.Text), vp.price);
                                db.Parcels.Add(vp);
                                db.VantazhParcels.Add(vp);
                                db.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        DialogResult err = MessageBox.Show(
                            "Отримувача з введеними даними немає в базі даних нашої пошти.",
                            "Посилка не відправлена",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error,
                            MessageBoxDefaultButton.Button1,
                            MessageBoxOptions.DefaultDesktopOnly);
                    }
                }
            }
        }