//public List<DP_DataView> SearchDataForViewFromExternalSource(int entityID, List<DP_DataRepository> searchViewData, I_EditEntityArea editEntityArea)
        //{
        //    //اوکی نشده
        //    DP_SearchRepository SearchDataItem = new DP_SearchRepository(entityID);
        //    List<DP_DataView> result = new List<DP_DataView>();
        //    foreach (var item in searchViewData)
        //    {
        //        foreach (var col in item.KeyProperties)
        //        {
        //            SearchDataItem.Phrases.Add(new SearchProperty() { ColumnID = col.ColumnID, Value = col.Value });
        //        }

        //        var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
        //        var requestSearchView = new DR_SearchViewRequest(requester, SearchDataItem);
        //        var foundItem = AgentUICoreMediator.GetAgentUICoreMediator.SendSearchViewRequest(requestSearchView).ResultDataItems;
        //        if (foundItem.Any())
        //            result.Add(foundItem[0]);
        //        else
        //            AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("عدم دسترسی به داده", item.ProperyValues, Temp.InfoColor.Red);

        //    }
        //    return result;
        //}
        public DP_DataRepository GetFullDataFromDataViewSearch(int entityID, DP_DataView searchViewData, I_EditEntityArea editEntityArea)
        {
            //سکوریتی داده اعمال میشود
            DP_SearchRepository SearchDataItem = new DP_SearchRepository(entityID);

            foreach (var col in searchViewData.Properties.Where(x => x.IsKey))
            {
                SearchDataItem.Phrases.Add(new SearchProperty()
                {
                    ColumnID = col.ColumnID, Value = col.Value
                });
            }
            var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
            // var requestSearchEdit = new DR_SearchEditRequest(requester, SearchDataItem, editEntityArea.AreaInitializer.SecurityReadOnly, false);
            var requestSearchEdit = new DR_SearchEditRequest(requester, SearchDataItem);
            var res = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchEditRequest(requestSearchEdit).ResultDataItems;

            if (res.Any())
            {
                var froundItem = res[0];
                froundItem.DataView = searchViewData;
                return(froundItem);
            }

            else
            {
                return(null);
            }
        }
        public DP_DataRepository SearchDataForEditFromExternalSource(int entityID, DP_BaseData searchViewData, I_EditEntityArea editEntityArea)
        {
            DP_SearchRepository searchDataItem = new DP_SearchRepository(entityID);

            foreach (var col in searchViewData.KeyProperties)
            {
                searchDataItem.Phrases.Add(new SearchProperty()
                {
                    ColumnID = col.ColumnID, Value = col.Value
                });
            }
            var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();

            //   var requestSearchEdit = new DR_SearchEditRequest(requester, searchDataItem, editEntityArea.AreaInitializer.SecurityReadOnly, true);
            var requestSearchEdit = new DR_SearchEditRequest(requester, searchDataItem);
            var foundItem         = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchEditRequest(requestSearchEdit).ResultDataItems;

            if (foundItem.Any())
            {
                foundItem[0].DataView = GetDataView(foundItem[0]);
                return(foundItem[0]);
            }
            else
            {
                return(null);
            }
        }
        public bool ConvertDataViewToFullData(int entityID, DP_DataRepository dataITem, I_EditEntityArea editEntityArea)
        {
            //اوکی نشده
            DP_SearchRepository SearchDataItem = new DP_SearchRepository(entityID);

            foreach (var col in dataITem.KeyProperties)
            {
                SearchDataItem.Phrases.Add(new SearchProperty()
                {
                    ColumnID = col.ColumnID, Value = col.Value
                });
            }
            var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();

            // var requestSearchEdit = new DR_SearchEditRequest(requester, SearchDataItem, editEntityArea.AreaInitializer.SecurityReadOnly, false);
            var requestSearchEdit = new DR_SearchEditRequest(requester, SearchDataItem);
            var foundItem         = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchEditRequest(requestSearchEdit).ResultDataItems;

            if (foundItem.Any())
            {
                dataITem.ClearProperties();
                dataITem.SetProperties(foundItem[0].GetProperties());
                dataITem.IsFullData = true;

                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// /////////////////////////مشترک
        /// </summary>
        /// <param name="relationshipID"></param>
        /// <param name="editEntityArea"></param>
        /// <param name="parentRelationData"></param>
        /// <returns></returns>
        public ChildRelationshipInfo SerachDataFromParentRelationForChildDataView(RelationshipDTO relationship, I_EditEntityAreaOneData sourceEditEntityArea, I_EditEntityArea targetEditEntityArea, DP_DataRepository parentRelationData)
        {
            var requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();

            ChildRelationshipInfo childRelationshipInfo = null;

            childRelationshipInfo = parentRelationData.ChildRelationshipInfos.FirstOrDefault(x => x.Relationship.ID == relationship.ID);
            if (childRelationshipInfo == null)
            {
                childRelationshipInfo = parentRelationData.AddChildRelationshipInfo(relationship);
            }
            else
            {
                throw new Exception("Asd");
            }

            //سکوریتی داده اعمال میشود

            var searchDataItem = relationshipManager.GetSecondSideSearchDataItemByRelationship(parentRelationData, relationship.ID);

            if (searchDataItem != null)
            {
                // DR_SearchEditRequest request = new DR_SearchEditRequest(requester, searchDataItem, targetEditEntityArea.AreaInitializer.SecurityReadOnly, true);
                DR_SearchEditRequest request = new DR_SearchEditRequest(requester, searchDataItem);
                var childFullData            = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchEditRequest(request).ResultDataItems;
                var countRequest             = new DR_SearchCountRequest(requester);
                countRequest.SearchDataItems        = searchDataItem;
                countRequest.Requester.SkipSecurity = true;
                var  count            = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchCountRequest(countRequest);
                bool secutrityImposed = false;
                if (count.ResultCount != childFullData.Count)
                {
                    secutrityImposed = true;
                }


                if (!secutrityImposed)
                {
                    foreach (var data in childFullData)
                    {
                        data.IsDBRelationship = true;
                        data.DataView         = GetDataView(data);
                        childRelationshipInfo.AddDataToChildRelationshipInfo(data, true);
                    }
                }
                else
                {
                    childRelationshipInfo.SecurityIssue = true;
                }
            }
            return(childRelationshipInfo);
            //foreach (var item in childFullData)
            //    searchedData.Add(new Tuple<DP_DataRepository, DP_DataView>(item, null));

            //return AddEditSearchData(searchedData, editEntityArea);
        }
Exemple #5
0
        public DR_ResultSearchFullData SendSearchEditRequest(DR_SearchEditRequest request)
        {
            SearchRequestManager editProcessor = new SearchRequestManager();

            return(editProcessor.Process(request as DR_SearchEditRequest));
        }
        private void ConfirmUpdateForm_Decided(object sender, ConfirmUpdateDecision e)
        {
            if (e.Confirm)
            {
                var            requester = AgentUICoreMediator.GetAgentUICoreMediator.GetRequester();
                DR_EditRequest request   = new DR_EditRequest(requester);
                request.EditPackages = Datas;

                var reuslt = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendEditRequest(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 ||
                    reuslt.Result == Enum_DR_ResultType.JustMajorFunctionDone)
                {
                    DP_SearchRepository searchDataItem = new DP_SearchRepository(EditArea.AreaInitializer.EntityID);
                    foreach (var item in reuslt.UpdatedItems)
                    {
                        var            listProperties = new List <EntityInstanceProperty>();
                        LogicPhraseDTO logicPhrase    = new LogicPhraseDTO();
                        foreach (var keyProperty in item.KeyProperties)
                        {
                            logicPhrase.Phrases.Add(new SearchProperty()
                            {
                                ColumnID = keyProperty.ColumnID, Value = keyProperty.Value
                            });
                        }
                        searchDataItem.AndOrType = AndOREqualType.Or;
                        searchDataItem.Phrases.Add(logicPhrase);
                    }
                    ///   var requestSearchEdit = new DR_SearchEditRequest(requester, searchDataItem, EditArea.AreaInitializer.SecurityReadOnly, true);
                    var requestSearchEdit = new DR_SearchEditRequest(requester, searchDataItem);
                    var results           = AgentUICoreMediator.GetAgentUICoreMediator.requestRegistration.SendSearchEditRequest(requestSearchEdit);
                    if (results.ResultDataItems.Count > 0)
                    {
                        if (EditArea is I_EditEntityAreaOneData)
                        {
                            (EditArea as I_EditEntityAreaOneData).ClearData(false);

                            var data = results.ResultDataItems[0];
                            data.DataView = EditArea.AreaInitializer.EditAreaDataManager.GetDataView(data);
                            var addResult = (EditArea as I_EditEntityAreaOneData).AddData(data, true);
                            if (!addResult)
                            {
                                AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("عدم دسترسی به داده و یا داده های وابسته", results.ResultDataItems[0].ViewInfo, Temp.InfoColor.Red);
                            }
                        }
                        else if (EditArea is I_EditEntityAreaMultipleData)
                        {
                            (EditArea as I_EditEntityAreaMultipleData).ClearData(false);
                            foreach (var data in results.ResultDataItems)
                            {
                                data.DataView = EditArea.AreaInitializer.EditAreaDataManager.GetDataView(data);
                                var addResult = (EditArea as I_EditEntityAreaMultipleData).AddData(data, true);
                                if (!addResult)
                                {
                                    AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("عدم دسترسی به داده و یا داده های وابسته", results.ResultDataItems[0].ViewInfo, Temp.InfoColor.Red);
                                }
                            }
                        }
                    }
                    else
                    {
                        AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("عدم دسترسی به داده", "", Temp.InfoColor.Red);
                        (EditArea as BaseEditEntityArea).ClearData(true);
                    }
                }
            }
            AgentUICoreMediator.GetAgentUICoreMediator.UIManager.CloseDialog(sender);
        }