public bool InitializeCompanyInfo(int mCompanySerial)
        {
            companySerial = mCompanySerial;

            String sqlQueryPart1 = @"select generic_work_fields.id, 

                                    specific_work_fields.id, 
									employees_info.employee_id, 

									company_name.company_name, 
									generic_work_fields.generic_work_field, 
									specific_work_fields.specific_work_field, 
									employees_info.name 

							from erp_system.dbo.company_name 
							inner join erp_system.dbo.employees_info 
							on company_name.added_by = employees_info.employee_id 
							inner join erp_system.dbo.company_field_of_work 
							on company_name.company_serial = company_field_of_work.company_serial 
							inner join erp_system.dbo.specific_work_fields 
							on company_field_of_work.work_field = specific_work_fields.id 
							inner join erp_system.dbo.generic_work_fields 
							on specific_work_fields.generic_work_field = generic_work_fields.id 
							where company_name.company_serial = "                            ;

            String sqlQueryPart2 = ";";

            sqlQuery  = String.Empty;
            sqlQuery += sqlQueryPart1;
            sqlQuery += companySerial;
            sqlQuery += sqlQueryPart2;

            BASIC_STRUCTS.SQL_COLUMN_COUNT_STRUCT queryColumns = new BASIC_STRUCTS.SQL_COLUMN_COUNT_STRUCT();

            queryColumns.sql_int    = 3;
            queryColumns.sql_string = 4;

            if (!initializationObject.GetRows(sqlQuery, queryColumns, BASIC_MACROS.SEVERITY_HIGH))
            {
                return(false);
            }

            primaryFieldId   = initializationObject.rows[0].sql_int[0];
            secondaryFieldId = initializationObject.rows[1].sql_int[0];
            ownerUserId      = initializationObject.rows[2].sql_int[0];

            companyName    = initializationObject.rows[0].sql_string[0];
            primaryField   = initializationObject.rows[1].sql_string[0];
            secondaryField = initializationObject.rows[2].sql_string[0];
            ownerUser      = initializationObject.rows[3].sql_string[0];

            addressKnown = false;

            return(true);
        }
        public bool InitializeEmployeeInfo(String mBusinessEmail)
        {
            businessEmail = mBusinessEmail;

            String sqlQueryPart1 = @"select employees_info.employee_id, 
		employees_info.employee_department, 
		employees_info.employee_team, 
		employees_info.employee_position, 

		employees_educational_qualifications.graduation_year, 
		employees_educational_qualifications.certificate, 
		employees_educational_qualifications.major, 

        banks_names.id,
        employees_payroll_info.payroll_id,
        employees_payroll_info.account_id,

        employees_salaries.salary,

		employees_info.birth_date, 
		employees_info.join_date, 

		employees_info.name, 
		employees_info.gender, 
		departments_type.department, 
		teams_type.team, 
		positions_type.position, 

		employees_personal_emails.email, 
		employees_business_phones.phone, 
		employees_personal_phones.phone, 

		educational_degrees.educational_degree, 
		educational_majors.educational_major, 

        employees_initials.employee_initial,

		banks_names.bank_name

		from erp_system.dbo.employees_info 
		inner join erp_system.dbo.departments_type 
		on employees_info.employee_department = departments_type.id 
		inner join erp_system.dbo.teams_type 
		on employees_info.employee_team = teams_type.id 
		inner join erp_system.dbo.positions_type 
		on employees_info.employee_position = positions_type.id 
		inner join erp_system.dbo.employees_business_emails 
		on employees_info.employee_id = employees_business_emails.id 
		left join erp_system.dbo.employees_personal_emails 
		on employees_info.employee_id = employees_personal_emails.id 
		left join erp_system.dbo.employees_business_phones 
		on employees_info.employee_id = employees_business_phones.id 
		left join erp_system.dbo.employees_personal_phones 
		on employees_info.employee_id = employees_personal_phones.id 
		left join erp_system.dbo.employees_initials 
		on employees_info.employee_id = employees_initials.id 
		left join erp_system.dbo.employees_educational_qualifications
		on employees_info.employee_id = employees_educational_qualifications.employee_id
		left join erp_system.dbo.educational_degrees 
		on employees_educational_qualifications.certificate = educational_degrees.id 
		left join erp_system.dbo.educational_majors 
		on employees_educational_qualifications.major = educational_majors.id 
        left join erp_system.dbo.employees_salaries
        on employees_info.employee_id = employees_salaries.id
        left join erp_system.dbo.employees_payroll_info
        on employees_info.employee_id = employees_payroll_info.employee_id
        left join erp_system.dbo.banks_names
        on employees_payroll_info.bank_id = banks_names.id
		where employees_business_emails.email = '"        ;
            String sqlQueryPart2 = "';";

            sqlQuery  = string.Empty;
            sqlQuery += sqlQueryPart1;
            sqlQuery += businessEmail;
            sqlQuery += sqlQueryPart2;

            BASIC_STRUCTS.SQL_COLUMN_COUNT_STRUCT queryColumns = new BASIC_STRUCTS.SQL_COLUMN_COUNT_STRUCT();

            queryColumns.sql_int      = 9;
            queryColumns.sql_bigint   = 1;
            queryColumns.sql_money    = 1;
            queryColumns.sql_datetime = 2;
            queryColumns.sql_string   = 12;

            if (!initializationObject.GetRows(sqlQuery, queryColumns, BASIC_MACROS.SEVERITY_HIGH))
            {
                return(false);
            }

            employeeId     = initializationObject.rows[0].sql_int[0];
            departmentId   = initializationObject.rows[0].sql_int[1];
            teamId         = initializationObject.rows[0].sql_int[2];
            positionId     = initializationObject.rows[0].sql_int[3];
            graduationYear = initializationObject.rows[0].sql_int[4];

            educationalQualificationId = initializationObject.rows[0].sql_int[5];
            majorId = initializationObject.rows[0].sql_int[6];

            salary = initializationObject.rows[0].sql_money[0];

            birthDateStruct = initializationObject.rows[0].sql_datetime[0];
            joinDateStruct  = initializationObject.rows[0].sql_datetime[1];

            joinDate  = joinDateStruct.ToString();
            birthDate = birthDateStruct.ToString();

            name   = initializationObject.rows[0].sql_string[0];
            gender = initializationObject.rows[0].sql_string[1];

            department = initializationObject.rows[0].sql_string[2];
            team       = initializationObject.rows[0].sql_string[3];
            position   = initializationObject.rows[0].sql_string[4];

            personalEmail = initializationObject.rows[0].sql_string[5];
            businessPhone = initializationObject.rows[0].sql_string[6];
            personalPhone = initializationObject.rows[0].sql_string[7];

            educationalQualification = initializationObject.rows[0].sql_string[8];
            major = initializationObject.rows[0].sql_string[9];

            initials = initializationObject.rows[0].sql_string[10];

            payrollInfo = new List <COMPANY_ORGANISATION_MACROS.BANK_STRUCT>();

            for (int i = 0; i < initializationObject.rows.Count; i++)
            {
                COMPANY_ORGANISATION_MACROS.BANK_STRUCT tempItem = new COMPANY_ORGANISATION_MACROS.BANK_STRUCT();

                tempItem.bank_id    = initializationObject.rows[i].sql_int[7];
                tempItem.payroll_id = initializationObject.rows[i].sql_int[8];
                tempItem.account_id = (ulong)initializationObject.rows[i].sql_bigint[0];

                tempItem.bank_name = initializationObject.rows[i].sql_string[11];

                payrollInfo.Add(tempItem);
            }

            return(true);
        }