public HttpResponseMessage Delete(string id) { int fileId; if (!string.IsNullOrWhiteSpace(id) && int.TryParse(id, out fileId)) { try { FileVO oldFileVO = m_PostFileService.GetFileById(fileId); if (oldFileVO != null) { oldFileVO.NeedUpdate = false; oldFileVO.Flag = 0; oldFileVO.UpdateId = "系統API"; m_PostFileService.UpdateFile(oldFileVO); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.Gone)); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.NoContent, ex.ToString())); } } else { return(Request.CreateResponse(HttpStatusCode.NoContent)); } }
private string GetFileNo(FileVO fileVO) { IList <NodeVO> storeList = m_PostService.GetNodeListByParentName("店家"); string fileNo = ""; string code = ""; switch (fileVO.Type) { case "1": code = string.Format("{0}C{1}{2}{3}", storeList[0].Name, fileVO.ShowDate.Value.ToString("yyyyMMdd"), fileVO.Content2, fileVO.Content1); fileNo = code; break; case "2": code = string.Format("{0}I{1}", storeList[0].Name, fileVO.ShowDate.Value.ToString("yyyyMMdd")); fileNo = m_CommonService.CreateSer_Code_And_Num(code, 3); break; case "3": code = string.Format("{0}B{1}{2}", storeList[0].Name, fileVO.ShowDate.Value.ToString("yyyyMMdd"), fileVO.Content1); fileNo = code; break; } return(fileNo); }
private void decryptorBGW_DoWork(object sender, DoWorkEventArgs e) { FileVO file = (FileVO)e.Argument; filesManager.ClearTempDirectory(); if (isPreviewingImage) { List <FileVO> images = GetImageFilesOfDocument(); List <string> imagePaths = new List <string>(); string current; foreach (FileVO currFile in images) { current = filesManager.StoreFileInTempDirectory(currFile); if (current != "") { imagePaths.Add(current); } } e.Result = imagePaths; } else { string path = filesManager.StoreFileInTempDirectory(file); e.Result = path; } }
/* * The phone mediator responds to state changes */ public override void HandleNotification(INotification notification) { switch (notification.Name) { case Notifications.SEND_STATE_CHANGE: ApplicationStates state = (ApplicationStates)notification.Body; switch (state) { case ApplicationStates.REVIEWING_PHOTO_PREVIEW: GetViewComponent().DeActivateCamera(); FileVO file = GetUserDataProxy().GetData().SelectedPhoto; GetViewComponent().ShowPreview(file.bytes); break; case ApplicationStates.SHOWING_RESULTS: break; case ApplicationStates.USING_CAMERA: GetViewComponent().HidePreview(); GetViewComponent().ActivateCamera(); break; default: break; } break; default: break; } }
/* * Mediatores ARE allowed to perform actions on the model, but better practice would be to use a command. * Currently selecting a photo doesnt trigger any notifications, so it's okayish - but may change in future. */ private void OnPictureTaken(byte[] bytes) { FileVO file = GetFileProxy().StoreFileReference(bytes); GetUserDataProxy().SelectPhoto(file); GetApplicationStateProxy().SetState(ApplicationStates.REVIEWING_PHOTO_PREVIEW); }
private void PreviewFile(FileVO file) { SetEnabled(false); toolStripProgressBar1.Style = ProgressBarStyle.Marquee; SetStatus("جاري فك تشفير الملف"); isPreviewingImage = file.IsImage(); decryptorBGW.RunWorkerAsync(file); }
private void decryptorBGW_DoWork(object sender, DoWorkEventArgs e) { FileVO file = (FileVO)e.Argument; FilesManager filesManager = new FilesManager(); string path = filesManager.StoreFileInTempDirectory(file); e.Result = path; }
private void FixTimeZone(FileVO fileVO) { int addHours = m_ConfigHelper.AddHours; if (fileVO.ShowDate.HasValue) { fileVO.ShowDate = fileVO.ShowDate.Value.AddHours(addHours); } }
private void encryptorBGW_DoWork(object sender, DoWorkEventArgs e) { try { FileVO file = filesManager.GenerateNewFile(filePath, fileName, currentDocument, type); e.Result = file; } catch { e.Result = null; } }
private void WriteToLogFileDleted(DocumentVO doc, FileVO file) { //if (doc.Type == DocumentVO.DocumentType.FILES) //{ string desc = string.Format("{0} {1} {2} {3} {4} {5}", "المستخدم", Library.ConfigurationManager.currUser.Username, "قام بحذف الملف", file.Name, "الخاص بالوثيقة", doc.Title); Log(OperationsManager.EDIT_DOCS, desc); //} //else //{ // string desc = string.Format("{0} {1} {2} {3} {4} {5}", "المستخدم", Library.ConfigurationManager.currUser.Username, "قام بحذف الملف", file.Name, "الخاص بالوثيقة", doc.Title); // Log(OperationsManager.EDIT_PAPER_DOCS, desc); //} }
protected void btnDelete_Click(object sender, EventArgs e) { FileVO fileVO = m_PostFileService.GetFileById(m_Mode); fileVO.Flag = 0; fileVO.NeedUpdate = true; fileVO.UpdatedBy = m_SessionHelper.LoginUser.FullNameInChinese; fileVO.UpdatedDate = DateTime.Now; m_PostFileService.UpdateFile(fileVO); m_WebLogService.AddSystemLog(MsgVO.Action.刪除, fileVO, "", string.Format("單號:{0}", fileVO.FileId)); new Thread(new ThreadStart(() => ApiUtil.UpdateFileToServer(Server.MapPath("../../upload/")))).Start(); ClearUI(); fillGridView(); }
private void encryptorBGW_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { FileVO file = (FileVO)e.Result; HandleNewFile(file); SetEnabled(true); toolStripProgressBar1.Style = ProgressBarStyle.Blocks; SetStatus(""); } catch { Error("حصل خطأ أثناء قراءة الملف و تشفيره. قد يكون حجم الملف كبيراً جداً"); } }
private void showSelectedFileB_Click(object sender, EventArgs e) { //TODO: Future : make sql server load file data only on demand FileVO file = filesBindingSource.Current as FileVO; if (file == null) { return; } SetEnabled(false); SetStatus("جاري فك تشفير الملف"); toolStripProgressBar2.Style = ProgressBarStyle.Marquee; decryptorBGW.RunWorkerAsync(file); }
private void DeleteFile(ListViewItem item) { FileVO file = item.Tag as FileVO; item.Tag = null; PagesLV.Items.Remove(item); currentDocument.Files.Remove(file); if (file.Id >= 0) { if (!filesManager.Delete(file)) { Error("حصل خطأ أثناء حذف الملف"); } } }
private void RenameFile(FileVO file) { ChangeFileNameForm form = new ChangeFileNameForm(file.Name); if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) { file.Name = form.NewName; if (file.Id >= 0) { if (!filesManager.RenameFile(file)) { Error("حصل خطأ أثناء إعادة تسمية الملف"); } } PagesLV.SelectedItems[0].Text = form.NewName; } }
private void HandleNewFile(FileVO file) { if (file == null) { Error("حصل خطأ أثناء قراءة الملف و تشفيره. قد يكون حجم الملف كبيراً جداً"); return; } currentDocument.Files.Add(file); if (currentDocument.Id > 0) { if (filesManager.Insert(file) < 0) { Error("حصل خطا أثناء عملية حفظ الملف المشفر في قاعدة البيانات. قد يكون حجم الملف كبيراً جداً"); return; } } AddItemToListView(file); }
// POST api/<controller> public HttpResponseMessage Post(FileDto fileDto) { if (fileDto != null) { try { FileVO fileVO = null; //檢查是否有ServerId 有的話把狀態改成刪除, 重新建立一筆 if (fileDto.ServerId != 0) { FileVO oldFileVO = m_PostFileService.GetFileById(fileDto.ServerId); if (oldFileVO != null) { oldFileVO.NeedUpdate = false; oldFileVO.Flag = 0; oldFileVO.UpdateId = "系統API"; m_PostFileService.UpdateFile(oldFileVO); } } fileVO = new FileVO(fileDto); fileVO.FileId = 0; fileVO.ServerId = 0; fileVO.NeedUpdate = false; fileVO.UpdateId = "系統API"; FixTimeZone(fileVO); fileVO = m_PostFileService.CreateFile(fileVO); fileVO.ServerId = fileVO.FileId; return(Request.CreateResponse <FileDto>(HttpStatusCode.Created, new FileDto(fileVO))); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.NoContent, ex.ToString())); } } else { return(Request.CreateResponse(HttpStatusCode.NoContent)); } }
protected void btnEdit_Click(object sender, EventArgs e) { try { FileVO fileVO = m_PostFileService.GetFileById(m_Mode); UIHelper.FillVO(pnlContent, fileVO); fileVO.FileName = m_FileName; fileVO.NeedUpdate = true; fileVO.UpdatedBy = m_SessionHelper.LoginUser.FullNameInChinese; fileVO.UpdatedDate = DateTime.Now; fileVO = m_PostFileService.UpdateFile(fileVO); m_WebLogService.AddSystemLog(MsgVO.Action.修改, fileVO, "", string.Format("單號:{0}", fileVO.FileId)); new Thread(new ThreadStart(() => ApiUtil.UpdateFileToServer(Server.MapPath("../../upload/")))).Start(); fillGridView(); ClearUI(); ShowMode(); } catch (Exception ex) { m_Log.Error(ex); lblMsg.Text = ex.ToString(); } }
protected void btnAdd_Click(object sender, EventArgs e) { FileVO fileVO = new FileVO(); UIHelper.FillVO(pnlContent, fileVO); fileVO.FileName = m_FileName; fileVO.Flag = 1; if (!string.IsNullOrEmpty(txtShowDate.Text.Trim())) { fileVO.ShowDate = DateTime.Parse(txtShowDate.Text.Trim()); } fileVO.FileNo = GetFileNo(fileVO); fileVO.NeedUpdate = true; fileVO.CreatedBy = m_SessionHelper.LoginUser.FullNameInChinese; fileVO.UpdatedBy = m_SessionHelper.LoginUser.FullNameInChinese; fileVO.CreatedDate = DateTime.Now; fileVO.UpdatedDate = DateTime.Now; m_PostFileService.CreateFile(fileVO); m_WebLogService.AddSystemLog(MsgVO.Action.新增, fileVO); new Thread(new ThreadStart(() => ApiUtil.UpdateFileToServer(Server.MapPath("../../upload/")))).Start(); ClearUI(); fillGridView(); }
private void removeSelectedFile_Click(object sender, EventArgs e) { OperationsManager opMan = new OperationsManager(); DocumentVO document = documentsBindingSource.Current as DocumentVO; FileVO file = filesBindingSource.Current as FileVO; if (document != null && file != null) { if (!opMan.HasPermission(OperationsManager.EDIT_DOCS, Library.ConfigurationManager.currUser)) { Error("أنت لا تمتلك السماحية للقيام بهذه العملية"); return; } } else { return; } DialogResult result = Question("هل أنت متأكد من أنك تريد حذف الملف المحدد؟ لا يمكنك التراجع عن هذه العملية لاحقاً"); if (result == System.Windows.Forms.DialogResult.Yes) { FilesManager manager = new FilesManager(); if (manager.Delete(file)) { WriteToLogFileDleted(document, file); Message("تمت عملية الحذف بنجاح", "عملية ناجحة"); filesBindingSource.Remove(file); } else { Error("فشل عملية الحذف", "عملية فاشلة"); } } }
//private string GetFile(string fileName) //{ // string folderPath = "../../App_Data/upload/"+ fileName; // return string.Format("<a href='{0}' target='_blank'>{1}</a>", folderPath, fileName); //} protected void gvList_RowCommand1(object sender, GridViewCommandEventArgs e) { string cmdName = e.CommandName; int fileId = int.Parse(e.CommandArgument.ToString()); FileVO fileVO = m_PostFileService.GetFileById(fileId); switch (cmdName) { case "myModify": ClearUI(); ddlType.Enabled = false; m_Mode = fileId; UIHelper.FillUI(pnlContent, fileVO); m_FileName = fileVO.FileName; //ltlFile.Text = GetFile(m_FileName); lnkFile.Text = m_FileName; lnkFile.Visible = true; ShowMode(); ddlType_SelectedIndexChanged(null, null); pnlContent.Visible = true; //Test 檔案傳到ftp //m_WebUtility.UploadFileToFTP(Server.MapPath("../../App_Data/upload/" + m_FileName)); break; //case "myDel": // postVO.Flag = 0; // m_PostService.UpdatePost(postVO); // m_WebLogService.AddSystemLog(MsgVO.Action.刪除, postVO, "", string.Format("單號:{0}", postVO.PostId)); // break; default: break; } fillGridView(); }
/// <summary> /// 更新File /// </summary> /// <param name="fileVO">被更新的File</param> /// <returns>更新後的File</returns> public FileVO UpdateFile(FileVO fileVO) { NHibernateDao.Update(fileVO); return(fileVO); }
/// <summary> /// 刪除File /// </summary> /// <param name="fileVO">被刪除的File</param> public void DeleteFile(FileVO fileVO) { NHibernateDao.Delete(fileVO); }
/// <summary> /// 新增File /// </summary> /// <param name="fileVO">File</param> /// <returns>新增後的File</returns> public FileVO CreateFile(FileVO fileVO) { NHibernateDao.Insert(fileVO); return(fileVO); }
/// <summary> /// 刪除File /// </summary> /// <param name="fileVO">被刪除的File</param> public void DeleteFile(FileVO fileVO) { PostFileDao.DeleteFile(fileVO); }
/// <summary> /// 更新File /// </summary> /// <param name="fileVO">被更新的File</param> /// <returns>更新後的File</returns> public FileVO UpdateFile(FileVO fileVO) { return(PostFileDao.UpdateFile(fileVO)); }
/// <summary> /// 同步到Server /// </summary> public static void UpdateFileToServer(string filePath) { PostFactory m_PostFactory = new PostFactory(); IPostFileService m_PostFileService = m_PostFactory.GetPostFileService(); ConfigHelper m_ConfigHelper = new ConfigHelper(); WebUtility m_WebUtility = new WebUtility(); if (string.IsNullOrEmpty(m_ConfigHelper.PostFileApiUrl)) { return; } Dictionary <string, string> conditions = new Dictionary <string, string>(); conditions.Add("NeedUpdate", "true"); IList <FileVO> list = m_PostFileService.GetFileList(conditions); if (list != null && list.Count > 0) { foreach (FileVO vo in list) { try { FileVO fileVO = m_PostFileService.GetFileById(vo.FileId); if (fileVO.IsUpdatingToServer) { continue; } FileDto dto = new FileDto(vo); //狀態為刪除 if (dto.Flag == 0) { vo.IsUpdatingToServer = true; m_PostFileService.UpdateFile(vo); if (dto.ServerId > 0) { //有serverId就去server刪除 string url = m_ConfigHelper.PostFileApiUrl + "/" + dto.ServerId.ToString(); WebRequest request = ApiUtil.Post(url, "DELETE", ""); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Gone || response.StatusCode == HttpStatusCode.NoContent) { vo.NeedUpdate = false; vo.IsUpdatingToServer = false; m_PostFileService.UpdateFile(vo); } } } else { //沒有serverId就直接標記已更新 vo.NeedUpdate = false; vo.IsUpdatingToServer = false; m_PostFileService.UpdateFile(vo); } } else { vo.IsUpdatingToServer = true; m_PostFileService.UpdateFile(vo); WebRequest request = ApiUtil.Post <FileDto>(m_ConfigHelper.PostFileApiUrl, "POST", dto); string responseInfo = string.Empty; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.Created) { using (Stream stream = response.GetResponseStream()) { responseInfo = (new StreamReader(stream)).ReadToEnd().Trim(); FileDto newFileDto = JsonConvert.DeserializeObject <FileDto>(responseInfo); vo.IsUpdatingToServer = false; vo.NeedUpdate = false; vo.ServerId = newFileDto.FileId; m_PostFileService.UpdateFile(vo); //成功的話在ftp檔案 m_WebUtility.UploadFileToFTP(Path.Combine(filePath, vo.FileName)); } } } } } catch (Exception ex) { vo.IsUpdatingToServer = false; m_PostFileService.UpdateFile(vo); string error = ex.ToString(); } } } }
public Status addFile(int agendaID, string fileName, long fileSize, string saveFileName) { int filesize = (int)((double)fileSize / 1024 + 0.5); //long转为int AgendaDAO agendaDao = Factory.getInstance <AgendaDAO>(); AgendaVO agendaVo = agendaDao.getOne <AgendaVO>(agendaID); if (agendaVo == null) { Log.DebugInfo("议程不存在"); return(Status.FAILURE); } //初始化会议操作 meeting_initOperator(agendaVo.meetingID); bool isUpdate = false; //判断会议是否开启,如果开启,更新“会议更新状态”,设置数据更新状态 if (meeting_isOpening()) { meeting_updatefile();//这里file与document指代同一种事物 isUpdate = true; } else if (meeting_isOpended())//会议已结束,不允许添加 { return(Status.FAILURE); } FileDAO fileDao = Factory.getInstance <FileDAO>(); Dictionary <string, object> wherelist = new Dictionary <string, object>(); //获取当前文件的个数 wherelist.Add("agendaID", agendaID); List <FileVO> fileVolist = fileDao.getAll <FileVO>(wherelist); //获取新文件的ID int fileID = FileDAO.getID(); //设置新的文件编号 int fileIndex = fileVolist == null ? 1 : fileVolist.Count + 1; //添加文件 FileVO fileVo = new FileVO { fileID = fileID, fileName = fileName, fileIndex = fileIndex, fileSize = filesize, filePath = saveFileName, agendaID = agendaID, isUpdate = isUpdate //判断是否属于会议中新加入的信息 }; Log.DebugInfo("待插入的文件路径:" + saveFileName); int num = fileDao.insert <FileVO>(fileVo); if (num < 0) { Log.DebugInfo("文件数据插入失败"); return(Status.FAILURE); } return(Status.SUCCESS); }
private void AddItemToListView(FileVO file) { ListViewItem item = PagesLV.Items.Add(file.Name, (int)file.Type); item.Tag = file; }
public Status deleteMultipe(List <int> documents) { if (documents == null || documents.Count == 0) { return(Status.ARGUMENT_ERROR); } //出错后恢复数据 var backup = new List <FileVO>(); Status status = Status.SUCCESS; FileDAO fileDao = Factory.getInstance <FileDAO>(); AgendaDAO agendaDao = Factory.getInstance <AgendaDAO>(); Dictionary <string, object> wherelist = new Dictionary <string, object>(); foreach (int documentID in documents) { //获取附件信息 FileVO fileVo = fileDao.getOne <FileVO>(documentID); if (fileVo == null) { status = Status.NONFOUND; break; } //获取议程信息 AgendaVO agendaVo = agendaDao.getOne <AgendaVO>(fileVo.agendaID); if (agendaVo == null) { continue; } //初始化会议操作 meeting_initOperator(agendaVo.meetingID); //判断会议是否 未开启,如果 不是”未开启“,直接退出 if (!meeting_isNotOpen()) { return(Status.FAILURE); } //更新其他附件的序号信息 if (fileDao.updateIndex(fileVo.agendaID, fileVo.fileIndex) < 0) { status = Status.FAILURE; break; } backup.Add(fileVo); //删除当前附件 if (fileDao.delete(fileVo.fileID) < 0) { status = Status.FAILURE; break; } } if (status != Status.SUCCESS) { foreach (var fileVo in backup) { fileDao.insert <FileVO>(fileVo); } } return(Status.SUCCESS); }