Esempio n. 1
0
 public Marker(int month, int day, CodingMarker state, int UserId)
 {
     this.month  = month;
     this.day    = day;
     this.state  = state;
     this.UserId = UserId;
 }
Esempio n. 2
0
        //Проверяет изменение каждой ячейки календаря и обновляет их кодировку(CodingMarker) в базе данных(DataModel.Marker) через Controller
        private void dataGridView2_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewTextBoxCell cell = (DataGridViewTextBoxCell)timeTableGrid.Rows[e.RowIndex].Cells[e.ColumnIndex];

            if (Enum.IsDefined(typeof(CodingMarker), cell.Value))
            {
                List <User> users = Controller.getUsersFromDatabase(DepartmentBox, monthNumber);

                CodingMarker state = (CodingMarker)Enum.Parse(typeof(CodingMarker), cell.Value.ToString());
                Controller.setMarkerToDatabase(monthNumber, e.ColumnIndex - 2, users[e.RowIndex].Id, state);
            }
            else if (e.ColumnIndex > 3)
            {
                string output =
                    "Виды отметок с кодировкой на работе, с кодировкой: \n"
                    + "Я – полный рабочий день; \n"
                    + "Н – отсутствие на рабочее место по невыясненным причинам; \n"
                    + "В – выходные и праздничные дни; \n"
                    + "Рв – работа в праздничные и выходные дни; а также работа в праздничные и выходные дни, при \n"
                    + "нахождении в командировке; \n"
                    + "Б – дни временной нетрудоспособности; \n"
                    + "К – командировочные дни; а также, выходные (нерабочие) дни при нахождении в командировке, \n"
                    + "когда сотрудник отдыхает, в соответствии с графиком работы ООО «Наука» в командировке; \n"
                    + "ОТ – ежегодный основной оплаченный отпуск; \n"
                    + "До – неоплачиваемый отпуск (отпуск за свой счет); \n"
                    + "Хд – хозяйственный день; \n"
                    + "У – отпуск на период обучения. \n"
                    + "Ож – Отпуск по уходу за ребенком. \n";



                MessageBox.Show(output, "Вы ввели неправильную кодировку! \n ");

                UpdateSheet();
            }
            else
            {
                string output = "Данные пользователей можно менять в другом окне";
                MessageBox.Show(output, "Запрет! \n ");
            }
        }
Esempio n. 3
0
        // Устанавливает кодированную метку Юзера в календарь, если метка == Н то удаляется т.к метка Н всегда по дефолту даже в выходные дни=)
        public static void setMarkerToDatabase(int monthNumber, int Day, int UserId, CodingMarker state)
        {
            using (DataContext context = new DataContext())
            {
                try
                {
                    var marker = context.Markers.FirstOrDefault(m => m.month == monthNumber && m.day == Day && m.UserId == UserId);
                    if (state == CodingMarker.Н)
                    {
                        context.Markers.Remove(marker);
                        context.SaveChanges();
                    }
                    else
                    {
                        marker.state = state;
                        context.SaveChanges();
                    }
                }
                catch (System.NullReferenceException error)
                {
                    if (state == CodingMarker.Н)
                    {
                        return;
                    }

                    var marker = new Marker()
                    {
                        month  = monthNumber,
                        day    = Day,
                        UserId = UserId,
                        state  = state
                    };
                    context.Markers.Add(marker);
                    context.SaveChanges();
                }
            }
        }