コード例 #1
0
        private void CommandManager_Clicked(object sender, EventArgs e)
        {
            //Enabled = false;
            dataList = new List <DP_DataRepository>();
            if (EditArea.AreaInitializer.DataMode == DataMode.One)
            {
                var data = EditArea.AreaInitializer.Datas.FirstOrDefault();
                if (data != null)
                {
                    dataList.Add(data);
                }
            }
            else if (EditArea.AreaInitializer.DataMode == DataMode.Multiple)
            {
                dataList = (EditArea as I_EditEntityAreaMultipleData).GetSelectedData();
            }
            if (dataList.Count != 0 && !dataList.Any(x => x.IsNewItem == true))
            {
                var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                requester.SkipSecurity = true;
                DR_DeleteInquiryRequest request = new DR_DeleteInquiryRequest(requester);
                request.DataItems = dataList.Cast <DP_BaseData>().ToList();;
                var reuslt = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendDeleteInquiryRequest(request);
                I_ViewDeleteInquiry view = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetDeleteInquiryView();
                view.ButtonClicked += View_ButtonClicked;
                view.SetTreeItems(reuslt.DataTreeItems);
                if (reuslt.Loop == true)
                {
                    view.SetMessage("بعلت وجود حلقه وابستگی بین داده ها امکان حذف داده (داده های) انتخاب شده وجود ندارد");
                    view.SetUserConfirmMode(UserDialogMode.Ok);
                }
                else
                {
                    view.SetUserConfirmMode(UserDialogMode.YesNo);
                    if (reuslt.DataTreeItems.Any(x => x.ChildRelationshipInfos.Any(y => y.RelationshipDeleteOption == ModelEntites.RelationshipDeleteOption.DeleteCascade && y.RelatedData.Any())))
                    {
                        view.SetMessage("داده های وابسته نمایش داده شده نیز حذف خواهند شد. آیا مطمئن هستید؟");
                    }
                    else
                    {
                        view.SetMessage("داده های نمایش داده شده حذف خواهد شد. آیا مطمئن هستید؟");
                    }
                }
                AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetDialogWindow().ShowDialog(view, "تایید", Enum_WindowSize.Big);
                //////if (AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowConfirm("تائید", "داده موجود به همراه تمامی اطلاعات وابسته حذف خواهند شد" +
                //////       Environment.NewLine + "آیا مطمئن هستید؟") == MyUILibrary.Temp.ConfirmResul.Yes)
                //////{

                //////    DR_DeleteRequest request = new DR_DeleteRequest();
                //////    request.EditPackages = dataList;

                //////    var reuslt = AgentUICoreMediator.GetAgentUICoreMediator.SendDeleteRequest(request);
                //////    if (reuslt.Result == Enum_DR_ResultType.SeccessfullyDone)
                //////    {
                //////        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo(EditArea.SimpleEntity.Alias + " : " + "عملیات حذف با موفقیت انجام شد", "", MyUILibrary.Temp.InfoColor.Green);
                //////        if (EditArea.AreaInitializer.DataMode == DataMode.One)
                //////            EditArea.AreaInitializer.Datas.Remove(EditArea.AreaInitializer.Datas.First());
                //////        else if (EditArea.AreaInitializer.DataMode == DataMode.Multiple)
                //////        {
                //////            //foreach (var item in dataList)
                //////            //(EditArea as I_EditEntityAreaMultipleData).ClearData(item);
                //////            EditArea.AreaInitializer.Datas.Clear();
                //////        }


                //////    }
                //////}
            }
            //Enabled = true;
        }
コード例 #2
0
        private void View_ButtonClicked(object sender, ConfirmModeClickedArg e)
        {
            I_ViewDeleteInquiry view = sender as I_ViewDeleteInquiry;

            if (view != null)
            {
                if (e.Result == UserDialogResult.Ok || e.Result == UserDialogResult.No)
                {
                    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.CloseDialog(view);
                }
                else if (e.Result == UserDialogResult.Yes)
                {
                    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.CloseDialog(view);
                    var requester            = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                    DR_DeleteRequest request = new DR_DeleteRequest(requester);
                    request.DataItems = dataList;

                    var reuslt = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendDeleteRequest(request);
                    if (reuslt.Result == Enum_DR_ResultType.SeccessfullyDone)
                    {
                        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo(EditArea.SimpleEntity.Alias + " : " + "عملیات حذف با موفقیت انجام شد", reuslt.Details, MyUILibrary.Temp.InfoColor.Green);
                    }
                    else if (reuslt.Result == Enum_DR_ResultType.JustMajorFunctionDone)
                    {
                        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo(EditArea.SimpleEntity.Alias + " : " + "عملیات حذف با موفقیت انجام شد اما برخی عملیات جانبی کامل انجام نشد", reuslt.Details, MyUILibrary.Temp.InfoColor.Blue);
                    }
                    else if (reuslt.Result == Enum_DR_ResultType.ExceptionThrown)
                    {
                        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo(EditArea.SimpleEntity.Alias + " : " + "عملیات حذف با خطا همراه بود", reuslt.Details, MyUILibrary.Temp.InfoColor.Red);
                    }

                    if (reuslt.Result == Enum_DR_ResultType.SeccessfullyDone)
                    {
                        if (EditArea.AreaInitializer.DataMode == DataMode.One)
                        {
                            (EditArea as I_EditEntityAreaOneData).ClearData(true);
                        }
                        else if (EditArea.AreaInitializer.DataMode == DataMode.Multiple)
                        {
                            (EditArea as I_EditEntityAreaMultipleData).ClearData(false);
                        }
                    }
                    //if (reuslt.ResultItems.All(x => x.Result == Enum_DR_ResultType.SeccessfullyDone))
                    //{
                    //    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowMessage("", "عملیات حذف داده/داده های منتخب با موفقیت انجام شد");
                    //}
                    //else if (reuslt.ResultItems.Any(x => x.Result == Enum_DR_ResultType.SeccessfullyDone)
                    //    && reuslt.ResultItems.Any(x => x.Result == Enum_DR_ResultType.ExceptionThrown))
                    //{
                    //    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowMessage("", "عملیات حذف برخی از داده ها با موفقیت و برخی با خطا همراه بود");
                    //}
                    //else if (reuslt.ResultItems.All(x => x.Result == Enum_DR_ResultType.ExceptionThrown))
                    //{
                    //    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowMessage("", "به علت وقوع خطا عملیات حذف داده/داده های منتخب انجام نشد");
                    //}
                    //foreach (var item in reuslt.ResultItems)
                    //{
                    //    DP_DataRepository data = AgentHelper.GetEquivalentDataItem(EditArea, item.DataItem);

                    //    if (item.Result == Enum_DR_ResultType.ExceptionThrown)
                    //    {
                    //        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("خطا در حذف" + " " + data.ViewInfo, item.Message, MyUILibrary.Temp.InfoColor.Green);

                    //    }
                    //    else if (item.Result == Enum_DR_ResultType.SeccessfullyDone)
                    //    {
                    //        if (EditArea.AreaInitializer.DataMode == DataMode.One)
                    //            (EditArea as I_EditEntityAreaOneData).ClearData(true, true);
                    //        else if (EditArea.AreaInitializer.DataMode == DataMode.Multiple)
                    //        {
                    //            (EditArea as I_EditEntityAreaMultipleData).RemoveData(data, true);
                    //        }
                    //    }
                    //}
                }
            }
        }