예제 #1
0
        public SigmaResultType AddFileStore(TypeFileStore objFileStore, string targetPath)
        {
            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();

            TypeUserInfo userinfo = AuthMgr.GetUserInfo();
            //objFileStore.CompanyId = userinfo.CompanyId.ToString();
            objFileStore.CreatedBy = userinfo.SigmaUserId;

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            List<SqlParameter> paramList = new List<SqlParameter>();
            paramList.Add(new SqlParameter("@ProjectId", userinfo.CurrentProjectId));
            paramList.Add(new SqlParameter("@FileTitle", objFileStore.FileTitle));
            paramList.Add(new SqlParameter("@FileDescription", objFileStore.FileDescription));
            paramList.Add(new SqlParameter("@FileCategory", objFileStore.FileCategory));
            paramList.Add(new SqlParameter("@FileTypeCode", objFileStore.FileTypeCode));
            paramList.Add(new SqlParameter("@CreatedBy", objFileStore.CreatedBy));
            SqlParameter outParam = new SqlParameter("@NewId", SqlDbType.Int);
            outParam.Direction = ParameterDirection.Output;
            paramList.Add(outParam);

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, CommandType.StoredProcedure, "usp_AddFileStore", paramList.ToArray());
                result.IsSuccessful = true;
                result.ScalarValue = (int)outParam.Value;
                //scope.Complete();
                if (objFileStore.UploadedFileInfo.UploadedFileInfoId == 0)
                {
                    //FileInfo fileinfo = new FileInfo(targetPath + objFileStore.UploadedFileInfo.Path);

                    //objFileStore.UploadedFileInfo.Name = Path.GetFileNameWithoutExtension(targetPath + objFileStore.UploadedFileInfo.Path);
                    //objFileStore.UploadedFileInfo.Size = (int)fileinfo.Length;
                    //objFileStore.UploadedFileInfo.FileExtension = fileinfo.Extension;//Path.GetExtension(objFileStore.UploadedFileInfo.Path);
                    //objFileStore.UploadedFileInfo.FileStoreId = (int)outParam.Value;

                    //-----------------------------------------------------------------------------------------------------
                    //--------------- IE - The given path's format is not supported.  error 해결 -------------------------
                    string filename = Path.GetFileNameWithoutExtension(targetPath + objFileStore.UploadedFileInfo.Path);
                    //string filename = System.IO.Path.GetFileName(targetPath + objFileStore.UploadedFileInfo.Path);
                    FileInfo fileinfo = new FileInfo(targetPath + objFileStore.UploadedFileInfo.Path);
                    string fileExtention = Path.GetExtension(targetPath + objFileStore.UploadedFileInfo.Path);
                    //-----------------------------------------------------------------------------------------------------
                    //-----------------------------------------------------------------------------------------------------

                    objFileStore.UploadedFileInfo.Name = filename;
                    objFileStore.UploadedFileInfo.Size = (int)fileinfo.Length;
                    objFileStore.UploadedFileInfo.FileExtension = fileExtention;
                    objFileStore.UploadedFileInfo.FileStoreId = (int)outParam.Value;

                    UploadedFileInfoMgr uploadedFileInfoMgr = new UploadedFileInfoMgr();
                    uploadedFileInfoMgr.AddUploadedFileInfo(objFileStore.UploadedFileInfo);
                }
                scope.Complete();
            }

            return result;
        }
예제 #2
0
        public SigmaResultType UpdateFileStore(TypeFileStore objFileStore, string targetPath)
        {
            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();

            TypeUserInfo userinfo = AuthMgr.GetUserInfo();
            objFileStore.UpdatedBy = userinfo.SigmaUserId;

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            // Compose parameters
            SqlParameter[] parameters = new SqlParameter[] {
                    new SqlParameter("@FileStroeId", objFileStore.FileStoreId),
                    new SqlParameter("@FileTitle", objFileStore.FileTitle),
                    new SqlParameter("@FileDescription", objFileStore.FileDescription),
                    new SqlParameter("@FileCategory", objFileStore.FileCategory),
                    new SqlParameter("@FileTypeCode", objFileStore.FileTypeCode),
                    new SqlParameter("@UpdatedBy", objFileStore.UpdatedBy),
                };

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, "usp_UpdateFileStore", parameters);
                result.IsSuccessful = true;
                //scope.Complete();
                if (objFileStore.UploadedFileInfo.Path != null)
                {
                    FileInfo fileinfo = new FileInfo(targetPath + objFileStore.UploadedFileInfo.Path);

                    objFileStore.UploadedFileInfo.Name = Path.GetFileNameWithoutExtension(targetPath + objFileStore.UploadedFileInfo.Path);
                    objFileStore.UploadedFileInfo.Size = (int)fileinfo.Length;
                    objFileStore.UploadedFileInfo.FileExtension = Path.GetExtension(objFileStore.UploadedFileInfo.Path);
                    objFileStore.UploadedFileInfo.FileStoreId = objFileStore.FileStoreId;

                    UploadedFileInfoMgr uploadedFileInfoMgr = new UploadedFileInfoMgr();
                    uploadedFileInfoMgr.AddUploadedFileInfo(objFileStore.UploadedFileInfo);
                }
                scope.Complete();
            }

            return result;
        }
예제 #3
0
        public SigmaResultType RemoveFileStore(TypeFileStore objFileStore)
        {
            SigmaResultType result = new SigmaResultType();
            TransactionScope scope = null;

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            // Compose parameters
            SqlParameter[] parameters = new SqlParameter[] {
                    new SqlParameter("@fileStoreId", objFileStore.FileStoreId)
                };

            // IWP Document를 확인 해야 됨.
            DataSet ds = SqlHelper.ExecuteDataset(connStr, "usp_ListUploadedFileInfoByFileStoreId", parameters);

            var UploadedFiles = (from dr in ds.Tables[0].AsEnumerable() select dr.Field<string>("Path"));

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, "usp_RemoveFileStore", parameters);
                result.IsSuccessful = true;
                scope.Complete();
                foreach (string Path in UploadedFiles)
                {
                    string basePath = HttpContext.Current.Server.MapPath("/SigmaStorage");
                    try
                    {
                        string filepath = basePath + "\\" + Path.Replace("/", "\\");
                        if (File.Exists(filepath))
                        {
                            File.Delete(filepath);
                            File.Delete(System.IO.Path.ChangeExtension(filepath, "pdf"));
                            File.Delete(filepath.Replace(".jpg", ".thumbnail.jpg"));
                        }
                    }
                    catch { }
                    //SigmaDoc/Ledcor/1/Document/EQUIPMENT-Battery_Care_And_Tips.pdf
                }
                //SigmaResultType uploadedresult = new SigmaResultType();
                //UploadedFileInfoMgr uploadedFileInfoMgr = new UploadedFileInfoMgr();
                //uploadedFileInfoMgr.RemoveUploadedFileInfoALL(objFileStore.FileStoreId);
            }

            return result;
        }
        public SigmaResultType UpdateFileStore(TypeFileStore objFileStore)
        {
            SigmaResultType result = new SigmaResultType();

            try
            {
                ////string targetPath = System.Web.Configuration.WebConfigurationManager.AppSettings["DocumentUpload"];
                //string targetPath = System.Web.Configuration.WebConfigurationManager.AppSettings["DocumentFolderRoot"];

                FileStoreMgr fileStoreMgr = new FileStoreMgr();
                result = fileStoreMgr.UpdateFileStore(objFileStore, ConfigMgr.GetTargetPath());
                result.IsSuccessful = true;
                return result;
            }
            catch (Exception ex)
            {
                // Log Exception
                ExceptionHelper.logException(ex);
                result.IsSuccessful = false;
                result.ErrorMessage = ex.Message;
                return result;
            }
        }
        public SigmaResultType RemoveFileStore(TypeFileStore objFileStore)
        {
            SigmaResultType result = new SigmaResultType();

            try
            {
                FileStoreMgr fileStoreMgr = new FileStoreMgr();
                result = fileStoreMgr.RemoveFileStore(objFileStore);
                return result;
            }
            catch (Exception ex)
            {
                // Log Exception
                ExceptionHelper.logException(ex);
                result.IsSuccessful = false;
                result.ErrorMessage = ex.Message;
                return result;
            }
        }