public UserData GetUserData(string networkDomain, string networkAlias)
        {
            if (userData != null && userData.networkDomain == networkDomain && userData.networkAlias == networkAlias)
            {
                return(userData);
            }

            serviceLIV.UseDefaultCredentials = true;
            WebOutlookCrm.smmActivities.USERDATADataTable userDataTable = serviceLIV.GetUserData(networkDomain, networkAlias);
            if (userDataTable.Count != 0)
            {
                userData = new UserData();
                userData.OUTLOOKCALENDAROUTLOOKENTRYID = userDataTable[0].OUTLOOKCALENDAROUTLOOKENTRYID;
                userData.OUTLOOKCALENDAROUTLOOKSTOREID = userDataTable[0].OUTLOOKCALENDAROUTLOOKSTOREID;
                userData.COMPANY = userDataTable[0].COMPANY;
                userData.EMPLID  = userDataTable[0].EMPLID;
                userData.smmSynchronizeDaysBack    = userDataTable[0].smmSynchronizeDaysBack;
                userData.smmSynchronizeDaysForward = userDataTable[0].smmSynchronizeDaysForward;
                userData.CompanyCountryId          = userDataTable[0].LANGUAGEID;
                isTest = false;
            }
            else
            {
                serviceSTG.UseDefaultCredentials = true;
                WebOutlookCrmST.smmActivities.USERDATADataTable userDataTableST = serviceSTG.GetUserData(networkDomain, networkAlias);
                if (userDataTableST.Count == 0)
                {
                    return(null);
                }

                userData = new UserData();
                userData.OUTLOOKCALENDAROUTLOOKENTRYID = userDataTableST[0].OUTLOOKCALENDAROUTLOOKENTRYID;
                userData.OUTLOOKCALENDAROUTLOOKSTOREID = userDataTableST[0].OUTLOOKCALENDAROUTLOOKSTOREID;
                userData.COMPANY = userDataTableST[0].COMPANY;
                userData.EMPLID  = userDataTableST[0].EMPLID;
                userData.smmSynchronizeDaysBack    = userDataTableST[0].smmSynchronizeDaysBack;
                userData.smmSynchronizeDaysForward = userDataTableST[0].smmSynchronizeDaysForward;
                userData.CompanyCountryId          = userDataTableST[0].LANGUAGEID;
                isTest = true;
            }

            userData.networkDomain = networkDomain;
            userData.networkAlias  = networkAlias;

            return(userData);
        }
        public bool Sync()
        {
            service.UseDefaultCredentials = true;
            this.log = service.IsLog();

            WindowsIdentity wi = WindowsIdentity.GetCurrent();

            string domainUserName = wi.Name;

            networkDomain = domainUserName.Split('\\')[0] + ".Local";
            networkAlias  = domainUserName.Split('\\')[1];

            if (service.IsTestMode())
            {
                networkAlias = service.GetNetworkAlias();
            }

            WebOutlookCrm.smmActivities.USERDATADataTable userDataTable = service.GetUserData(networkDomain, networkAlias);



            //Csak egy sor lesz
            if (userDataTable.Count != 0)
            {
                //foreach (WebOutlookCrm.smmActivities.USERDATADataTable item in userDataTable)
                // {
                if (log)
                {
                    service.WriteInfo("++++++WebService: userDataTable.Count != 0");
                }
                this.outlookCalendarID = userDataTable[0].OUTLOOKCALENDAROUTLOOKENTRYID;

                this.outlookCalendarStoreID = (userDataTable[0].OUTLOOKCALENDAROUTLOOKSTOREID == null) ? string.Empty : userDataTable[0].OUTLOOKCALENDAROUTLOOKSTOREID.ToString();
                this.comapny = userDataTable[0].COMPANY;
                this.empId   = userDataTable[0].EMPLID;
                //}

                this.rangeDateBack = service.FilterDateBack();
                this.rangeDateNext = service.FilterDateNext();

                if (string.IsNullOrEmpty(outlookCalendarID) || string.IsNullOrEmpty(outlookCalendarStoreID))
                {
                    if (log)
                    {
                        service.WriteInfo("++++++WebService: string.IsNullOrEmpty(outlookCalendarID) || string.IsNullOrEmpty(outlookCalendarStoreID");
                    }
                    Outlook.NameSpace  ns     = outlookApp.GetNamespace("MAPI");
                    Outlook.MAPIFolder folder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);

                    List <DropDownItem> calendarItemList = new List <DropDownItem>();

                    DropDownItem calendarItem = new DropDownItem(folder.Name, folder.EntryID, folder.StoreID);

                    calendarItemList.Add(calendarItem);

                    foreach (Outlook.MAPIFolder subFolder in folder.Folders)
                    {
                        DropDownItem calendarItemAdd = new DropDownItem(subFolder.Name, subFolder.EntryID, subFolder.StoreID);
                        calendarItemList.Add(calendarItemAdd);
                    }
                    DropDownItem returnedItem = null;

                    returnedItem = ShowDialog("Calendars:", "Please choose from calendars", calendarItemList);

                    if (returnedItem == null)
                    {
                        ///System.Windows.Forms.MessageBox.Show("Plase chose calendar!");
                        throw new Exception("Please choose from calendars!");
                        //return false;
                    }
                    else
                    {
                        this.outlookCalendarID      = returnedItem.OutlookCalendarID;
                        this.outlookCalendarStoreID = returnedItem.OutlookCalendarStoreID;

                        if (!string.IsNullOrEmpty(comapny) && !string.IsNullOrEmpty(empId) && !string.IsNullOrEmpty(this.outlookCalendarID) && !string.IsNullOrEmpty(this.outlookCalendarStoreID))
                        {
                            service.UpdateEmplTable(empId, outlookCalendarID, outlookCalendarStoreID, comapny);
                        }
                        else
                        {
                            //System.Windows.Forms.MessageBox.Show("The user data table is not set (empty empId or company or OutlookCalendarStoreID or  OutlookCalendarID)!");
                            throw new Exception("The user data table is not set (empty empId or company or OutlookCalendarStoreID or  OutlookCalendarID)!");
                            //return false;
                        }
                    }
                }

                if (!string.IsNullOrEmpty(comapny) && !string.IsNullOrEmpty(empId) && !string.IsNullOrEmpty(this.outlookCalendarID) && !string.IsNullOrEmpty(this.outlookCalendarStoreID))
                {
                    if (log)
                    {
                        service.WriteInfo("++++++WebService: SetAppointment");
                    }
                    SetAppointment(comapny, empId);
                    smmActivitiList = null;
                }
                else
                {
                    //System.Windows.Forms.MessageBox.Show("The user data table is not set (empty empId or company or OutlookCalendarStoreID or  OutlookCalendarID)!");
                    //return false;
                    throw new Exception("The user data table is not set (empty empId or company or OutlookCalendarStoreID or  OutlookCalendarID, DoaminUser: "******"Domain: " + networkDomain + ")!");
                }
            }
            else
            {
                //System.Windows.Forms.MessageBox.Show("The user data table is not set!");
                //return false;
                throw new Exception("The user data table is not set!");
            }


            return(true);;
            //SetAppointment("BDT", "LWIEGAARD");
        }