public async Task Update(TData entity) { var entityType = entity.GetType(); await dbQuery.ExecuteCommandAsync( $@"UPDATE [dbo].[{DbEntityHelper.GetDbTableName(entityType)}] SET {DbEntityHelper.GetUpdatePropertiesString(entity)} WHERE Id = @Id ", DbEntityHelper.GetSqlParameters(entity, excludeId : false).ToArray()); }
/// <summary> /// Üstteki çalışma alanı değiştikçe burası asyn bir şekilde document template ten gelmesini istiyoruz. /// Ancak bunlar bizim asıl target node larımız olmayacak. Döküman atmak istediğimiz zaman buraya eklediğimiz node ları /// Adı ile aratarak target nodumuzu bulacağız. /// </summary> public void LoadSelectedWorkSpacesChilds() { try { cmbDistOTFolder.Items.Clear(); var docTemplateNode = DbEntityHelper.GetAncestorNodeByName(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.ContentServerDocumentTemplatesNodeId), (cmbDistWorkPlaceType.SelectedItem as DistributorChilds).Name); var childFoldersNodes = _serviceHelper.GetChildNodesById(docTemplateNode.Id); foreach (var childNode in childFoldersNodes) { cmbDistOTFolder.Items.Add(new DistributorChilds() { Id = childNode.Id, Name = childNode.Name }); if (!_serviceHelper.HasChildNode(childNode.Id)) { continue; } var innerChildList = _serviceHelper.GetChildNodesById(childNode.Id); foreach (var innerChild in innerChildList) { cmbDistOTFolder.Items.Add(new DistributorChilds() { Id = innerChild.Id, Name = childNode.Name + "\\" + innerChild.Name }); if (!_serviceHelper.HasChildNode(innerChild.Id)) { continue; } var innerListOfInnerChild = _serviceHelper.GetChildNodesById(innerChild.Id); foreach (var innerOfInnerChild in innerListOfInnerChild) { cmbDistOTFolder.Items.Add(new ProjectChilds() { Id = innerOfInnerChild.Id, Name = childNode.Name + "\\" + innerChild.Name + "\\" + innerOfInnerChild.Name }); } } } } catch (Exception ex) { Logger.Error(ex, "Workspace itemleri listlere doldurulurken workspace değişmiş olabilir. Adres : LoadSelectedWorkSpacesChilds"); } }
public Task <long> Add(TData entity) { var entityType = entity.GetType(); return(dbQuery.ExecuteInsertCommandAsync( $@"INSERT INTO [dbo].[{DbEntityHelper.GetDbTableName(entityType)}] ( {DbEntityHelper.GetPropertiesString(entityType)} ) VALUES ( {DbEntityHelper.GetSqlParametersString(entity)} )", DbEntityHelper.GetSqlParameters(entity).ToArray())); }
/// <summary> /// 获取指定用户有权限的菜单列表 /// </summary> /// <param name="UserID"></param> /// <returns></returns> public static List <SysMenu> GetUserMenus(int UserID) { //如果没有启用权限控制,或者是管理员,直接获取全部菜单 if (!EnabledPermission || IsAdministrator(UserID)) { return(DB.From <SysMenu>().ToList()); } var sql = GetUserMenusCommandText(UserID); var ds = DB.ExecuteDataSet(sql); if (ds == null || ds.Tables.Count == 0) { return(new List <SysMenu>()); } return(DbEntityHelper.DataTableToEntities <SysMenu>(ds.Tables[0])); }
/// <summary> /// Burada seçilmiş olan projeye göre bağımsız bölümleri getirme işi, proje adının ilk kısmının Bağımsız bölüm kategori adında /// aratarak bulunacağı halidir.Kategoride proje adı Örn : 1001 ise, bağ.böl kategorisinde bu alan 00001001 olarak kayıtlıdır. Format hepsinde aynı, başa 4 sıfır alıyor. /// </summary> private void GetIndependentSectionsOfProject() { cLstBxWorkSpaceType.Clear(); var strVal = cmbProjectsOfDistricts.SelectedItem as DistributorChilds; var strVel = strVal?.Name.Split('/')[0]; var projectsOfIndependentSection = DbEntityHelper.GetNodesByCategoryAttribute(118237, strVel); foreach (var targetNode in projectsOfIndependentSection) { var listItem = new ListViewItem { Text = targetNode.Name, Tag = new DistributorChilds() { Id = targetNode.Id, Name = targetNode.Name } }; _independentSectionsOfProjectList.Add(listItem); } cLstBxWorkSpaceType.Items.AddRange(_independentSectionsOfProjectList.ToArray()); }
public async void DoStaffTask() { try { InvokedFormState(); var targetNodesList = new List <EntityNode>(); // Bu boş liste doldurulup streamer helper methoduna verilecek. // Burada da Projeler içerisinde yüklenecek yerlerin nodeId listesini alacağız. // Ama ne yazık ki üst parent ten bir kaç kırınım içerideki child ları bulamıyoruz. var allChildNodesOfMainStaff = _serviceHelper.GetEntityNodeListIncludingChildrenUsingTypeFilter(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.StaffNodeId), (cmbStaffChildRoot.SelectedItem as StaffChilds)?.Name); var targetRootAddress = (cmbStaffChildRoot.SelectedItem as StaffChilds)?.Name; var countDeepness = targetRootAddress?.Split('\\').Count(); if (countDeepness > 3) { MessageBox.Show(Resources.NodeDeepnessExceed); return; } foreach (var childNodeOfMainStaff in allChildNodesOfMainStaff) { switch (countDeepness) { case 1: { var oneOfTargetNode = DbEntityHelper.GetNodeByName(childNodeOfMainStaff.Id, targetRootAddress); targetNodesList.Add(oneOfTargetNode); break; } case 2: { var generalFirstStepTargetNodeName = targetRootAddress.Split('\\')[0]; var firstStepTargetNode = DbEntityHelper.GetNodesByNameInExactParent(childNodeOfMainStaff.Id, generalFirstStepTargetNodeName).FirstOrDefault(); var generalSecondStepTargetNodeName = targetRootAddress.Split('\\')[1]; if (firstStepTargetNode != null) { var targetChildNode = DbEntityHelper.GetNodeByName(firstStepTargetNode.Id, generalSecondStepTargetNodeName); if (targetChildNode != null) { targetNodesList.Add(targetChildNode); } } break; } case 3: { var generalFirstStepTargetNodeName = targetRootAddress.Split('\\')[0]; var firstStepTargetNode = DbEntityHelper.GetNodesByNameInExactParent(childNodeOfMainStaff.Id, generalFirstStepTargetNodeName).FirstOrDefault(); var generalSecondStepTargetNodeName = targetRootAddress.Split('\\')[1]; if (firstStepTargetNode == null) { continue; } var secondChildNode = DbEntityHelper.GetNodeByName(firstStepTargetNode.Id, generalSecondStepTargetNodeName); var generalThirdStepTargetNodeName = targetRootAddress.Split('\\')[2]; var targetChildNode = DbEntityHelper.GetNodeByName(secondChildNode.Id, generalThirdStepTargetNodeName); if (targetChildNode != null) { targetNodesList.Add(targetChildNode); } break; } default: Console.WriteLine(Resources.NodeDeepnessExceed); break; } } if (txtStaffFolderRoot.Text == string.Empty || cmbStaffChildRoot.SelectedIndex == -1) { MessageBox.Show(Resources.WarnMessageChooseTargets); return; } var docsToUpload = StreamHelper.MakePreparedDocumentListToPush(txtStaffFolderRoot.Text, targetNodesList); if (docsToUpload.Count < 1) { return; } var categoryModel = new GeneralCategoryModel() { DocumentType = cmbStaffDocumentType.Text, Year = dtpStaffYear.Text, Term = cmbStaffTerm.Text, NodeId = WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId) }; //await UploadDocuments(preparedList); var result = await _serviceHelper.UploadDocuments(docsToUpload, categoryModel); MessageBox.Show(result ? Resources.ProcessIsDone : Resources.ProcessIsNotDone); WaitedFormState(); //await UploadDocuments(docsToUpload); } catch (Exception ex) { Console.WriteLine(Resources.ErrorTypeProccessing + ex); MessageBox.Show(Resources.ErrorTypeProccessing); Logger.Error(ex, Resources.ErrorTypeProccessing); //throw; } }
public async void DoProjectWorks() { try { InvokedFormState(); // Burada da Projeler içerisinde yüklenecek yerlerin nodeId listesini alacağız. // Ama ne yazık ki üst parent ten bir kaç kırınım içerideki child ları bulamıyoruz. var targetNodesList = new List <EntityNode>(); // Bu boş liste doldurulup streamer helper methoduna verilecek. var allChildNodesOfMainProject = _serviceHelper.GetEntityNodeListIncludingChildrenUsingTypeFilter(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.ProjectsNodeId), (cmbChildRoot.SelectedItem as ProjectChilds).Name); var targetRootAddress = (cmbChildRoot.SelectedItem as ProjectChilds).Name; var countDeepness = targetRootAddress.Split('\\').Count(); if (countDeepness > 3) { MessageBox.Show(Resources.NodeDeepnessExceed); return; } // Bu yüzden tüm node ların içerisine girip, node derinliğini hesaplayarak iç nodelara ulaşacağız ve maplemek üzere node keyleri tek tek StreamHelper a göndereceğiz. // Streamer helper aldığı bu node id ile bir ilişki kurabilirse map in içerisine koyup bize verecek, kuramazsa eklemeyecek. foreach (var childNodeOfMainProject in allChildNodesOfMainProject) { switch (countDeepness) { case 1: { var oneOfTargetNode = DbEntityHelper.GetNodeByName(childNodeOfMainProject.Id, targetRootAddress); targetNodesList.Add(oneOfTargetNode); break; } case 2: { var generalFirstStepTargetNodeName = targetRootAddress.Split('\\')[0]; var firstStepTargetNode = DbEntityHelper.GetNodesByNameInExactParent(childNodeOfMainProject.Id, generalFirstStepTargetNodeName).FirstOrDefault(); var generalSecondStepTargetNodeName = targetRootAddress.Split('\\')[1]; var targetChildNode = DbEntityHelper.GetNodeByName(firstStepTargetNode.Id, generalSecondStepTargetNodeName); if (targetChildNode != null) { targetNodesList.Add(targetChildNode); } // Child kırınımı 2 ise break; } case 3: { var generalFirstStepTargetNodeName = targetRootAddress.Split('\\')[0]; var firstStepTargetNode = DbEntityHelper.GetNodesByNameInExactParent(childNodeOfMainProject.Id, generalFirstStepTargetNodeName).FirstOrDefault(); var generalSecondStepTargetNodeName = targetRootAddress.Split('\\')[1]; var secondChildNode = DbEntityHelper.GetNodeByName(firstStepTargetNode.Id, generalSecondStepTargetNodeName); var generalThirdStepTargetNodeName = targetRootAddress.Split('\\')[2]; var targetChildNode = DbEntityHelper.GetNodeByName(secondChildNode.Id, generalThirdStepTargetNodeName); // var targetChildNode = firstStepTargetNode.Where(x => x.Name == generalFirstStepTargetNodeName).FirstOrDefault(); if (targetChildNode != null) { targetNodesList.Add(targetChildNode); } // Child kırınım 3 ise break; } default: Console.WriteLine(Resources.NodeDeepnessExceed); break; } } // Bu mainChildRootElement => Document Templates içerisinde seçmiş olduğumuz child // mainChildRootElement inin adı ile Emlak Konut iş alanları altındaki Projeler içerisinde ne kadar aynı isimde child element varsa Bunlardan bir dictionary yap. if (txtFolderRoot.Text == string.Empty || cmbChildRoot.SelectedIndex == -1) { MessageBox.Show(Resources.WarnMessageChooseTargets); return; } var docsToUpload = StreamHelper.MakePreparedDocumentListToPush(txtFolderRoot.Text, targetNodesList); if (docsToUpload.Count < 1) { return; } // nodeId, dosya adı, ve hedef nodeId ile yarattığımız dictionary i opentext e yüklenebilir hale getireceğiz. var categoryModel = new GeneralCategoryModel() { DocumentType = cmbDocumentType.Text, Year = dtpYear.Text, Term = cmbTerm.Text, NodeId = WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId) }; var result = await _serviceHelper.UploadDocuments(docsToUpload, categoryModel); MessageBox.Show(result ? Resources.ProcessIsDone : Resources.ProcessIsNotDone); WaitedFormState(); } catch (Exception ex) { Console.WriteLine(Resources.ErrorTypeProccessing + ex); //throw; MessageBox.Show(Resources.ErrorTypeProccessing); } }
/// <summary> /// SelectedItemList içerisinde EmlakKonut İş Alanı Türünü seçtiğimiz en alt taki checkedListBox taki node ların id sini tutar. /// Şimdi biz bu node ların içerisinde dönerek 2. Combobox olan "Klasör Seçimi" Node larını bulacağız, Ki bunlar TARGET Node ID lerimiz olacak. /// </summary> public async void DoDistributorWorks() { InvokedFormState(); Debugger.NotifyOfCrossThreadDependency(); var selectedItemList = cLstBxWorkSpaceType.CheckedItems; var targetNodesList = new List <EntityNode>(); var targetOpenTextAddress = cmbDistOTFolder.Text; var countDeepness = cmbDistOTFolder.Text.Split('\\').Count(); if (countDeepness > 3) { MessageBox.Show(Resources.NodeDeepnessExceed); return; } foreach (var item in selectedItemList) { var listViewItem = (ListViewItem)item; var itemNodeId = (listViewItem.Tag as DistributorChilds).Id; var itemNodeName = (listViewItem.Tag as DistributorChilds).Name; switch (countDeepness) { case 1: { var oneOfTargetNode = DbEntityHelper.GetNodeByName(itemNodeId, itemNodeName); targetNodesList.Add(oneOfTargetNode); break; } case 2: { var generalFirstStepTargetNodeName = targetOpenTextAddress.Split('\\')[0]; var firstStepTargetNode = DbEntityHelper.GetNodesByNameInExactParent(itemNodeId, generalFirstStepTargetNodeName).FirstOrDefault(); var generalSecondStepTargetNodeName = targetOpenTextAddress.Split('\\')[1]; if (firstStepTargetNode == null) { continue; } var targetChildNode = DbEntityHelper.GetNodeByName(firstStepTargetNode.Id, generalSecondStepTargetNodeName); if (targetChildNode != null) { targetNodesList.Add(targetChildNode); } break; } case 3: { var generalFirstStepTargetNodeName = targetOpenTextAddress.Split('\\')[0]; var firstStepTargetNode = DbEntityHelper.GetNodesByNameInExactParent(itemNodeId, generalFirstStepTargetNodeName).FirstOrDefault(); var generalSecondStepTargetNodeName = targetOpenTextAddress.Split('\\')[1]; if (firstStepTargetNode == null) { continue; } var secondChildNode = DbEntityHelper.GetNodeByName(firstStepTargetNode.Id, generalSecondStepTargetNodeName); var generalThirdStepTargetNodeName = targetOpenTextAddress.Split('\\')[2]; var targetChildNode = DbEntityHelper.GetNodeByName(secondChildNode.Id, generalThirdStepTargetNodeName); if (targetChildNode != null) { targetNodesList.Add(targetChildNode); } break; } default: Console.WriteLine(Resources.NodeDeepnessExceed); break; } } var preparedList = StreamHelper.PrepareDocumentToSendMultipleTarget(targetNodesList, txtDistDocumentRoot.Text); if (preparedList.Count < 1) { return; } // nodeId, dos-ya adı, ve he-def nodeId ile ya-rat-tı-ğı-mız dictionary i open-text e yük-le-ne-bi-lir hale ge-ti-re-ce-ğiz. var categoryModel = new GeneralCategoryModel() { DocumentType = cmbDocumentType.Text, Year = dtpDistributorYear.Text, Term = cmbDistriborTerm.Text, NodeId = WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId) }; var result = await _serviceHelper.UploadDocuments(preparedList, categoryModel); MessageBox.Show(result ? Resources.ProcessIsDone : Resources.ProcessIsNotDone); WaitedFormState(); }