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));
            }
        }
Exemple #2
0
    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);
    }
Exemple #3
0
        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);
        }
Exemple #6
0
 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);
            }
        }
Exemple #9
0
 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);
            //}
        }
Exemple #11
0
    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();
    }
Exemple #12
0
 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);
        }
Exemple #14
0
        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("حصل خطأ أثناء حذف الملف");
                }
            }
        }
Exemple #15
0
        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;
            }
        }
Exemple #16
0
        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));
            }
        }
Exemple #18
0
 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();
     }
 }
Exemple #19
0
    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("فشل عملية الحذف", "عملية فاشلة");
                }
            }
        }
Exemple #21
0
    //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();
                }
            }
        }
    }
Exemple #28
0
        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);
        }
Exemple #29
0
        private void AddItemToListView(FileVO file)
        {
            ListViewItem item = PagesLV.Items.Add(file.Name, (int)file.Type);

            item.Tag = file;
        }
Exemple #30
0
        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);
        }