Example #1
0
        /// <summary>
        /// Додаємо відвідувачів
        /// </summary>
        private void btn_AddVisitors_Click(object sender, EventArgs e)
        {
            if (textBox_Visitors.Text == "")
                return;

            using (DoorsEntities db = new DoorsEntities())
            {
                var note = db.Visitors.FirstOrDefault(v => v.DateTime == dateTimePicker1.Value.Date);

                if (note != null)
                {
                    // Якщо запис існує змінюємо кількість відвідувачів
                    note.VisitorsCount = Convert.ToInt32(textBox_Visitors.Text);
                }                    
                else
                {
                    // Якщо записа не існує створюємо нову
                    var newnote = new Visitor()
                    {
                        DateTime = dateTimePicker1.Value.Date,
                        VisitorsCount = Convert.ToInt32(textBox_Visitors.Text)
                    };
                    db.Visitors.Add(newnote);
                }
                db.SaveChanges();
            }
            textBox_Visitors.ReadOnly = true;
        }
Example #2
0
        /// <summary>
        /// Видалити дані з таблиці Витрат по id
        /// </summary>
        private void btn_deleteDataFromOutlay_Click(object sender, EventArgs e)
        {
            if (textBox_idOutlay.Text == "")
                return;

            // ID позиції для видалення
            uint id = Convert.ToUInt32(textBox_idOutlay.Text);

            using (var db = new DoorsEntities())
            {
                OutlayMoney notice = db.OutlayMoneys
                                    .Where(p => p.Id == id)
                                    .FirstOrDefault();

                db.OutlayMoneys.Remove(notice);

                DialogResult dr;
                dr = MessageBox.Show("Ви впевнені, що хочете видалити даний запис", "Видалити запис?", MessageBoxButtons.OKCancel);
                if (dr == DialogResult.OK)
                    db.SaveChanges();
            }

            // Оновлюємо таблицю gridview і перераховуємо денний баланс грошей
            LoadOutlayTableToGridView();
            CalculateDayBalance();
        }
Example #3
0
        /// <summary>
        /// Відображення кількості відвідувачів за день
        /// </summary>
        private void LoadVisitors()
        {
            string count = "";

            using (DoorsEntities db = new DoorsEntities())
            {                
                var query = db.Visitors.Find(dateTimePicker1.Value.Date);
                if (query != null)
                    count = query.VisitorsCount.ToString();
            }

            // Якщо немає даних в БД, то дозволяємо вводити дані
            // Якщо дані існують, то закриваємо поле для редагування
            if (count != "")
            {
                textBox_Visitors.ReadOnly = true;
                textBox_Visitors.Text = count;
            }
            else
            {
                textBox_Visitors.ReadOnly = false;
                textBox_Visitors.Text = count;
            }
        }
Example #4
0
        /// <summary>
        /// Зберегти дані в таблицю Витрат
        /// </summary>
        private void btn_SaveDataToOutlayTable_Click(object sender, EventArgs e)
        {
            if (!ValidateInputFieldsInOutlay())
                return;

            OutlayMoney notice = new OutlayMoney()
            {
                DateOut = dateTimePicker1.Value.Date,
                Summa = Convert.ToDecimal(textBox_SummaOutlay.Text),                 
                WhereSpend = textBox_WhereMoneyGoes.Text,
                WhoReceive = textBox_WhomeReceiveMoney.Text
            };

            using (DoorsEntities db = new DoorsEntities())
            {
                try
                {
                    db.OutlayMoneys.Add(notice);
                    db.SaveChanges();
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException)
                {
                    MessageBox.Show("Переконайтесь, що Ви відобразили всі необхідні записи за попередні дні " +
                                     "або переконайтесь, що вибрана Вами дата вірна.", "Помилка при веденні журналу обліку", 
                                     MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                    WriteLogErrorFile.WriteInLog(logErrorFile, ex.ToString());
                }                  
            }

            // Оновлюємо таблицю gridview і перераховуємо денний баланс грошей
            LoadOutlayTableToGridView();
            CalculateDayBalance();
        }
Example #5
0
        /// <summary>
        /// Редагувати дані в таблиці Витрат
        /// </summary>
        private void btn_EditDataToOutlay_Click(object sender, EventArgs e)
        {
            if (!ValidateInputFieldsInOutlay() || textBox_idOutlay.Text == "")
                return;

            uint id = Convert.ToUInt32(textBox_idOutlay.Text);

            using (DoorsEntities db = new DoorsEntities())
            {
                var notice = db.OutlayMoneys.FirstOrDefault(n => n.Id == id);

                if (notice != null)
                {
                    notice.DateOut = dateTimePicker1.Value.Date;
                    notice.Summa = Convert.ToDecimal(textBox_SummaOutlay.Text);
                    notice.WhereSpend = textBox_WhereMoneyGoes.Text;
                    notice.WhoReceive = textBox_WhomeReceiveMoney.Text;
                    db.SaveChanges();
                }
            }

            // Refresh view
            LoadOutlayTableToGridView();
            CalculateDayBalance();
        }
Example #6
0
        /// <summary>
        /// Видалити дані з таблиці по ід
        /// </summary>
        private void btn_deleteData_Click(object sender, EventArgs e)
        {
            if (textBox_id1.Text == "")
                return;

            int idToDel = Convert.ToInt32(textBox_id1.Text);

            using (var db = new DoorsEntities())
            {
                IncomeMoney notice = db.IncomeMoneys
                                    .Where(p => p.Id == idToDel)
                                    .FirstOrDefault();

                db.IncomeMoneys.Remove(notice);

                DialogResult dr;
                dr = MessageBox.Show("Ви впевнені, що хочете видалити даний запис", "Видалити запис?", MessageBoxButtons.OKCancel);
                if (dr == DialogResult.OK)
                    db.SaveChanges();
            }

            // Refresh view
            LoadIncomeTableInGridView();
            CalculateDayBalance();
        }
Example #7
0
        /// <summary>
        /// Завантаження таблиці Outlay в datagridview
        /// </summary>
        private void LoadOutlayTableToGridView()
        {
            using (var db = new DoorsEntities())
            {
                var query = from s in db.OutlayMoneys
                            where s.DateOut == dateTimePicker1.Value.Date
                            select s;

                if (query == null)
                    return;

                var notices = query.ToList();

                dataGridView2.DataSource = notices;
            }

            dataGridView2.Columns["DateOut"].Visible = false;
            dataGridView2.Columns["Summa"].HeaderText = "Сума";
            dataGridView2.Columns["WhereSpend"].HeaderText = "Куди витрачено";
            dataGridView2.Columns["WhoReceive"].HeaderText = "Кому видано";
            dataGridView2.AutoResizeColumns();
        }
Example #8
0
        /// <summary>
        /// Редагувати дані в таблиці
        /// </summary>
        private void btn_EditData_Click(object sender, EventArgs e)
        {
            if (!ValidateInputFieldsInIncome() || textBox_id1.Text == "")
                return;

            uint id = Convert.ToUInt32(textBox_id1.Text);

            using (DoorsEntities db = new DoorsEntities())
            {
                var notice = db.IncomeMoneys.FirstOrDefault(n => n.Id == id);

                if (notice != null)
                {
                    notice.DateIn = dateTimePicker1.Value.Date;
                    notice.Summa = Convert.ToDecimal(textBox_Summ1.Text);
                    notice.Customer = textBox_WhoGive1.Text;
                    notice.EmployeeId = (short) (comboBox_whoReceive1.SelectedIndex + 1);
                    db.SaveChanges();
                }
            }

            // Refresh view
            LoadIncomeTableInGridView();
            CalculateDayBalance();
        }
Example #9
0
        /// <summary>
        /// Зберегти дані в таблицю
        /// </summary>
        private void btn_SaveData_Click(object sender, EventArgs e)
        {
            if (!ValidateInputFieldsInIncome())
                return;

            IncomeMoney notice = new IncomeMoney()
            {
                DateIn = dateTimePicker1.Value.Date,
                Summa = Convert.ToDecimal(textBox_Summ1.Text),
                Customer = textBox_WhoGive1.Text,
                EmployeeId = (short) (comboBox_whoReceive1.SelectedIndex + 1)
            };

            using (DoorsEntities db = new DoorsEntities())
            {
                try
                {
                    db.IncomeMoneys.Add(notice);    // додаємо запис
                    db.SaveChanges();               // зберігаємо таблицю
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException)
                {
                    MessageBox.Show("Переконайтесь, що Ви відобразили всі необхідні записи за попередні дні " +
                                     "або переконайтесь, що вибрана Вами дата вірна.", "Помилка при веденні журналу обліку",
                                     MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                    WriteLogErrorFile.WriteInLog(logErrorFile, ex.ToString());
                }

            }

            // Оновлюємо view
            LoadIncomeTableInGridView();
            CalculateDayBalance();
        }
Example #10
0
        /// <summary>
        /// Заповнення комбобоксів даними з БД
        /// </summary>
        private void AutoFillComboBox()
        {
            using (DoorsEntities db = new DoorsEntities())
            {
                var query = from s in db.Employees
                            where s.Status == true
                            select s.Name;

                foreach (var item in query)
                {
                    comboBox_whoReceive1.Items.Add(item.ToString());
                }
            }
        }
Example #11
0
        /// <summary>
        /// Завантаження таблиці Income в datagridview
        /// </summary>
        private void LoadIncomeTableInGridView()
        {
            using (var db = new DoorsEntities())
            {
                var query = from s in db.IncomeMoneys
                            where s.DateIn == dateTimePicker1.Value.Date
                            join prod in db.Employees on s.EmployeeId equals prod.Id                            
                            select new
                            { Summa = s.Summa, Customer = s.Customer, Employee=prod.Name, Id=s.Id, EmployeeId=s.EmployeeId, DateIn=s.DateIn };

                if (query == null)
                    return;

                var notices = query.ToList();

                dataGridView1.DataSource = notices;
            }

            dataGridView1.Columns["DateIn"].Visible = false;
            dataGridView1.Columns["EmployeeId"].Visible = false;
            dataGridView1.Columns["Summa"].HeaderText = "Сума";
            dataGridView1.Columns["Customer"].HeaderText = "Від кого поступили";
            dataGridView1.Columns["Employee"].HeaderText = "Хто отримав";
            dataGridView1.AutoResizeColumns();
        }
Example #12
0
        /// <summary>
        /// Розрахунок всіх інформативних полів
        /// </summary>
        private void CalculateDayBalance()
        {
            decimal summaInput, summaOut, moneyInTheMorning, moneyInTheEvening;

            using (DoorsEntities db = new DoorsEntities())
            {
                var queryFromIn = db.IncomeMoneys.Where(p => p.DateIn == dateTimePicker1.Value.Date)
                                            .Sum(p => p.Summa)
                                            .GetValueOrDefault(0);
                summaInput = queryFromIn;

                var queryFromOut = db.OutlayMoneys.Where(p => p.DateOut == dateTimePicker1.Value.Date)
                          .Sum(p => p.Summa)
                          .GetValueOrDefault(0);
                summaOut = queryFromOut;

                var queryInTheMorning = db.Balances.Where(p => p.Date == dateTimePicker1.Value.Date).FirstOrDefault();
                moneyInTheMorning = queryInTheMorning == null ? 0 : queryInTheMorning.SummaInTheMorning;

                var queryInTheEvening = db.Balances.Where(p => p.Date == dateTimePicker1.Value.Date).FirstOrDefault();
                moneyInTheEvening = queryInTheEvening == null ? 0 : queryInTheEvening.SummaInTheEvening;
            }

            textBox_summInputToday.Text = summaInput.ToString();
            textBox_summaOutlayToday.Text = summaOut.ToString();
            textBox_dayBalance.Text = moneyInTheEvening.ToString();
            textBox_moneyYesterdayEvening.Text = moneyInTheMorning.ToString();
        }