예제 #1
0
        /// <summary>
        /// Запись рабочего времени в расписание
        /// </summary>
        /// <param name="timeWorked">Запись в словаре: пара Дата-время</param>
        /// <param name="worker">Работник</param>
        public void SetWorkingTime(Dictionary <DateTime, string> timeWorked, Person worker)
        {
            var context = new TimetableContext();

            var person = context.Person.Single(p => p.ID == worker.ID);

            foreach (KeyValuePair <DateTime, string> pair in timeWorked)
            {
                //Проверка существует ли уже данный день в расписании
                bool net = context.Net.Any <Net>(w => w.PersonID == person.ID && w.DateWorked == pair.Key.Date);

                //если нет, то добавить смену текущему работнику за текущий день
                if (!net)
                {
                    var shift = context.Net.Add(new Net
                    {
                        Person     = person,
                        DateWorked = pair.Key,
                        TimeWorked = pair.Value,
                    });

                    context.SaveChanges();
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Удаление работника из БД
        /// </summary>
        public void DeletePerson()
        {
            var context = new TimetableContext();

            Person person = context.Person
                            .FirstOrDefault(c => c.ID == ID);

            context.Person.Remove(person);

            context.SaveChanges();
        }
예제 #3
0
        /// <summary>
        /// Редактирование данных текущего сотрудника
        /// </summary>
        public void UpdatePerson()
        {
            var context = new TimetableContext();

            var person = context.Person.Single(p => p.ID == ID);

            person.BirthDate  = BirthDate;
            person.FirstName  = FirstName;
            person.Gender     = Gender;
            person.LastName   = LastName;
            person.Patronymic = Patronymic;

            context.SaveChanges();
        }
예제 #4
0
        /// <summary>
        /// Добавление нового работника
        /// </summary>
        public void AddNewPerson()
        {
            var context = new TimetableContext();

            var person = context.Person.Add(new Person
            {
                ID         = this.ID,
                Gender     = this.Gender,
                FirstName  = this.FirstName,
                LastName   = this.LastName,
                BirthDate  = this.BirthDate,
                Patronymic = this.Patronymic
            });

            context.SaveChanges();
        }