예제 #1
0
        private void CreateRoot(UnitOfWork unitOfWork)
        {
            var employeesCreator = new EmployeeCreator(unitOfWork, _auth, _repositoriesFactory);
            var coursesProvider  = new CoursesProvider(unitOfWork, _repositoriesFactory);

            Console.WriteLine("\nTworzenie użytkownika root");
            Console.WriteLine("\nPodaj numer kierunku z listy do której przynależy użytkownik root:");
            int courseId = int.Parse(Console.ReadLine());
            var course   = coursesProvider.GetCourse(courseId);

            Console.WriteLine("\nPodaj nazwę użytkownika do logowania:");
            string userName = Console.ReadLine();

            Console.WriteLine("\nPodaj hasło do logowania:");
            string password = Console.ReadLine();

            Console.WriteLine("\nPodaj adres email:");
            string email = Console.ReadLine();

            Console.WriteLine("\nPodaj imię:");
            string firstName = Console.ReadLine();

            Console.WriteLine("\nPodaj nazwisko:");
            string lastName = Console.ReadLine();

            Console.WriteLine("\nPodaj pytanie do przywracania hasła:");
            string question = Console.ReadLine();

            Console.WriteLine("\nPodaj odpowiedź na pytanie:");
            string answer = Console.ReadLine();

            EmployeeCreateStatus status = EmployeeCreateStatus.None;

            employeesCreator.Create(userName, firstName, lastName, password, email, question, answer, true, true, true, course, out status);
        }
예제 #2
0
    public static void CreateContact(SqlString contactData,
                                     out SqlInt32 contactId,
                                     out SqlInt32 customerId)
    {
        //TODO: When we can pass XML from T-SQL then contactData can be a SqlXmlReader
        using (StringReader sr = new StringReader(contactData.Value))  {
            XmlReader      reader  = XmlReader.Create(sr);
            ContactCreator creator = null;

            try  {
                reader.MoveToContent();
                EnsureEqual(reader.LocalName, "Contact");
                reader.MoveToContent();
                reader.ReadStartElement();

                switch (reader.LocalName)
                {
                case "Individual": creator = new IndividualCreator(); break;

                case "Store": creator = new StoreCreator(); break;

                case "Vendor": creator = new VendorCreator(); break;

                case "Employee": creator = new EmployeeCreator(); break;

                default: break;
                }

                if (creator != null)
                {
                    reader.ReadStartElement();
                    reader.MoveToContent();
                    creator.LoadDictionary(reader);
                    creator.Create();
                    contactId  = creator.ContactId;
                    customerId = creator.CustomerId;
                }
                else
                {
                    contactId  = -1;
                    customerId = -1;

                    throw new AWUtilitiesContactParseException(
                              "Individual | Store | Vendor | Employee", reader.LocalName);
                }
            }
            finally
            {
                reader.Close();
            }
        }
    }
예제 #3
0
        public EmployeeDto Map(Employee source)
        {
            EmployeeDto employeeDto = _employeeCreator.Create(source?.ContractTypeName);

            if (employeeDto != null)
            {
                employeeDto.Id       = source.Id;
                employeeDto.Name     = source.Name;
                employeeDto.Role     = _mapper.Map <RoleDto>(source);
                employeeDto.Contract = _mapper.Map <ContractDto>(source);
            }

            return(employeeDto);
        }
예제 #4
0
        public void Generate()
        {
            PrepareData();

            using (var unitOfWork = new UnitOfWork(_sessionFactory))
            {
                var departmentCreator = new DepartmentCreator(unitOfWork, _repositoriesFactory);
                var courseCreator     = new CourseCreator(unitOfWork, _repositoriesFactory);
                var courseUpdater     = new CourseUpdater(unitOfWork, _repositoriesFactory, _auth);
                var employeesCreator  = new EmployeeCreator(unitOfWork, _auth, _repositoriesFactory);
                var studentCreator    = new StudentCreator(unitOfWork, _repositoriesFactory);
                var studentsImporter  = new CsvStudentsImporter(studentCreator);
                var modesProvider     = new ModesProvider(unitOfWork, _repositoriesFactory);

                var mode = modesProvider.GetModes().First();

                EmployeeCreateStatus status;
                Course rootCourse = null;

                var departments = _document.Descendants("department").ToList();

                foreach (var d in departments)
                {
                    var dName     = d.Attribute("name").Value;
                    var deparment = departmentCreator.Create(dName);

                    var courses = d.Descendants("course").ToList();
                    foreach (var c in courses)
                    {
                        var cName = c.Attribute("name").Value;
                        Console.WriteLine(cName);
                        var course = courseCreator.Create(cName, deparment);

                        if (rootCourse == null)
                        {
                            rootCourse = course;
                        }

                        var employees = c.Descendants("employee").ToList();
                        foreach (var e in employees)
                        {
                            var userName  = e.Attribute("name").Value;
                            var manager   = bool.Parse(e.Attribute("manager").Value);
                            var admin     = bool.Parse(e.Attribute("administrator").Value);
                            var moderator = bool.Parse(e.Attribute("moderator").Value);

                            var firstName = userName.Split('.')[0];
                            var lastName  = userName.Split('.')[1];
                            var mail      = string.Format("{0}@mailinator.com", userName);
                            var employee  = employeesCreator.Create(userName, firstName, lastName, "qwerty", mail, "qwerty", "qwerty", moderator, false, admin, course, out status);

                            if (manager)
                            {
                                courseUpdater.SetManager(course, employee);
                            }
                        }

                        using (var streamReader = new StreamReader("Data/studenci.txt"))
                        {
                            studentsImporter.Import(streamReader.BaseStream, course, mode);
                        }
                    }
                }

                employeesCreator.Create("root", "Jan", "Kowalski", "qwerty", "*****@*****.**", "qwerty", "qwerty", true, true, true, rootCourse, out status);

                Console.WriteLine("\n\nOferty\n\n");
                var companyCreator     = new CompanyCreator(unitOfWork, _repositoriesFactory);
                var offerTypesProvider = new OfferTypeProvider(unitOfWork, _repositoriesFactory);
                var offerCreator       = new OfferCreator(unitOfWork, _repositoriesFactory);

                var companies = _document.Descendants("company").ToList();
                int counter   = 0;
                foreach (var c in companies)
                {
                    counter++;

                    var    companyName = c.Attribute("name").Value;
                    var    city        = c.Attribute("city").Value;
                    var    url         = string.Format("http://www.{0}.pl", companyName);
                    string postalCode  = string.Format("43-3{0}", (counter + 5) * 11);
                    var    street      = string.Format("ul. Przykładowa {0}", (counter + 3) * 14);
                    var    description = string.Format("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.");
                    var    email       = string.Format("{0}@mailinator.com", companyName);
                    var    phone       = string.Format("{0}264{1}24{2}{3}", counter + 1, counter, counter, counter + 1);

                    Console.WriteLine(companyName);

                    var company = companyCreator.Create(companyName, street, city, postalCode, email, phone, url, description);

                    var offers = c.Descendants("offer").ToList();
                    foreach (var o in offers)
                    {
                        var       offerName = o.Attribute("name").Value;
                        var       trade     = o.Attribute("trade").Value;
                        OfferType type      = null;

                        if (o.Attribute("type").Value == "0")
                        {
                            type = offerTypesProvider.GetAllOfferTypes().Single(n => n.Name.ToLower() == "praktyka");
                        }
                        else
                        {
                            type = offerTypesProvider.GetAllOfferTypes().Single(n => n.Name.ToLower() == "staż");
                        }

                        offerCreator.Create(offerName, description, trade, company, type);
                    }
                }
            }
        }