Esempio n. 1
0
        /// <summary>
        /// Проверяет БД на наличие записей о группах,
        /// если таковых нет вообще, то метод добавляет
        /// указанные в ТЗ
        /// </summary>
        private void CheckGroupsInDb(object sender, RoutedEventArgs e)
        {
            bool isEmpty = false;

            using (DataModelContext context = new DataModelContext())
            {
                System.Collections.Generic.List <Group> groups = context.Groups.ToList();
                if (groups.Count() == 0)
                {
                    isEmpty = true;

                    Group g1 = new Group {
                        Name = "Manager", SubNumberCoeff = 0.005D, YearsCoefficient = 0.05D, Limit = 0.4D
                    };
                    Group g2 = new Group {
                        Name = "Salesman", SubNumberCoeff = 0.003D, YearsCoefficient = 0.01D, Limit = 0.35D
                    };
                    Group g3 = new Group {
                        Name = "Employee", SubNumberCoeff = 0D, YearsCoefficient = 0.03D, Limit = 0.3D
                    };
                    context.Groups.Add(g1);
                    context.Groups.Add(g2);
                    context.Groups.Add(g3);
                    context.SaveChanges();
                }
            }

            if (isEmpty == true)
            {
                ExampleClass Test = new ExampleClass();
                Test.AddTestPersons();
            }
        }
 /// <summary>
 /// Метод добавляет профиль Person в БД
 /// </summary>
 /// <param name="p">Person p = new Person()</param>
 /// <param name="g">Группа сотрудника</param>
 /// <returns></returns>
 private Person AddProfileToTable(Person p, Group g)
 {
     //создаем контекст данных для передачи профиля сотрудника в БД
     using (DataModelContext context = new DataModelContext())
     {
         context.Groups.Attach(g);
         context.Persons.Add(p);
         context.SaveChanges();
     }
     return(p);
 }
 /// <summary>
 /// Удаляет, выбранные пользователем, данные из БД
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Delete_button_Click(object sender, RoutedEventArgs e)
 {
     using (DataModelContext context = new DataModelContext())
     {
         for (int i = 0; i < personsList.SelectedItems.Count; i++)
         {
             Person person = personsList.SelectedItems[i] as Person;
             context.Persons.Remove(person);
             context.SaveChanges();
         }
         personsList.ItemsSource = context.Persons.ToList();
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Сохраняет выбранных подчиненых в таблицу Subordinate
        /// </summary>
        private void AddSubordinate(Person subPerson, Person superviser)
        {
            using (DataModelContext context = new DataModelContext())
            {
                Subordinate subordinate = new Subordinate();

                subordinate.Name  = subPerson.Name;
                subordinate.Group = subPerson.Group.Name;

                subordinate.PersonId    = superviser.Id;
                subordinate.OwnPersonId = subPerson.Id;
                context.Persons.Attach(superviser);

                context.Subordinates.Add(subordinate);

                context.SaveChanges();
            }
        }
        private static void AddSalaryToDatabase(Person p, string month, string year, double salary)
        {
            using (DataModelContext context = new DataModelContext())
            {
                var sal = p.SalaryHistory.Where(sHistory => sHistory.Month == month &&
                                                sHistory.Year == year);
                //удаляет записи от предыдущих решений
                foreach (Salary _sal in sal)
                {
                    context.Salaries.Remove(_sal);
                }

                Salary s = new Salary {
                    Month         = month,
                    Year          = year,
                    Group         = p.Group.Name,
                    CurrentSalary = salary,
                    Person        = p
                };
                context.Persons.Attach(p);
                context.Salaries.Add(s);
                context.SaveChanges();
            }
        }
Esempio n. 6
0
        public void AddTestPersons()
        {
            List <String> personsList = new List <string> {
                "S", "N", "M", "E", "L", "K", "F", "D", "R", "G", "Q"
            };

            using (DataModelContext context = new DataModelContext())
            {
                List <Group> groups = context.Groups.ToList();
                Person       S      = new Person
                {
                    Name        = "S",
                    BaseSalary  = 30000,
                    Group       = groups[0] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2017-08-31 22:26:59.4535923+02:00")
                };

                Person N = new Person
                {
                    Name        = "N",
                    BaseSalary  = 23000,
                    Group       = groups[0] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2015-03-31 22:26:59.4535923+02:00")
                };

                Person M = new Person
                {
                    Name        = "М",
                    BaseSalary  = 20000,
                    Group       = groups[1] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2015-08-31 22:26:59.4535923+02:00")
                };

                Person E = new Person
                {
                    Name        = "E",
                    BaseSalary  = 13000,
                    Group       = groups[2] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2015-08-31 22:26:59.4535923+02:00")
                };

                Person L = new Person
                {
                    Name        = "L",
                    BaseSalary  = 12000,
                    Group       = groups[2] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2015-03-31 22:26:59.4535923+02:00")
                };

                Person K = new Person
                {
                    Name        = "K",
                    BaseSalary  = 15000,
                    Group       = groups[2] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2015-07-31 22:26:59.4535923+02:00")
                };

                Person F = new Person
                {
                    Name        = "F",
                    BaseSalary  = 13000,
                    Group       = groups[2] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2016-01-31 22:26:59.4535923+02:00")
                };

                Person D = new Person
                {
                    Name        = "D",
                    BaseSalary  = 23000,
                    Group       = groups[0] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2016-01-31 22:26:59.4535923+02:00")
                };

                Person R = new Person
                {
                    Name        = "R",
                    BaseSalary  = 21000,
                    Group       = groups[1] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2016-12-11 22:26:59.4535923+02:00")
                };

                Person G = new Person
                {
                    Name        = "G",
                    BaseSalary  = 21000,
                    Group       = groups[0] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2016-01-31 22:26:59.4535923+02:00")
                };

                Person Q = new Person
                {
                    Name        = "Q",
                    BaseSalary  = 21000,
                    Group       = groups[2] as Group,
                    Login       = "******",
                    Password    = "******",
                    DateOfStart = Convert.ToDateTime("2016-02-21 22:26:59.4535923+02:00")
                };

                context.Groups.Attach(S.Group);
                context.Persons.Add(S);

                context.Groups.Attach(N.Group);
                context.Persons.Add(N);

                context.Groups.Attach(M.Group);
                context.Persons.Add(M);

                context.Groups.Attach(E.Group);
                context.Persons.Add(E);

                context.Groups.Attach(L.Group);
                context.Persons.Add(L);

                context.Groups.Attach(K.Group);
                context.Persons.Add(K);

                context.Groups.Attach(F.Group);
                context.Persons.Add(F);

                context.Groups.Attach(D.Group);
                context.Persons.Add(D);

                context.Groups.Attach(R.Group);
                context.Persons.Add(R);

                context.Groups.Attach(G.Group);
                context.Persons.Add(G);

                context.Groups.Attach(Q.Group);
                context.Persons.Add(Q);

                context.SaveChanges();

                AddSubordinate(N, S);
                AddSubordinate(M, S);
                AddSubordinate(E, S);

                AddSubordinate(K, N);
                AddSubordinate(L, N);

                AddSubordinate(F, M);
                AddSubordinate(D, M);

                AddSubordinate(R, D);
                AddSubordinate(G, D);
                AddSubordinate(Q, D);
            }
        }