/// <summary> /// Kategori ve work spaces leri ilgili comboboxlara yükler. /// </summary> public void LoadFormsDefault() { // Categories loaded. var categoryItems = _serviceHelper.GetEntityAttributeGroupOfCategory(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId)); if (categoryItems != null) { var itemArray = categoryItems.Values[0].ValidValues; cmbDocumentType.Items.AddRange(itemArray); } // Work Spaces Loaded. var workSpacesTypes = _serviceHelper.GetChildNodesById(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.WorkSpacesNodeId)); if (workSpacesTypes == null) { return; } foreach (var workSpace in workSpacesTypes) { cmbDistWorkPlaceType.Items.Add(new DistributorChilds() { Id = workSpace.Id, Name = workSpace.Name }); } }
public void FillProjectsOfDistricts() { var projectsOfDistricts = _serviceHelper.GetChildNodesById(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.ProjectsNodeId)); foreach (var projectOfDistrict in projectsOfDistricts) { cmbProjectsOfDistricts.Items.Add(new DistributorChilds() { Id = projectOfDistrict.Id, Name = projectOfDistrict.Name }); } }
/// <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 void LoadStaffFormDefault() { var categoryItems = _serviceHelper.GetEntityAttributeGroupOfCategory(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId)); if (categoryItems != null) { var itemArray = categoryItems.Values[0].ValidValues; cmbStaffDocumentType.Items.AddRange(itemArray); } var childNodes = _serviceHelper.GetChildNodesById(WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.StaffChildElementsNodeId)); foreach (var childNode in childNodes) { cmbStaffChildRoot.Items.Add(new StaffChilds() { Id = childNode.Id, Name = childNode.Name }); if (!_serviceHelper.HasChildNode(childNode.Id)) { continue; } var innerChildList = _serviceHelper.GetChildNodesById(childNode.Id); foreach (var innerChild in innerChildList) { cmbStaffChildRoot.Items.Add(new StaffChilds() { Id = innerChild.Id, Name = childNode.Name + "\\" + innerChild.Name }); if (!_serviceHelper.HasChildNode(innerChild.Id)) { continue; } var innerChildListOfInnerChild = _serviceHelper.GetChildNodesById(innerChild.Id); foreach (var innerOfInnerChild in innerChildListOfInnerChild) { cmbStaffChildRoot.Items.Add(new StaffChilds() { Id = innerOfInnerChild.Id, Name = childNode.Name + "\\" + innerChild.Name + "\\" + innerOfInnerChild.Name }); } } } }
public async Task UploadDocuments(Dictionary <Tuple <long, string>, byte[]> docsToUpload) { var categoryModel = new GeneralCategoryModel() { DocumentType = cmbDocumentType.Text, Year = dtpYear.Text, Term = cmbTerm.Text, NodeId = WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId) }; var emdNew = _serviceHelper.CategoryMaker(categoryModel); foreach (var item in docsToUpload) { await Task.Run(() => _serviceHelper.AddDocumentWithMetaData(item.Key.Item1, item.Key.Item2, item.Value, emdNew)); } }
private async Task UploadDocuments(Dictionary <Tuple <long, string>, byte[]> docsToUpload) { var categoryModel = new GeneralCategoryModel() { DocumentType = cmbDocumentType.Text, Year = dtpDistributorYear.Text, Term = cmbDistriborTerm.Text, NodeId = WorkSpacesEnum.GetValue(WorkSpacesEnum.WorkSpaces.GeneralCategoryNodeId) }; var emdNew = _serviceHelper.CategoryMaker(categoryModel); foreach (var item in docsToUpload) { if (VariableHelper.Cts.IsCancellationRequested) { return; } await Task.Run(() => _serviceHelper.AddDocumentWithMetaData(item.Key.Item1, item.Key.Item2, item.Value, emdNew), VariableHelper.Cts.Token); } MessageBox.Show(Resources.ProcessIsDone); }
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(); }