示例#1
0
        //Удаление из базы данных
        private void BDelete_Click(object sender, EventArgs e)
        {
            if (NomerLight == true)
            {
                if (dataGridView.SelectedRows.Count > 0)
                {
                    int  index     = dataGridView.SelectedRows[0].Index;
                    int  id        = 0;
                    bool converted = Int32.TryParse(dataGridView[0, index].Value.ToString(), out id);
                    if (converted == false)
                    {
                        return;
                    }
                    HotelRoom hotelroom = db.HotelRooms.Find(id);
                    db.HotelRooms.Remove(hotelroom);
                    db.SaveChanges();

                    MessageBox.Show("Обьект удален");
                    Nomer();
                }
            }
            else if (ClientLight == true)
            {
                if (dataGridView.SelectedRows.Count > 0)
                {
                    int  index     = dataGridView.SelectedRows[0].Index;
                    int  id        = 0;
                    bool converted = Int32.TryParse(dataGridView[0, index].Value.ToString(), out id);
                    if (converted == false)
                    {
                        return;
                    }
                    Client client = db.Clients.Find(id);
                    db.Clients.Remove(client);
                    db.SaveChanges();

                    MessageBox.Show("Обьект удален");
                    Client();
                }
            }
            else if (RegHotelLight == true)
            {
                if (dataGridView.SelectedRows.Count > 0)
                {
                    int  index     = dataGridView.SelectedRows[0].Index;
                    int  id        = 0;
                    bool converted = Int32.TryParse(dataGridView[0, index].Value.ToString(), out id);
                    if (converted == false)
                    {
                        return;
                    }
                    RegHotel reghotel = db.RegHotels.Find(id);
                    db.RegHotels.Remove(reghotel);
                    db.SaveChanges();

                    MessageBox.Show("Обьект удален");
                    RegHotel();
                }
            }
        }
示例#2
0
        private void BEnd_Click(object sender, EventArgs e)
        {
            RegHotel regHotel = db.RegHotels.Find(id);

            regHotel.desclive = "Оплачено";
            db.SaveChanges();
            this.Close();
        }
示例#3
0
        //Оплата
        public void payForHotel()
        {
            int indexRow = dataGridView.CurrentCell.RowIndex;

            int id = Convert.ToInt32(dataGridView.Rows[indexRow].Cells[0].Value);

            using (var context = new MyDbContext())
            {
                RegHotel regHotel = db.RegHotels.Find(id);

                var query = from x in context.HotelRooms
                            from y in context.RegHotels
                            from z in context.Clients
                            where y.idFlat == regHotel.idFlat && regHotel.idClient == y.idClient && regHotel.startLive == y.startLive && regHotel.endLive == y.endLive && x.idFlat == y.idFlat && z.idClient == y.idClient
                            select new
                {
                    money     = x.payment,
                    name      = z.name,
                    surname   = z.surname,
                    lastname  = z.lastname,
                    nomer     = y.idFlat,
                    startDays = y.startLive,
                    endDays   = y.endLive,
                    count     = z.countDaysLive
                };

                Check check = new Check(this);


                foreach (var x in query.ToList())
                {
                    check.LFIO.Text       = x.surname.ToString() + " " + x.name.ToString() + " " + x.lastname.ToString();
                    check.LNomer.Text     = x.nomer.ToString();
                    check.LStartlive.Text = x.startDays.ToShortDateString().ToString();
                    check.LEndlive.Text   = x.endDays.ToShortDateString().ToString();
                    check.LDays.Text      = ((x.endDays - x.startDays).Days + 1).ToString();

                    if (x.count > 20)
                    {
                        check.LSale.Text = "Есть";
                        int countDays = (x.endDays - x.startDays).Days + 1;
                        int summa     = x.money * countDays;
                        int procent   = (summa / 100) * 15;
                        summa             = summa - procent;
                        check.LSumma.Text = summa.ToString();
                    }
                    else
                    {
                        check.LSale.Text = "Отсутствует";
                        int countDays = (x.endDays - x.startDays).Days + 1;
                        int summa     = x.money * countDays;
                        check.LSumma.Text = summa.ToString();
                    }
                    check.id = id;
                    check.Show();
                }
            }
        }
示例#4
0
        private void BDelete_Click(object sender, RoutedEventArgs e)
        {
            if (NomerLight == true)
            {
                if (dataGridView.SelectedItem.ToString().Count() > 0)
                {
                    dynamic nomerget = dataGridView.SelectedItem;

                    int id = 0;
                    id = Convert.ToInt32(nomerget.Id);


                    HotelRoom hotelroom = db.HotelRooms.Find(id);
                    db.HotelRooms.Remove(hotelroom);
                    db.SaveChanges();

                    MessageBox.Show("Обьект удален");
                    Nomer();
                }
            }
            else if (ClientLight == true)
            {
                if (dataGridView.SelectedItem.ToString().Count() > 0)
                {
                    dynamic clientget = dataGridView.SelectedItem;

                    int id = 0;
                    id = Convert.ToInt32(clientget.Id);

                    Client client = db.Clients.Find(id);
                    db.Clients.Remove(client);
                    db.SaveChanges();

                    MessageBox.Show("Обьект удален");
                    Client();
                }
            }
            else if (RegHotelLight == true)
            {
                if (dataGridView.SelectedItem.ToString().Count() > 0)
                {
                    dynamic regHotel = dataGridView.SelectedItem;

                    int id = 0;
                    id = Convert.ToInt32(regHotel.Id);

                    RegHotel reghotel = db.RegHotels.Find(id);
                    db.RegHotels.Remove(reghotel);
                    db.SaveChanges();

                    MessageBox.Show("Обьект удален");
                    RegHotel();
                }
            }
        }
示例#5
0
        //HotelRoom --------------------------------------------- DATA GRID VIEW ------------------------------------------------ //


        private void BAddNomer_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                using (var context = new MyDbContext())
                {
                    dynamic clientget = DataGridViewClient.SelectedItem;
                    dynamic nomerget  = DataGridViewNomer.SelectedItem;

                    int getclientids = Convert.ToInt32(clientget.Id);
                    int getnomerids  = Convert.ToInt32(nomerget.Id);

                    var getclientid = context.Clients.Where(x => x.idClient == getclientids).Select(x => x.idClient).First();

                    var getnomerid = context.HotelRooms.Where(x => x.idFlat == getnomerids).Select(x => x.idFlat).First();

                    var query = context.RegHotels.Where(x => x.idClient == getclientid && x.idFlat == getnomerid);

                    var reghotel = new RegHotel()
                    {
                        idClient  = getclientids,
                        idFlat    = getnomerid,
                        startLive = dateTimePickerStart.SelectedDate.Value,
                        endLive   = dateTimePickerEnd.SelectedDate.Value,
                        desclive  = CBDesclive.SelectedItem.ToString(),
                    };


                    if (query.ToList().Count > 0)
                    {
                        MessageBox.Show("Такое изделие и материал уже есть");
                    }

                    else
                    {
                        context.RegHotels.Add(reghotel);
                        context.SaveChanges();
                        db.SaveChanges();
                        MessageBox.Show("Добавлено");
                        this.Close();
                    }
                }
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException error)
            {
                MessageBox.Show("Выберите данные в таблице", "ошибка");
            }
            catch (System.FormatException error)
            {
                MessageBox.Show("Укажите вес", "ошибка");
            }
        }
示例#6
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     if (id != null)
     {
         RegHotel regHotel = db.RegHotels.Find(id);
         regHotel.desclive = "Оплачено";
         db.SaveChanges();
         this.Close();
     }
     else
     {
         MessageBox.Show("Не открыта таблица регистрация или не выбран пользователь");
     }
 }
示例#7
0
        private void Add1_Click(object sender, RoutedEventArgs e)
        {
            using (var context = new MyDbContext())
            {
                var res = from x in context.Clients
                          where x.login == login
                          select new
                {
                    Id          = x.idClient,
                    Name        = x.name,
                    Surname     = x.surname,
                    Lastname    = x.lastname,
                    dateOfBirth = x.dataOfBirth,
                    countlive   = x.countDaysLive,
                    desc        = x.deschotel
                };

                dynamic nomerget = dataGridView.SelectedItem;

                int getnomerids = Convert.ToInt32(nomerget.Id);

                var getnomerid = context.HotelRooms.Where(x => x.idFlat == getnomerids).Select(x => x.idFlat).First();

                var regHotel = new RegHotel()
                {
                    idClient  = idclient,
                    idFlat    = getnomerid,
                    startLive = dateTimePickerStart.SelectedDate.Value,
                    endLive   = dateTimePickerEnd.SelectedDate.Value,
                    desclive  = "Не оплачено"
                };

                Client client = db.Clients.Find(idclient);
                {
                    client.countDaysLive = client.countDaysLive + (regHotel.endLive - regHotel.startLive).Days;
                }

                context.RegHotels.Add(regHotel);
                context.SaveChanges();
                db.SaveChanges();
                MessageBox.Show("Вы забронировали номер");
                freenomer();
            }
        }
示例#8
0
        //HotelRoom --------------------------------------------- DATA GRID VIEW ------------------------------------------------ //

        //Добавление
        private void BAdd_Click(object sender, EventArgs e)
        {
            try
            {
                using (var context = new MyDbContext())
                {
                    var query = context.RegHotels.Where(x => x.idFlat == nomerid && (dateTimePickerStart.Value >= x.startLive && x.endLive >= dateTimePickerStart.Value || dateTimePickerEnd.Value >= x.startLive && x.endLive >= dateTimePickerEnd.Value));

                    var regHotel = new RegHotel()
                    {
                        idClient  = clientid,
                        idFlat    = nomerid,
                        startLive = dateTimePickerStart.Value,
                        endLive   = dateTimePickerEnd.Value,
                        desclive  = CBDesclive.SelectedItem.ToString(),
                    };

                    Client client = db.Clients.Find(clientid);
                    {
                        client.countDaysLive = client.countDaysLive + (regHotel.endLive - regHotel.startLive).Days;
                    }

                    if (query.ToList().Count > 0)
                    {
                        MessageBox.Show("Это дата уже занята");
                    }

                    else
                    {
                        context.RegHotels.Add(regHotel);
                        context.SaveChanges();
                        db.SaveChanges();
                        MessageBox.Show("Добавлено");
                        this.Close();
                    }
                }
            }
            catch (System.NullReferenceException error)
            {
                MessageBox.Show("В выпадающим списке выберете данные", "ошибка");
            }
        }
示例#9
0
        private void BAddreg_Click(object sender, EventArgs e)
        {
            using (var context = new MyDbContext())
            {
                var res = from x in context.Clients
                          where x.login == login && x.password == password
                          select new
                {
                    Id          = x.idClient,
                    Name        = x.name,
                    Surname     = x.surname,
                    Lastname    = x.lastname,
                    dateOfBirth = x.dataOfBirth,
                    countlive   = x.countDaysLive,
                    desc        = x.deschotel
                };

                var regHotel = new RegHotel()
                {
                    idClient  = idclient,
                    idFlat    = nomerid,
                    startLive = dateTimePickerStart.Value,
                    endLive   = dateTimePickerEnd.Value,
                    desclive  = "Не оплачено"
                };

                Client client = db.Clients.Find(idclient);
                {
                    client.countDaysLive = client.countDaysLive + (regHotel.endLive - regHotel.startLive).Days;
                }

                context.RegHotels.Add(regHotel);
                context.SaveChanges();
                db.SaveChanges();
                MessageBox.Show("Вы забронировали номер");
                freenomer();
            }
        }
示例#10
0
        //Редактирование
        private void BEdit_Click(object sender, EventArgs e)
        {
            try
            {
                using (var context = new MyDbContext())
                {
                    int indexRow = dataGridView.CurrentCell.RowIndex;

                    int id = Convert.ToInt32(dataGridView.Rows[indexRow].Cells[0].Value);


                    if (ClientLight == true)
                    {
                        Client client = db.Clients.Find(id);

                        EditClient editClient = new EditClient();

                        editClient.TBName.Text                     = client.name; // что бы поля были видны в свойствах нужно было поменять private на internal
                        editClient.TBSurname.Text                  = client.surname;
                        editClient.TBLastname.Text                 = client.lastname;
                        editClient.TBLogin.Text                    = client.login;
                        editClient.TBPassword.Text                 = client.password;
                        editClient.TBSeriapassport.Text            = client.seriaPassport;
                        editClient.TBNumerpassport.Text            = client.numberPassport;
                        editClient.dateTimePickerDateOfBirth.Value = DateTime.Parse(client.dataOfBirth.ToShortDateString());
                        editClient.TBDeschotel.Text                = client.deschotel;
                        DialogResult result = editClient.ShowDialog(this); // в свойствах DialogRisult надо указать ОК

                        if (result == DialogResult.Cancel)
                        {
                            return;
                        }

                        var query = context.Clients.Where(x => x.login == editClient.TBLogin.Text || x.numberPassport == editClient.TBNumerpassport.Text);

                        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Сделать проверку////////////////////////////////////////////////
                        if (query.ToList().Count < 1)
                        {
                            client.name           = editClient.TBName.Text;
                            client.surname        = editClient.TBSurname.Text;
                            client.lastname       = editClient.TBLastname.Text;
                            client.login          = editClient.TBLogin.Text;
                            client.password       = editClient.TBPassword.Text;
                            client.seriaPassport  = editClient.TBSeriapassport.Text;
                            client.numberPassport = editClient.TBNumerpassport.Text;
                            client.dataOfBirth    = DateTime.Parse(editClient.dateTimePickerDateOfBirth.Value.ToString());

                            db.SaveChanges();
                            Client(); // обновляем грид
                            MessageBox.Show("Объект изменён");
                        }
                        else
                        {
                            MessageBox.Show("Логин или Номер Пасспорта такой уже есть в базе данных");
                        }
                    }

                    if (NomerLight == true)
                    {
                        HotelRoom hotelRoom = db.HotelRooms.Find(id);

                        EditNomer editHotelRoom = new EditNomer();

                        editHotelRoom.TBNomer.Text       = hotelRoom.nomer;
                        editHotelRoom.TBCountpeople.Text = hotelRoom.countPeople.ToString();
                        editHotelRoom.CBCateogury.Text   = hotelRoom.category;
                        editHotelRoom.TBPayment.Text     = hotelRoom.payment.ToString();
                        DialogResult result = editHotelRoom.ShowDialog(this);

                        if (result == DialogResult.Cancel)
                        {
                            return;
                        }

                        var query = context.HotelRooms.Where(x => x.nomer == editHotelRoom.TBNomer.Text);
                        if (query.ToList().Count < 1)
                        {
                            hotelRoom.nomer       = editHotelRoom.TBNomer.Text;
                            hotelRoom.category    = editHotelRoom.CBCateogury.SelectedItem.ToString();
                            hotelRoom.countPeople = Convert.ToInt32(editHotelRoom.TBCountpeople.Text);
                            hotelRoom.payment     = Convert.ToInt32(editHotelRoom.TBPayment.Text);

                            db.SaveChanges();
                            Nomer(); // обновляем грид
                            MessageBox.Show("Объект изменён");
                        }
                        else
                        {
                            MessageBox.Show("Такой номер уже существует");
                        }
                    }

                    if (RegHotelLight == true)
                    {
                        RegHotel regHotel = db.RegHotels.Find(id);

                        EditReg editReg = new EditReg();

                        editReg.dateTimePickerStart.Value = regHotel.startLive;
                        editReg.dateTimePickerEnd.Value   = regHotel.endLive;
                        editReg.CBDesclive.Text           = regHotel.desclive;
                        editReg.clientid = regHotel.idClient;
                        editReg.nomerid  = regHotel.idFlat;


                        Client client = db.Clients.Find(regHotel.idClient);
                        {
                            client.countDaysLive = client.countDaysLive - (regHotel.endLive - regHotel.startLive).Days;
                        }

                        DialogResult result = editReg.ShowDialog(this);

                        if (result == DialogResult.Cancel)
                        {
                            return;
                        }

                        var query = context.RegHotels.Where(x => x.idFlat == editReg.nomerid && (editReg.dateTimePickerStart.Value >= x.startLive && x.endLive >= editReg.dateTimePickerStart.Value || editReg.dateTimePickerEnd.Value >= x.startLive && x.endLive >= editReg.dateTimePickerEnd.Value));
                        //Селект из data grid view на номер id
                        var queryPerson = context.RegHotels.Where(x => x.idFlat == editReg.nomerid && x.idClient == editReg.clientid && (editReg.dateTimePickerStart.Value >= x.startLive && x.endLive >= editReg.dateTimePickerStart.Value || editReg.dateTimePickerEnd.Value >= x.startLive && x.endLive >= editReg.dateTimePickerEnd.Value));

                        regHotel.desclive  = editReg.CBDesclive.SelectedItem.ToString();
                        regHotel.startLive = editReg.dateTimePickerStart.Value;
                        regHotel.endLive   = editReg.dateTimePickerEnd.Value;
                        regHotel.idClient  = editReg.clientid;
                        regHotel.idFlat    = editReg.nomerid;

                        client = db.Clients.Find(editReg.clientid);
                        {
                            client.countDaysLive = client.countDaysLive + (editReg.dateTimePickerEnd.Value - editReg.dateTimePickerStart.Value).Days;
                        }

                        if (queryPerson.ToList().Count > 0)
                        {
                            db.SaveChanges();
                            RegHotel();     // обновляем грид
                            MessageBox.Show("Объект изменён");
                        }

                        else if (query.ToList().Count > 0)
                        {
                            MessageBox.Show("Это дата уже занята");
                        }

                        else
                        {
                            db.SaveChanges();
                            RegHotel();     // обновляем грид
                            MessageBox.Show("Объект изменён");
                        }
                    }
                }
            }
            catch (System.NullReferenceException error)
            {
                MessageBox.Show("Выберите таблицу", "Ошибка");
            }
        }
示例#11
0
        private void BImport_Click(object sender, EventArgs e)
        {
            XmlSerialization <CLIENTS> xmlSerialization = new XmlSerialization <CLIENTS>();

            CLIENTS cl = new CLIENTS();     // путь к файлу

            string filePath = @"xml\import.xml";

            cl = (CLIENTS)xmlSerialization.ReadData(filePath, cl);     //дерсериализация

            for (int i = 0; i < cl.CLIENT.Count; i++)
            {
                string clientName           = cl.CLIENT[i].Name;
                string clientSurname        = cl.CLIENT[i].Surname;
                string clientLastname       = cl.CLIENT[i].Lastname;
                string clientLogin          = cl.CLIENT[i].Login;
                string clientPassword       = cl.CLIENT[i].Password;
                string clientSeriaPassport  = cl.CLIENT[i].SeriaPassport;
                string clientNumberPassport = cl.CLIENT[i].NumberPassport;
                string clientDateOfBirth    = cl.CLIENT[i].DateOfBirth;
                string clientDesc           = cl.CLIENT[i].Deschotel;
                string clientCountDays      = cl.CLIENT[i].CountDaysLive;

                //добавление
                using (var context = new MyDbContext())
                {
                    var query = context.Clients.Where(x => x.login == clientLogin || x.numberPassport == clientPassword);

                    var client = new Client()
                    {
                        name           = clientName.ToString(),
                        surname        = clientSurname.ToString(),
                        lastname       = clientLastname.ToString(),
                        login          = clientLogin.ToString(),
                        password       = clientPassword.ToString(),
                        seriaPassport  = clientSeriaPassport.ToString(),
                        numberPassport = clientNumberPassport.ToString(),
                        dataOfBirth    = DateTime.Parse(clientDateOfBirth.ToString()),
                        countDaysLive  = Convert.ToInt32(clientCountDays),
                        deschotel      = clientDesc.ToString()
                    };

                    if (query.ToList().Count < 1)
                    {
                        context.Clients.Add(client);
                        context.SaveChanges();
                    }
                }



                for (int j = 0; j < cl.CLIENT[i].HOTELROOM.Count; j++)
                {
                    string hotelNomer       = cl.CLIENT[i].HOTELROOM[j].Nomer;
                    string hotelCountPeople = cl.CLIENT[i].HOTELROOM[j].CountPeople;
                    string hotelCategory    = cl.CLIENT[i].HOTELROOM[j].Category;
                    string hotelPayment     = cl.CLIENT[i].HOTELROOM[j].Payment;

                    using (var context = new MyDbContext())
                    {
                        var query = context.HotelRooms.Where(x => x.nomer == hotelNomer);

                        var hotelRoom = new HotelRoom()
                        {
                            nomer       = hotelNomer,
                            countPeople = Convert.ToInt32(hotelCountPeople),
                            category    = hotelCategory,
                            payment     = Convert.ToInt32(hotelPayment)
                        };

                        if (query.ToList().Count < 1)
                        {
                            context.HotelRooms.Add(hotelRoom);
                            context.SaveChanges();
                        }
                    }


                    for (int y = 0; y < cl.CLIENT[i].HOTELROOM[j].REGHOTELS.Count; y++)
                    {
                        string regStartlive = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].StartLive.ToString();
                        string regEndLive   = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].EndLive.ToString();
                        string regDescLive  = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].Desclive.ToString();

                        using (var context = new MyDbContext())
                        {
                            var idFlat = context.HotelRooms.Where(x => x.nomer == hotelNomer).Select(x => x.idFlat).First();


                            //var idFlat = from x in context.HotelRooms
                            //             where x.nomer.ToString() == cl.CLIENT[i].HOTELROOM[j].Nomer.ToString()
                            //             select x.idFlat;

                            //foreach (var x in idFlat.ToList())
                            //{
                            //    idFlats = x;
                            //}

                            var idClient = context.Clients.Where(x => x.name == clientName && x.surname == clientSurname && x.lastname == clientLastname && x.seriaPassport == clientSeriaPassport && x.numberPassport == clientNumberPassport && x.login == clientLogin && x.password == clientPassword).Select(x => x.idClient).First();

                            //var idClient = from x in context.Clients
                            //                   where x.name.ToString() == cl.CLIENT[i].Name.ToString() && x.surname.ToString() == cl.CLIENT[i].Surname.ToString() && x.lastname.ToString() == cl.CLIENT[i].Lastname.ToString() && x.seriaPassport.ToString() == cl.CLIENT[i].SeriaPassport.ToString() && x.numberPassport.ToString() == cl.CLIENT[i].NumberPassport.ToString() && x.login.ToString() == cl.CLIENT[i].Login.ToString() && x.password.ToString() == cl.CLIENT[i].Password.ToString()
                            //                   select x.idClient;

                            //foreach (var x in idClient.ToList())
                            //{
                            //    idClients = x;
                            //}

                            int      idFlatTest = Convert.ToInt32(idFlat);
                            DateTime RS         = DateTime.Parse(DateTime.Parse(regStartlive).ToShortDateString().ToString());
                            DateTime RE         = DateTime.Parse(DateTime.Parse(regEndLive).ToShortDateString().ToString());



                            var query = context.RegHotels.Where(x => x.idFlat == idFlatTest && (RS >= x.startLive && x.endLive >= RS || RE >= x.startLive && x.endLive >= RE));

                            if (query.ToList().Count > 0)
                            {
                                MessageBox.Show("Это дата уже занята");
                            }

                            else
                            {
                                var regHotel = new RegHotel()
                                {
                                    idFlat    = Convert.ToInt32(idFlat),
                                    idClient  = Convert.ToInt32(idClient),
                                    startLive = DateTime.Parse(cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].StartLive.ToString()),
                                    endLive   = DateTime.Parse(cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].EndLive.ToString()),
                                    desclive  = cl.CLIENT[i].HOTELROOM[j].REGHOTELS[y].Desclive
                                };

                                context.RegHotels.Add(regHotel);
                                context.SaveChanges();
                            }
                        }
                    }
                }
            }
            MessageBox.Show("Импорт завершён");
        }
示例#12
0
        public void payForHotel()
        {
            try
            {
                dynamic reg = dataGridView.SelectedItem;

                int id = 0;
                id = Convert.ToInt32(reg.Id);


                using (var context = new MyDbContext())
                {
                    RegHotel regHotel = db.RegHotels.Find(id);

                    var query = from x in context.HotelRooms
                                from y in context.RegHotels
                                from z in context.Clients
                                where y.idFlat == regHotel.idFlat && regHotel.idClient == y.idClient && regHotel.startLive == y.startLive && regHotel.endLive == y.endLive && x.idFlat == y.idFlat && z.idClient == y.idClient
                                select new
                    {
                        money     = x.payment,
                        name      = z.name,
                        surname   = z.surname,
                        lastname  = z.lastname,
                        nomer     = y.idFlat,
                        startDays = y.startLive,
                        endDays   = y.endLive,
                        count     = z.countDaysLive
                    };

                    Check check = new Check(this);

                    foreach (var x in query.ToList())
                    {
                        check.LFIO.Content       = x.surname.ToString() + " " + x.name.ToString() + " " + x.lastname.ToString();
                        check.LNomer.Content     = x.nomer.ToString();
                        check.LStartlive.Content = x.startDays.ToShortDateString().ToString();
                        check.LEndlive.Content   = x.endDays.ToShortDateString().ToString();
                        check.LDays.Content      = ((x.endDays - x.startDays).Days + 1).ToString();

                        if (x.count > 20)
                        {
                            check.LSale.Content = "Есть";
                            int countDays = (x.endDays - x.startDays).Days + 1;
                            int summa     = x.money * countDays;
                            int procent   = (summa / 100) * 15;
                            summa = summa - procent;
                            check.LSumma.Content = summa.ToString();
                        }
                        else
                        {
                            check.LSale.Content = "Отсутствует";
                            int countDays = (x.endDays - x.startDays).Days + 1;
                            int summa     = x.money * countDays;
                            check.LSumma.Content = summa.ToString();
                        }
                        check.id = id;
                        check.Show();
                    }
                }
            }
            catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException error)
            {
                MessageBox.Show("В таблице регистрация поле не выбрано");
            }
        }
示例#13
0
        private void BEdit_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                using (var context = new MyDbContext())
                {
                    if (ClientLight == true)
                    {
                        dynamic clients = dataGridView.SelectedItem;

                        int id = 0;
                        id = Convert.ToInt32(clients.Id);
                        Client client = db.Clients.Find(id);

                        EditClient editClient = new EditClient(this);

                        DateTime tempDate = DateTime.Parse(client.dataOfBirth.ToShortDateString().ToString());

                        editClient.clientid             = id;
                        editClient.TBName.Text          = client.name; // что бы поля были видны в свойствах нужно было поменять private на internal
                        editClient.TBSurname.Text       = client.surname;
                        editClient.TBLastname.Text      = client.lastname;
                        editClient.TBLogin.Text         = client.login;
                        editClient.TBPassword.Text      = client.password;
                        editClient.TBSeriapassport.Text = client.seriaPassport;
                        editClient.TBNumerpassport.Text = client.numberPassport;
                        editClient.dateTimePickerDateOfBirth.SelectedDate = tempDate;
                        editClient.TBDeschotel.Text = client.deschotel;

                        editClient.Show();
                    }

                    else if (NomerLight == true)
                    {
                        dynamic nomer = dataGridView.SelectedItem;

                        int id = 0;
                        id = Convert.ToInt32(nomer.Id);
                        HotelRoom hotelRoom = db.HotelRooms.Find(id);

                        EditNomer editNomer = new EditNomer(this);

                        editNomer.nomerid            = id;
                        editNomer.TBNomer.Text       = hotelRoom.nomer;
                        editNomer.TBCountpeople.Text = hotelRoom.countPeople.ToString();
                        editNomer.CBCateogury.Text   = hotelRoom.category;
                        editNomer.TBPayment.Text     = hotelRoom.payment.ToString();

                        editNomer.Show();
                    }

                    else if (RegHotelLight == true)
                    {
                        dynamic reg = dataGridView.SelectedItem;

                        int id = 0;
                        id = Convert.ToInt32(reg.Id);

                        RegHotel regHotel = db.RegHotels.Find(id);

                        EditReg editReg = new EditReg(this);

                        editReg.regid = id;
                        editReg.dateTimePickerStart.SelectedDate = regHotel.startLive;
                        editReg.dateTimePickerEnd.SelectedDate   = regHotel.endLive;
                        editReg.CBDesclive.Text = regHotel.desclive;
                        editReg.clientid        = regHotel.idClient;
                        editReg.nomerid         = regHotel.idFlat;

                        editReg.Show();
                    }
                }
            }
            catch (System.NullReferenceException error)
            {
            }
        }
示例#14
0
        private void BAddNomer_Click(object sender, RoutedEventArgs e)
        {
            using (var context = new MyDbContext())
            {
                RegHotel regHotel = db.RegHotels.Find(regid);

                int getclientids = 0;
                int getnomerids  = 0;

                if (DataGridViewClient.SelectedItem != null)
                {
                    dynamic clientget = DataGridViewClient.SelectedItem;
                    getclientids = Convert.ToInt32(clientget.Id);
                }
                else
                {
                    getclientids = regHotel.idClient;
                }

                if (DataGridViewNomer.SelectedItem != null)
                {
                    dynamic nomerget = DataGridViewNomer.SelectedItem;
                    getnomerids = Convert.ToInt32(nomerget.Id);
                }
                else
                {
                    getnomerids = regHotel.idFlat;
                }


                Client    clients    = db.Clients.Find(getclientids); // добавить GRidView Selected сверху для выбора
                HotelRoom hotelRooms = db.HotelRooms.Find(getnomerids);


                var querygetidClient = context.RegHotels.Where(x => x.idClient == getclientids).Select(x => x.idClient).First();

                Client client = db.Clients.Find(querygetidClient);
                {
                    client.countDaysLive = client.countDaysLive - (regHotel.endLive - regHotel.startLive).Days;
                }

                var query = context.RegHotels.Where(x => x.idFlat == nomerid && (dateTimePickerStart.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerStart.SelectedDate.Value || dateTimePickerEnd.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerEnd.SelectedDate.Value));
                //Селект из data grid view на номер id
                var queryPerson = context.RegHotels.Where(x => x.idFlat == nomerid && x.idClient == clientid && (dateTimePickerStart.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerStart.SelectedDate.Value || dateTimePickerEnd.SelectedDate.Value >= x.startLive && x.endLive >= dateTimePickerEnd.SelectedDate.Value));

                regHotel.desclive  = CBDesclive.SelectedItem.ToString();
                regHotel.startLive = dateTimePickerStart.SelectedDate.Value;
                regHotel.endLive   = dateTimePickerEnd.SelectedDate.Value;
                regHotel.idClient  = clientid;
                regHotel.idFlat    = nomerid;

                client = db.Clients.Find(clientid);
                {
                    client.countDaysLive = client.countDaysLive + (dateTimePickerEnd.SelectedDate.Value - dateTimePickerStart.SelectedDate.Value).Days;
                }

                if (queryPerson.ToList().Count > 0)
                {
                    db.SaveChanges();
                    MessageBox.Show("Объект изменён");
                    this.Close();
                }

                else if (query.ToList().Count > 0)
                {
                    MessageBox.Show("Это дата уже занята");
                }

                else
                {
                    db.SaveChanges();
                    MessageBox.Show("Объект изменён");
                    this.Close();
                }
            }
        }