/// <summary>
        /// Десериализует организацию (xml)
        /// </summary>
        /// <param name="path">Путь к файлу импорта (xml)</param>
        /// <returns>Организация</returns>
        public static Organization xmlOrganizationDeserializer(string path)
        {
            string xml = File.ReadAllText(path);

            Director dir = Director
                           .getInstance(XDocument.Parse(xml).Element("ORGANIZATION").Attribute("dirname").Value,
                                        XDocument.Parse(xml).Element("ORGANIZATION").Attribute("dirlastname").Value,
                                        DateTime.Parse(XDocument.Parse(xml).Element("ORGANIZATION").Attribute("dirbirth").Value));

            AssociateDirector assDir = AssociateDirector
                                       .getInstance(XDocument.Parse(xml).Element("ORGANIZATION").Attribute("assdirname").Value,
                                                    XDocument.Parse(xml).Element("ORGANIZATION").Attribute("assdirlastname").Value,
                                                    DateTime.Parse(XDocument.Parse(xml).Element("ORGANIZATION").Attribute("assdirbirth").Value));

            Organization org = new Organization(XDocument.Parse(xml).Element("ORGANIZATION").Attribute("orgname").Value, dir, assDir);

            var colDepsXml = XDocument.Parse(xml)
                             .Element("ORGANIZATION")
                             .Element("DEPARTMENTS")
                             .Elements("DEPARTMENT")
                             .ToList();

            // Цикл по департаментам в организации
            foreach (var itemDepXml in colDepsXml)
            {
                Department dep = deserializerSubDeps(itemDepXml);


                org.addDepartament(dep);                 // добавляем созданный отдел в организацию
            }

            return(org);
        }
Exemple #2
0
 /// <summary>
 /// Конструктор 2.1
 /// </summary>
 /// <param name="name">Наименование организации</param>
 /// <param name="director">Директор организации</param>
 /// <param name="associateDirector">Зам. директора</param>
 /// <param name="departments">Департаменты в организации</param>
 public Organization(string name, Director director, AssociateDirector associateDirector, ObservableCollection <Department> departments)
 {
     this.Name         = name;
     this.Dir          = director;
     this.AssociateDir = associateDirector;
     this.departments  = departments;
 }
Exemple #3
0
 /// <summary>
 /// Возвращает инстанс зам. директора
 /// </summary>
 /// <param name="name"></param>
 /// <param name="lastName"></param>
 /// <param name="salary"></param>
 /// <returns></returns>
 public static AssociateDirector getInstance(string name, string lastName, DateTime birthDate)
 {
     if (instance == null)
     {
         instance = new AssociateDirector(name, lastName, birthDate);
     }
     return(instance);
 }
 /// <summary>
 /// Конструктор 1.2
 /// </summary>
 /// <param name="name">Наименование организации</param>
 /// <param name="director">Директор организации</param>
 /// <param name="associateDirector">Зам. директора</param>
 public Organization(string name, Director director, AssociateDirector associateDirector)
     : this(name, director, associateDirector, new ObservableCollection <Department>())
 {
 }