Exemple #1
0
        public Form1()
        {
            InitializeComponent();
            DelegateAction setWin8Theme = new DelegateAction(canApplyWin8Theme,ApplyWin8Theme);
            setWin8Theme.Type = ActionType.Context;
            setWin8Theme.Caption = "Set Win8 Theme";
            setWin8Theme.Behavior = ActionBehavior.HideBarOnClick;
            setWin8Theme.Edge = ActionEdge.Left;
            metroUIView1.ContentContainerActions.Add(setWin8Theme);

            DelegateAction setDefaultTheme = new DelegateAction(canApplyDefaultTheme,ApplyDefaultTheme);
            setWin8Theme.Type = ActionType.Context;
            setWin8Theme.Caption = "Set Default Theme";
            setWin8Theme.Behavior = ActionBehavior.HideBarOnClick;
            setWin8Theme.Edge = ActionEdge.Left;
            metroUIView1.ContentContainerActions.Add(setDefaultTheme);
        }
Exemple #2
0
 public static void Call <F, T1, T2, T3, T4, T5, T6, T7, T8>(this DelegateAction <F, T1, T2, T3, T4, T5, T6, T7, T8> action, F first, Tuple <T1, T2, T3, T4, T5, T6, T7, T8> t)
 {
     action(first, t._1, t._2, t._3, t._4, t._5, t._6, t._7, t._8);
 }
 private void btnUpdateUser_Click(object sender, EventArgs e)
 {
     DelegateAction.RunMethod(UpdateUser);
 }
 public void AddPredicateAndAction(DelegateFunc <T1, bool> test, DelegateAction <T1> action) =>
 _testsAndActions.Add(new Tuple <DelegateFunc <T1, bool>, DelegateAction <T1> >(test, action));
 public ValueOrErrorMatchActionSelector(DelegateAction matchNotFoundAction)
 {
     _matchNotFoundAction = matchNotFoundAction;
 }
Exemple #6
0
 public static void Call <F, T1, T2, T3, T4, T5, T6>(this DelegateAction <F, T1, T2, T3, T4, T5, T6> action, F first, Tuple <T1, T2, T3, T4, T5, T6> t)
 {
     action(first, t.Item1, t.Item2, t.Item3, t.Item4, t.Item5, t.Item6);
 }
Exemple #7
0
 public static void Call <F, T1, T2>(this DelegateAction <F, T1, T2> action, F first, Tuple <T1, T2> t)
 {
     action(first, t.Item1, t.Item2);
 }
        public static void InitQuestionaryContainerActions(TileContainer con)
        {
            con.Properties.ItemCheckMode = TileItemCheckMode.Single;
            DelegateAction deleteAction = new DelegateAction(() => true, () =>
            {
                BaseTile checkedTile = con.Items.First(x => x.Checked.HasValue && x.Checked.Value);
                if (checkedTile.Tag == null)
                    return;
                int? questionaryId = TagHelper.GetQuestionaryId(checkedTile.Tag.ToString());
                if (!questionaryId.HasValue)
                    return;
                try
                {
                    //Questionary questionary = RepoHelper.Repo.GetById<Questionary>(questionaryId.Value);
                    //RepoHelper.Repo.Delete(questionary);
                    con.Items.Remove(checkedTile);
                }
                catch (Exception)
                {
                    
                }
            })
            {
                Caption = "Удалить анкету",
                Type = ActionType.Context,
                Edge = ActionEdge.Right,
                Behavior = ActionBehavior.HideBarOnClick
            };

            con.Actions.Clear();
            con.Actions.Add(deleteAction);

            DelegateAction newAction = new DelegateAction(() => true, () =>
            {
                try
                {
                    var questionary = new questionary() { questionary_title = "Новая анкета" , questions = new HashSet<question>()};
                    //RepoHelper.Repo.Save(questionary);

                    Tile newTile = TileHelper.CreateQuestionaryTile(questionary, (WindowsUIView) con.Manager.View, con);
                    con.Items.Add(newTile);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            })
            {
                Caption = "Новая анкета",
                Edge = ActionEdge.Right
            };
            con.Buttons.AddAction(newAction);
        }
Exemple #9
0
        public MainForm(AutoLoginUser loginUser)
        {
            InitializeComponent();

            //自定义滚动栏的样式
            var mCommonSkins = CommonSkins.GetSkin(UserLookAndFeel.Default.ActiveLookAndFeel);
            SkinElement skinScrollButton = mCommonSkins[CommonSkins.SkinScrollButton];
            skinScrollButton.Color.BackColor = Color.FromArgb(0, 126, 206);
            skinScrollButton.Image.ImageCount = 0;
            skinScrollButton.Glyph.ImageCount = 0;
            //skinScrollButton.Image.SetImage(Properties.Resources.scrollbutton_glyph, Color.Transparent);
            //skinScrollButton.Glyph.SetImage(Properties.Resources.scrollbutton_glyph, Color.Transparent);
            SkinElement skinScrollButtonThumb = mCommonSkins[CommonSkins.SkinScrollButtonThumb];
            skinScrollButtonThumb.Color.BackColor = Color.Transparent;
            skinScrollButtonThumb.Image.ImageCount = 0;
            skinScrollButtonThumb.Glyph.ImageCount = 0;
            //skinScrollButtonThumb.Image.SetImage(Properties.Resources.scrollthumbbutton, Color.Transparent);
            //skinScrollButtonThumb.Glyph.SetImage(Properties.Resources.scrollthumbbutton, Color.Transparent);
            SkinElement skinSkinScrollShaft = mCommonSkins[CommonSkins.SkinScrollShaft];
            skinSkinScrollShaft.Color.BackColor = Color.Transparent;
            skinSkinScrollShaft.Image.ImageCount = 0;
            LookAndFeelHelper.ForceDefaultLookAndFeelChanged();

            mainWindowsUIView.Appearance.BackColor = Color.FromArgb(0, 126, 206);
            //mainWindowsUIView.AppearanceActionsBar.BackColor = Color.FromArgb(0, 169, 254);
            mainWindowsUIView.AppearanceActionsBar.BackColor = Color.FromArgb(0, 90, 144);

            mSrceenWidth = Screen.PrimaryScreen.Bounds.Width;
            mainWindowsUIView.TileContainerProperties.ItemSize = 180 + (int)((mSrceenWidth - 1500) * 0.05);

            DelegateAction mExitAction = new DelegateAction(canExecuteExitFunction, exitActionFunction);
            mExitAction.Caption = "Exit";
            mExitAction.Type = ActionType.Navigation;
            mExitAction.Edge = ActionEdge.Right;
            mExitAction.Behavior = ActionBehavior.HideBarOnClick;
            mExitAction.Image = Properties.Resources.icon_close32;
            mainWindowsUIView.ContentContainerActions.Add(mExitAction);

            DelegateAction mDesktopAction = new DelegateAction(canExecuteDesktopFunction, desktopActionFunction);
            mDesktopAction.Caption = "Desktop";
            mDesktopAction.Type = ActionType.Navigation;
            mDesktopAction.Edge = ActionEdge.Right;
            mDesktopAction.Behavior = ActionBehavior.HideBarOnClick;
            mDesktopAction.Image = Properties.Resources.icon_desktop32;
            mainWindowsUIView.ContentContainerActions.Add(mDesktopAction);

            DelegateAction mAboutAction = new DelegateAction(canExecuteAboutFunction, aboutActionFunction);
            mAboutAction.Caption = "About";
            mAboutAction.Type = ActionType.Navigation;
            mAboutAction.Edge = ActionEdge.Right;
            mAboutAction.Behavior = ActionBehavior.HideBarOnClick;
            mAboutAction.Image = Properties.Resources.icon_about32;
            mainWindowsUIView.ContentContainerActions.Add(mAboutAction);

            mThemeAction = new DelegateAction(canExecuteThemeFunction, themeActionFunction);
            mThemeAction.Caption = "Picture Theme";
            mThemeAction.Type = ActionType.Context;
            mThemeAction.Edge = ActionEdge.Left;
            mThemeAction.Behavior = ActionBehavior.HideBarOnClick;
            mThemeAction.Image = Properties.Resources.icon_pic32;
            mainWindowsUIView.ContentContainerActions.Add(mThemeAction);

            mainWindowsUIView.AddDocument(mPopupTjControl);
            mainWindowsUIView.AddDocument(mPopupYHEditControl);

            mQxDic.Add("SW", 95);
            mQxDic.Add("WD", 30);
            tileQX.Elements[1].Text = string.Format("水位:{0}m  温度:{1}°C", mQxDic["SW"], mQxDic["WD"]);

            if (loginUser!=null)
            {
                this.tileYHGL.Elements[2].Text = String.Format("登录名:{0}", loginUser.UserName);
            }

            loadData();
        }
 private void AddGeneralButtions()
 {
     //Minimize Button
     DelegateAction btnMinimize = new DelegateAction(() => { return true; }, () =>
     {
         WindowState = System.Windows.Forms.FormWindowState.Minimized;
     });
     btnMinimize.Type = ActionType.Navigation;
     btnMinimize.Caption = "Minimize";
     btnMinimize.Behavior = ActionBehavior.Default;
     btnMinimize.Edge = ActionEdge.Default;
     btnMinimize.Image = Properties.Resources.next_32x32;
     windowsUIView.ContentContainerActions.Add(btnMinimize);
 }
 public void AddPrivateButtions()
 {
     //User Setting Button
     DelegateAction btnUserSettings = new DelegateAction(() => { return true; }, () =>
     {
         windowsUIView.Controller.Activate(pageUserSettings);
     });
     btnUserSettings.Type = ActionType.Context;
     btnUserSettings.Caption = "User Settings";
     btnUserSettings.Behavior = ActionBehavior.HideBarOnClick;
     btnUserSettings.Edge = ActionEdge.Left;
     btnUserSettings.Image = Properties.Resources.ide_32x32;
     windowsUIView.ContentContainerActions.Add(btnUserSettings);
 }
 private void btnInsertIntake_Click(object sender, EventArgs e)
 {
     DelegateAction.RunMethod(InsertIntake);
 }
 public void PopulateGridCourse()
 {
     DelegateAction.RunMethod(PopulateGridCourseAction);
 }
 private void btnLinkIntakeCourse_Click(object sender, EventArgs e)
 {
     DelegateAction.RunMethod(LinkIntake);
 }
Exemple #15
0
 public static void Call <T1, T2>(this DelegateAction <T1, T2> action, Tuple <T1, T2> t)
 {
     action(t._1, t._2);
 }
Exemple #16
0
 /// <summary>
 /// Creates a new pool with the specified value creation and reset delegates.
 /// </summary>
 public Pool(DelegateFunc <T> create, DelegateAction <T> reset)
 {
     this.create  = create;
     this.reset   = reset;
     this.release = Release;
 }
Exemple #17
0
 /// <summary>
 /// Update the delegates assigned to a user.
 /// </summary>
 /// <param name="uid">User ID.</param>
 /// <param name="payload"></param>
 /// <returns>Success response.</returns>
 public SuccessResponse UpdateDelegates(long uid, DelegateAction payload)
 {
     return(_apiExecutor.Execute(_userApi.V1UserDelegatesUpdateAsync, _authTokens.SessionToken, uid, payload));
 }
 private void btnDeleteCourse_Click(object sender, EventArgs e)
 {
     DelegateAction.RunMethod(DeleteCourse);
 }
 private void UserLogin(string UserName, string Password)
 {
     DelegateAction.RunMethod(LoginUser);
 }
Exemple #20
0
 public static void Call <F, T1, T2, T3, T4>(this DelegateAction <F, T1, T2, T3, T4> action, F first, Tuple <T1, T2, T3, T4> t)
 {
     action(first, t.Item1, t.Item2, t.Item3, t.Item4);
 }
 public ValueOrErrorMatcher <T> Do(DelegateAction <T> action)
 {
     _addDefaultValueAction(action);
     return(_matcher);
 }
Exemple #22
0
 private void btnUpdateTimeTable_Click(object sender, EventArgs e)
 {
     DelegateAction.RunMethod(UpdateTimeTable);
 }
Exemple #23
0
 /// <summary>
 /// Update the delegates assigned to a user.
 /// </summary>
 /// <param name="uid">User ID.</param>
 /// <param name="payload"></param>
 /// <returns>Success response.</returns>
 public SuccessResponse UpdateDelegates(long uid, DelegateAction payload)
 {
     return(_apiExecutor.Execute(_userApi.V1AdminUserUidDelegatesUpdatePost, _authTokens.SessionToken, (long?)uid, payload));
 }
 public void SetDefaultOnValueAction(DelegateAction <T1> action) =>
 _onValueDefaultAction = new Option <DelegateAction <T1> >(action);
 private void btnPublishStudentAttendance_Click(object sender, EventArgs e)
 {
     DelegateAction.RunMethod(PublishStudentAttedance);
 }
 public void AddErrorAction(DelegateAction <string> action) =>
 _errorActions.Add(action);
Exemple #27
0
 /// <summary>
 /// Calls the specified action with the specified value.
 /// </summary>
 public static void Apply <T>(this T t, DelegateAction <T> a)
 {
     a(t);
 }
Exemple #28
0
        static void Main(string[] args)
        {
            var network = new CellphoneNetwork();
            var action  = new DelegateAction(Exit);
            var random  = new Random();
            var result  = 0;

            action = null;

            // Список со случайными тарифами
            var rateList = new Rate[4]
            {
                new RateSimple(),
                new RateSuper100(),
                new RateSimple(20, 20),
                new RateSuper100(30)
            };

            // Считывание информации из файла
            var file = File.ReadAllLines("spisok.txt", Encoding.Default);

            // Разделение считанной информации на имя, телефон, адрес
            for (int i = 0; i < file.Length; i++)
            {
                var personData = file[i].Split(new char[] { ',' });
                network.PersonList.Add(new Person(personData[0], personData[1], personData[2], rateList[random.Next(0, 4)]));
            }

            Console.WriteLine("Программа ведения учета абонентов телефонной сети\n\n");

            ShowMenu();
            var input = Console.ReadLine();

            CheckInput();

            // Локальный метод для получения ввода пользователя программы
            void CheckInput()
            {
                while (!int.TryParse(input, out result) || result < 1 || result > 5)
                {
                    ShowMenu();
                    input = Console.ReadLine();
                }
                input = string.Empty;

                // Выбор метода для делегата, основываясь на вводимой информации
                action =
                    result == 1 ? ShowPersonList :
                    result == 2 ? ShowRateList :
                    result == 3 ? SearchByName :
                    result == 4 ? SearchByPhoneNumber :
                    result == 5 ? Exit : null as DelegateAction;
                action?.Invoke();
                action = null;
            }

            // Локальный метод для выхода из программы
            void Exit()
            {
                Environment.Exit(0);
            }

            // Локальный метод для отображения всех абонентов
            void ShowPersonList()
            {
                for (int i = 0; i < network.PersonList.Count; i++)
                {
                    network.PersonList[i].DisplayInfo();
                }
                CheckInput();
            }

            // Локальный метод для отображения всех тарифов
            void ShowRateList()
            {
                for (int i = 0; i < rateList.Length; i++)
                {
                    rateList[i].DisplayInfo();
                }
                CheckInput();
            }

            // Локальный метод для поиска абонентов по имени
            void SearchByName()
            {
                Console.WriteLine("Введите часть имени или полное имя: ");
                network.SearchBy(SearchType.ByName, Console.ReadLine());
                CheckInput();
            }

            // Локальный метод для поиска абонентов по номеру телефона
            void SearchByPhoneNumber()
            {
                Console.WriteLine("Введите часть номера или полный номер: ");
                network.SearchBy(SearchType.ByPhoneNumber, Console.ReadLine());
                CheckInput();
            }

            // Локальный метод для отображения меню
            void ShowMenu()
            {
                Console.WriteLine("\nВведите номер нужной опции что бы продолжить: \n\n" +
                                  " 1. Вывести информацию о всех абонентах \n" +
                                  " 2. Вывести информацию о всех тарифах \n" +
                                  " 3. Найти абонента по имени \n" +
                                  " 4. Найти абонента по номеру телефона \n" +
                                  " 5. Выход \n ");
            }
        }
Exemple #29
0
 /// <summary>
 /// Calls the specified action with the specified value and parameter.
 /// </summary>
 public static void Apply <T, P>(this T t, DelegateAction <T, P> a, P p)
 {
     a(t, p);
 }
Exemple #30
0
 public static void Call <T1>(this DelegateAction <T1> action, Tuple <T1> t)
 {
     action(t._1);
 }
Exemple #31
0
 public static void Call <T1, T2, T3>(this DelegateAction <T1, T2, T3> action, Tuple <T1, T2, T3> t)
 {
     action(t.Item1, t.Item2, t.Item3);
 }
Exemple #32
0
 public static void Call <T1, T2, T3, T4>(this DelegateAction <T1, T2, T3, T4> action, Tuple <T1, T2, T3, T4> t)
 {
     action(t._1, t._2, t._3, t._4);
 }
Exemple #33
0
 public static void Call <T1, T2, T3, T4, T5>(this DelegateAction <T1, T2, T3, T4, T5> action, Tuple <T1, T2, T3, T4, T5> t)
 {
     action(t.Item1, t.Item2, t.Item3, t.Item4, t.Item5);
 }
        /// <summary>
        /// Method is used for setting, updating and deleting delegate.
        /// </summary>
        /// <param name="xewsDelegate">Delegate object for manipulation.</param>
        /// <param name="delegateAction">Action on delegate (Add, Update, Delete).</param>
        internal void SetDelegate(XEwsDelegate xewsDelegate, DelegateAction delegateAction)
        {
            ExchangeService ewsSession = this.GetSessionVariable();

            this.ValidateEmailAddress(xewsDelegate.DelegateUserId);
            string currentBindedMailbox = this.GetBindedMailbox();

            DelegateUser delegateUser = new DelegateUser(xewsDelegate.DelegateUserId);
            Mailbox currentMailbox = new Mailbox(currentBindedMailbox);

            delegateUser.ReceiveCopiesOfMeetingMessages = xewsDelegate.ReceivesCopyOfMeeting;
            delegateUser.Permissions.CalendarFolderPermissionLevel = xewsDelegate.CalendarFolderPermission;
            delegateUser.Permissions.InboxFolderPermissionLevel = xewsDelegate.InboxFolderPermission;
            delegateUser.Permissions.ContactsFolderPermissionLevel = xewsDelegate.ContactFolderPermission;
            delegateUser.Permissions.TasksFolderPermissionLevel = xewsDelegate.TaskFolderPermission;

            switch (delegateAction)
            {
                case DelegateAction.Update:
                    ewsSession.UpdateDelegates(currentMailbox, MeetingRequestsDeliveryScope.DelegatesAndMe, delegateUser);
                    break;

                case DelegateAction.Add:
                    ewsSession.AddDelegates(currentMailbox, MeetingRequestsDeliveryScope.DelegatesAndMe, delegateUser);
                    break;

                case DelegateAction.Delete:
                    ewsSession.RemoveDelegates(currentMailbox, delegateUser.UserId);
                    break;
            }
        }
Exemple #35
0
 public static void Call <T1, T2, T3, T4, T5, T6, T7, T8, T9>(this DelegateAction <T1, T2, T3, T4, T5, T6, T7, T8, T9> action, Tuple <T1, T2, T3, T4, T5, T6, T7, T8, T9> t)
 {
     action(t.Item1, t.Item2, t.Item3, t.Item4, t.Item5, t.Item6, t.Item7, t.Item8, t.Item9);
 }
        public static void InitFormContainerActions(TileContainer con)
        {
            con.Properties.ItemCheckMode = TileItemCheckMode.Single;
            var deleteAction = new DelegateAction(() => true, async () =>
            {
                var checkedTile = con.Items.FirstOrDefault(x => x.Checked.HasValue && x.Checked.Value) as Tile;
                if (checkedTile == null) return;
                if (checkedTile.Tag == null) return;
                int? formId = TagHelper.GetFormDataId(checkedTile.Tag.ToString());
                if (!formId.HasValue)
                    return;
                var view = (WindowsUIView)con.Manager.View;
                var fly = view.ContentContainers.FindFirst(x => x is Flyout && x.Caption == "Сообщение") as Flyout;
                var formType = ((Page)checkedTile.ActivationTarget).Document.ControlName;
                
                switch (formType)
                {
                    case "FormData1":
                    case "ArchiveFormData1":
                    case "FormData2":
                    case "ArchiveFormData2":
                        {
                            try
                            {
                                using (var repo = new Repository())
                                {
                                    var data = await repo.GetEduFormDataById(formId.Value);
                                    var form = await repo.GetForm(data.form_id);
                                    var res = fly != null ? GuiUtility.ShowFlyoutMessage(view, fly, "Подтверждение", string.Format("Удалить форму \"{0}\"?", form), FlyoutCommand.Yes, FlyoutCommand.No) : MessageBox.Show(string.Format("Удалить форму {0}?", form), "Подтверждение", MessageBoxButtons.OKCancel);
                                    if (res == DialogResult.No)
                                        return;
                                    if (await form.IsBlockedAsync())
                                    {
                                        var mes = fly != null
                                            ? GuiUtility.ShowFlyoutMessage(view, fly, "Информация",
                                                "Удаление формы отключено, так как срок сдачи истек.\n" +
                                                "Чтобы иметь возможность удалить эту форму, обратитесь к региональному оператору")
                                            : MessageBox.Show("Удаление формы отключено, так как срок сдачи истек.\n" +
                                                "Чтобы иметь возможность удалить эту форму, обратитесь к региональному оператору", "Информация", MessageBoxButtons.OKCancel);
                                        return;
                                    }

                                    var file = await repo.GetFile(data.file_id);
                                    var forms = file.edu_form_data;

                                    var tag = TagHelper.GetFormDataTag(TagHelper.TagType.Tile, data);
                                    var tiles = con.Items.Find(t => t.Tag.ToString() == tag).ToArray();

                                    repo.RemoveRange(forms);
                                    repo.Remove(file);
                                    await repo.SaveChangesAsync();

                                    if (con.Items.Count == 1)
                                        con.Items.Clear();
                                    else
                                        con.Items.RemoveRange(tiles);
                                }
                            }
                            catch (Exception ex)
                            {
                                var mess = fly != null ?
                                    GuiUtility.ShowFlyoutMessage(view, fly, "Ошибка удаления", ex.Message) :
                                    MessageBox.Show(ex.Message, "Ошибка удаления", MessageBoxButtons.OK);
                            }
                            break;
                        }
                    case "FormData3":
                    case "ArchiveFormData3":
                    case "FormData4":
                    case "ArchiveFormData4":
                        {
                            try
                            {
                                using (var repo = new Repository())
                                {
                                    var data = await repo.GetMunitFormDataById(formId.Value);
                                    var form = await repo.GetForm(data.form_id);
                                    var res = fly != null ? GuiUtility.ShowFlyoutMessage(view, fly, "Подтверждение", string.Format("Удалить форму \"{0}\"?", form), FlyoutCommand.Yes, FlyoutCommand.No) : MessageBox.Show(string.Format("Удалить форму {0}?", form), "Подтверждение", MessageBoxButtons.OKCancel);
                                    if (res == DialogResult.No)
                                        return;
                                    if (await form.IsBlockedAsync())
                                    {
                                        var mes = fly != null
                                            ? GuiUtility.ShowFlyoutMessage(view, fly, "Информация",
                                                "Удаление формы отключено, так как срок сдачи истек.\n" +
                                                "Чтобы иметь возможность удалить эту форму, обратитесь к региональному оператору")
                                            : MessageBox.Show("Удаление формы отключено, так как срок сдачи истек.\n" +
                                                "Чтобы иметь возможность удалить эту форму, обратитесь к региональному оператору", "Информация", MessageBoxButtons.OKCancel);
                                        return;
                                    }

                                    var file = data.file;
                                    var forms = file.municipality_form_data;

                                    var tag = TagHelper.GetFormDataTag(TagHelper.TagType.Tile, data);
                                    var tiles = con.Items.Find(t => t.Tag.ToString() == tag).ToArray();

                                    repo.RemoveRange(forms);
                                    repo.Remove(file);
                                    await repo.SaveChangesAsync();

                                    if (con.Items.Count == 1)
                                        con.Items.Clear();
                                    else
                                        con.Items.RemoveRange(tiles);
                                }
                            }
                            catch (Exception ex)
                            {
                                var mess = fly != null ?
                                    GuiUtility.ShowFlyoutMessage(view, fly, "Ошибка удаления", ex.Message) :
                                    MessageBox.Show(ex.Message, "Ошибка удаления", MessageBoxButtons.OK);
                            }
                            break;
                        }
                    case "FormData5":
                    case "ArchiveFormData5":
                    case "FormData6":
                    case "ArchiveFormData6":
                        {
                            try
                            {
                                using (var repo = new Repository())
                                {
                                    var data = await repo.GetRegionFormDataById(formId.Value);
                                    var res = fly != null ? GuiUtility.ShowFlyoutMessage(view, fly, "Подтверждение", string.Format("Удалить форму \"{0}\"?", data.form), FlyoutCommand.Yes, FlyoutCommand.No) : MessageBox.Show(string.Format("Удалить форму {0}?", data.form), "Подтверждение", MessageBoxButtons.OKCancel);
                                    if (res == DialogResult.No)
                                        return;
                                    var file = data.file;
                                    var forms = file.region_form_data;

                                    var tag = TagHelper.GetFormDataTag(TagHelper.TagType.Tile, data);
                                    var tiles = con.Items.Find(t => t.Tag.ToString() == tag).ToArray();

                                    repo.RemoveRange(forms);
                                    repo.Remove(file);
                                    await repo.SaveChangesAsync();

                                    if (con.Items.Count == 1)
                                        con.Items.Clear();
                                    else
                                        con.Items.RemoveRange(tiles);
                                }
                            }
                            catch (Exception ex)
                            {
                                var mess = fly != null ?
                                    GuiUtility.ShowFlyoutMessage(view, fly, "Ошибка удаления", ex.Message) :
                                    MessageBox.Show(ex.Message, "Ошибка удаления", MessageBoxButtons.OK);
                            }
                            break;
                        }
                }
            })
            {
                Caption = "Удалить форму",
                Type = ActionType.Context,
                Edge = ActionEdge.Right,
                Behavior = ActionBehavior.HideBarOnClick
            };
            var searchAction = new DelegateAction(() => true, () => (con.Manager.View as WindowsUIView).ShowSearchPanel())
            {
                Caption = "Поиск",
                Type = ActionType.Default,
                Edge = ActionEdge.Left,
                Behavior = ActionBehavior.HideBarOnClick
            };
            con.Actions.Clear();
            con.Actions.Add(deleteAction);
            con.Actions.Add(searchAction);
        }
Exemple #37
0
 /// <summary>
 /// Creates a new keyed pool with the specified value creation and reset delegates.
 /// </summary>
 public KeyedPool(DelegateFunc <K, T> create, DelegateFunc <T, K> reset)
 {
     this.create  = create;
     this.reset   = reset;
     this.release = Release;
 }