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);
            }
        }
Exemple #2
0
        public List <Tuple <DP_DataRepository, List <QueryItem> > > GetDeleteQueryItems(DR_Requester requester, List <DP_DataRepository> items)
        {
            List <Tuple <DP_DataRepository, List <QueryItem> > > result = new List <Tuple <DP_DataRepository, List <QueryItem> > >();
            List <DP_DataRepository> rootDataItems = new List <DP_DataRepository>();

            foreach (var item in items)
            {
                DP_DataRepository rootDeleteITem = new DP_DataRepository(item.TargetEntityID, item.TargetEntityAlias);
                rootDeleteITem.SetProperties(item.GetProperties());
                rootDeleteITem.DataView       = item.DataView;
                rootDeleteITem.EntityListView = item.EntityListView;
                rootDeleteITem.IsFullData     = item.IsFullData;

                var loop = GetTreeItems(requester, rootDeleteITem, rootDeleteITem);
                if (loop)
                {
                    throw new Exception("امکان حذف بعلت وابستگی داده ها وجود ندارد");
                }
                rootDataItems.Add(rootDeleteITem);
            }
            foreach (var item in rootDataItems)
            {
                var queryItems = GetDeleteQueryQueue(requester, item);
                foreach (var queryItem in queryItems)
                {
                    if (queryItem.QueryType == Enum_QueryItemType.Delete)
                    {
                        queryItem.Query = GetDeleteQueryQueue(requester, queryItem);
                    }
                    else if (queryItem.QueryType == Enum_QueryItemType.Update)
                    {
                        EditQueryItemManager editQueryItemManage = new EditQueryItemManager();
                        queryItem.Query = editQueryItemManage.GetUpdateQuery(queryItem);
                    }
                }
                result.Add(new Tuple <DP_DataRepository, List <QueryItem> >(item, queryItems));
            }
            return(result);
        }