public static bool DownloadTenderingFile(int tenderingId, TenderingIndex docIndex, int?contractorId, string version, Grid layoutRoot, int?advertisementId = null, int?meetingId = null, int?warrantyId = null) { int docid = DataManagement.RetrieveTenderingDocumentId(docIndex); if (docid == -1) { return(false); } layoutRoot.Children.Add(busy); Task <bool> .Factory.StartNew(delegate { FileDataObject t = DataManagement.RetrieveTenderingFile(tenderingId, docid, contractorId, advertisementId, meetingId, warrantyId); if (t == null) { return(false); } OpenFileHandler.OpenFileFromByte(t.FileContent, t.FileName); t = null; GC.Collect(); return(true); }).ContinueWith(Pre => { layoutRoot.Children.Remove(busy); if (!Pre.Result) { ErrorHandler.ShowErrorMessage(ErrorHandler.ErrorMessages["NoFile"]); } }, TaskScheduler.FromCurrentSynchronizationContext()); return(true); }
public static bool HasTenderingFile(int tenderingId, TenderingIndex docIndex, int?contractorId, string version, Grid layoutRoot, int?advertisementId = null, int?meetingId = null) { int docid = DataManagement.RetrieveTenderingDocumentId(docIndex); if (docid == -1) { return(false); } return(DataManagement.HasTenderingFile(tenderingId, docid, contractorId, advertisementId, meetingId)); }
private void page_Loaded(object sender, RoutedEventArgs e) { switch (MeetingType) { case MeetingTypes.PacketExtendingMeeting: applicant = TenderingIndex.ExtendMeetingApplicant; committee = TenderingIndex.ExtendMeetingCommittee; meeting = TenderingIndex.ExtendMeeting; PageTitle.Content = "جلسه تمدید تسلیم پاکات"; break; case MeetingTypes.DocExtendingMeeting: applicant = TenderingIndex.ExtendDocMeetingApplicant; committee = TenderingIndex.ExtendDocMeetingCommittee; meeting = TenderingIndex.ExtendDocMeeting; PageTitle.Content = "جلسه تمدید ارائه اسناد"; break; } MeetingList = DataManagement.RetrieveMeetings(CurrentTendering, MeetingType); MC.ItemsSource = MeetingList; this.DataContext = CurrentMeeting; Header.CurrentRequest = DataManagement.RetrieveTenderingContractorRequest(CurrentTendering); SaveBtn.IsEnabled = false; }
public static bool DeleteTenderingFile(int tenderingId, TenderingIndex docIndex, int?contractorId, string version, Grid layoutRoot, int?advertisementId = null, int?meetingId = null, int?warrantyId = null) { if (!HasTenderingFile(tenderingId, docIndex, contractorId, version, layoutRoot, advertisementId, meetingId) && warrantyId == null) { ErrorHandler.ShowErrorMessage("فایل ثبت شده وجود ندارد!ابتدا فایل را بارگذاری کنید"); return(false); } if (!UserData.CurrentAccessRight.TenderingDelete) { ErrorHandler.ShowErrorMessage("امکان انجام این عملیات وجود ندارد"); return(false); } int docid = DataManagement.RetrieveTenderingDocumentId(docIndex); if (docid == -1) { return(false); } if (ErrorHandler.PromptUserForPermision(ErrorHandler.ErrorMessages["Prompt"]) == MessageBoxResult.No) { return(false); } layoutRoot.Children.Add(busy); Task.Factory.StartNew(delegate { DataManagement.DeleteTenderingFile(tenderingId, docid, contractorId, advertisementId, meetingId, warrantyId); }).ContinueWith(delegate { layoutRoot.Children.Remove(busy); if (TransactionFinished != null) { TransactionFinished(); } }, TaskScheduler.FromCurrentSynchronizationContext()); return(true); }
public static bool UploadTenderingFile(int tenderingId, TenderingIndex docIndex, int?contractorId, string version, Grid layoutRoot, int?advertisementId = null, int?meetingId = null, int?warrantyId = null) { TenderingDocumentFile f = new TenderingDocumentFile(); TenderingDocumentFileRelation rel = new TenderingDocumentFileRelation(); rel.ContractorId = contractorId; rel.TenderingDocumentId = DataManagement.RetrieveTenderingDocumentId(docIndex); if (rel.TenderingDocumentId == -1) { return(false); } rel.TenderingId = tenderingId; rel.AdvertisementId = advertisementId; rel.MeetingId = meetingId; rel.WarrantyId = warrantyId; f.Version = version; f.AttachedDate = DateTime.Now; f.FileGuid = Guid.NewGuid(); string fileLocation = OpenFileHandler.OpenFileToUpload(); if (fileLocation == null) { return(false); } layoutRoot.Children.Add(busy); Task <bool> .Factory.StartNew(delegate { f.FileContent = OpenFileHandler.GetFileFromLocation(fileLocation); f.Name = System.IO.Path.GetFileName(fileLocation); if (DataManagement.AddTenderingFile(f) != -1) { rel.TenderingDocumentFileId = f.TenderingDocumentFileId; if (DataManagement.AddTenderingFileRelation(rel) == -1) { return(false); } f = null; GC.Collect(); return(true); } else { return(false); } }).ContinueWith(prev => { layoutRoot.Children.Remove(busy); bool result = prev.Result; if (result) { ErrorHandler.NotifyUser("فایل با موفقیت ثبت شد."); if (TransactionFinished != null) { TransactionFinished(); } } else { ErrorHandler.ShowErrorMessage("ثبت فایل امکان پذیر نبود لطفا دوباره سعی کنید."); } }, TaskScheduler.FromCurrentSynchronizationContext()); return(true); }