private bool InitializeTellerManagement()
        {
            if (ServicesProvider.GetInstance().GetGeneralSettings().UseTellerManagement)
            {
                if (User.CurrentUser.UserRole.IsRoleForTeller)
                {
                    FrmOpenCloseTeller frm = new FrmOpenCloseTeller(true);
                    frm.ShowDialog();

                    if (frm.DialogResult == DialogResult.OK)
                    {
                        if (frm.Teller != null && frm.Teller.Id != 0)
                        {
                            Teller.CurrentTeller = frm.Teller;
                            //tellerManagementToolStripMenuItem.Visible = true;
                            ServicesProvider.GetInstance().GetEventProcessorServices().LogUser(OUserEvents.UserOpenTellerEvent,
                                Teller.CurrentTeller.Name + " opened", User.CurrentUser.Id);
                            ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(frm.OpenOfDayAmountEvent);

                            if (frm.OpenAmountPositiveDifferenceEvent != null)
                                ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                                    frm.OpenAmountPositiveDifferenceEvent);
                            else if (frm.OpenAmountNegativeDifferenceEvent != null)
                                ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                                    frm.OpenAmountNegativeDifferenceEvent);

                        }

                        return true;
                    }
                    return false;
                }
            }
            return true;
        }
        private void LanguageToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string language = sender == frenchToolStripMenuItem ? "fr" :
                    (sender == russianToolStripMenuItem ? "ru-RU" :
                    (sender == englishToolStripMenuItem ? "en-US" :
                    (sender == spanishToolStripMenuItem ? "es-ES" : "pt")));

            if (ServicesProvider.GetInstance().GetGeneralSettings().UseTellerManagement)
            {
                if (User.CurrentUser.UserRole.IsRoleForTeller)
                {
                    if (Teller.CurrentTeller != null && Teller.CurrentTeller.Id != 0)
                    {
                        FrmOpenCloseTeller frm = new FrmOpenCloseTeller(false);
                        frm.ShowDialog();

                        if (frm.DialogResult == DialogResult.OK)
                        {
                            _showTellerFormOnClose = false;
                            Teller.CurrentTeller = null;
                            ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                                                                                    frm.CloseOfDayAmountEvent);
                            if (frm.CloseAmountNegativeDifferenceEvent != null)
                                ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                                    frm.CloseAmountNegativeDifferenceEvent);
                            else if (frm.CloseAmountPositiveDifferenceEvent != null)
                                ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                                    frm.CloseAmountPositiveDifferenceEvent);
                            RestartApplication(language);
                        }
                    }
                }
                else RestartApplication(language);
            }
            else RestartApplication(language);
        }
        private bool CloseTeller()
        {
            if (Teller.CurrentTeller != null)
            {
                FrmOpenCloseTeller frm = new FrmOpenCloseTeller(false);
                frm.ShowDialog();
                if (frm.DialogResult == DialogResult.OK)
                {
                    string desc = Teller.CurrentTeller.Name + " closed";
                    Teller.CurrentTeller = null;
                    ServicesProvider.GetInstance().GetEventProcessorServices().LogUser(
                                                                        OUserEvents.UserCloseTellerEvent,
                                                                        desc,
                                                                        User.CurrentUser.Id);
                    ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(frm.CloseOfDayAmountEvent);
                    if (frm.CloseAmountNegativeDifferenceEvent != null)
                        ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                            frm.CloseAmountNegativeDifferenceEvent);
                    else if (frm.CloseAmountPositiveDifferenceEvent != null)
                        ServicesProvider.GetInstance().GetEventProcessorServices().FireTellerEvent(
                            frm.CloseAmountPositiveDifferenceEvent);
                    return true;
                }
            }

            return false;
        }