/// <summary> /// 아티클을 저장한다. /// </summary> /// <param name="model"></param> public static int InsertArticle(ArticleModel model, HttpFileCollection fileCollection) { object trackbackUrl = model.TrackbackUrl.Length > 0 ? (object)model.TrackbackUrl : DBNull.Value; SqlParameter[] param = { CreateInParam("@CategoryID", SqlDbType.Int, 4, model.CategoryID), CreateInParam("@Title", SqlDbType.VarChar, 255, model.Title), CreateInParam("@Content", SqlDbType.Text, Int32.MaxValue, model.Content), CreateInParam("@TrackbackUrl", SqlDbType.VarChar, 255, trackbackUrl), CreateInParam("@PublicFlag", SqlDbType.Bit, 1, model.PublicFlag), CreateInParam("@PublicRss", SqlDbType.Bit, 1, model.PublicRss), CreateInParam("@AllowComment", SqlDbType.Bit, 1, model.AllowComment), CreateInParam("@AllowTrackback", SqlDbType.Bit, 1, model.AllowTrackback), CreateReturnValue() }; SqlCommand cmd = GetSpCommand("UBA_InsertArticle", param, IsolationLevel.ReadCommitted); try { cmd.ExecuteNonQuery(); int seq = (int)cmd.Parameters["@ReturnValue"].Value; // 첨부파일 저장 for (int i = 0; i < fileCollection.Count; i++) { if (fileCollection[i].ContentLength <= 0) { continue; } string path = string.Format("{0}/{1}", REPOSITORY_ARTICLE, seq.ToString()); RepositoryManager.GetInstance().SaveAs(path, fileCollection[i]); AttachFileModel fileModel = new AttachFileModel(); fileModel.ArticleNo = seq; fileModel.FilePath = path + "/" + Path.GetFileName(fileCollection[i].FileName); fileModel.FileSize = fileCollection[i].ContentLength; InsertAttachFile(cmd, fileModel); fileModel = null; } // 태그 저장 if (!InsertTag(cmd, seq, model.Tag)) { throw new UmcDataException("Tag 저장 중 에러"); } ReleaseCommandWithCommit(cmd); return(seq); } catch (Exception ex) { ReleaseCommandWithRollback(cmd); throw new UmcDataException("UBA_InsertArticle 프로시져 호출중 에러", ex); } }
/// <summary> /// 파일번호로 첨부파일을 가져온다. /// </summary> /// <param name="fileNo"></param> /// <returns></returns> public static AttachFileModel GetAttachFileByFileNo(int fileNo) { SqlParameter[] param = { CreateInParam("@FileNo", SqlDbType.Int, 4, fileNo) }; SqlCommand cmd = GetRawCommand("SELECT * FROM AttachFile WHERE FileNo=@FileNo", param); SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (!reader.Read()) { return(new AttachFileModel()); } AttachFileModel fileModel = new AttachFileModel((int)reader["FileNo"]); fileModel.ArticleNo = (int)reader["ArticleNo"]; fileModel.FilePath = (string)reader["FilePath"]; fileModel.FileSize = (int)reader["FileSize"]; fileModel.DownCount = (int)reader["DownCount"]; fileModel.InsertDate = (DateTime)reader["InsertDate"]; return(fileModel); }
public bool DeleteFileAttachment(AttachFileModel model) { try { using (var db = new PORTALEntities()) { var item = (from c in db.Attachments where c.AttachId == model.AttachId select c).FirstOrDefault(); db.Attachments.Remove(item); db.SaveChanges(); //return true; } //kiem tra neu khong con file dinh kem nao nua thi cap nhat lai ben formtemplate if (GetList(model.MasterId, model.ModuleId).Any()) return true; using (var db = new PORTALEntities()) { var item = (from c in db.CmsFormTemplates where c.Id == model.MasterId select c).FirstOrDefault(); if(item == null) return false; item.IsAttachFile = false; db.SaveChanges(); return true; } } catch (Exception ex) { LogHelper.Error("FileAttacmentRepository DeleteFileAttachment: " + ex.Message + " Inner exception: " + ex.InnerException.Message); return false; } }
private static void UpdateByIdTest() { var repo = new AttachFileRepository(); var model = new AttachFileModel() { FileName = "Computer.jpg", FileSize = 2345, Id = 1 }; repo.UpdateById(model.FileName, model.FileSize, model.Id); }
private static void AddTest() { var repo = new AttachFileRepository(); //var model = new AttachFileModel() { UserId = 5, BoardId = 4, ArticleId = 1, FileName = "Photo.png", FileSize = 1234 }; var model = new AttachFileModel() { UserId = 5, BoardId = 4, ArticleId = 1, FileName = "Photo.jpg", FileSize = 2345 }; repo.Add(model); }
/// <summary> /// 첨부 파일 정보를 데이터베이스에 저장 /// </summary> /// <param name="model">AttachFileModel 모델 클래스</param> public void Add(AttachFileModel model) { string sql = "AttachFilesAdd"; var parameters = new DynamicParameters(); parameters.Add("@UserId", value: model.UserId, dbType: DbType.Int32, direction: ParameterDirection.Input); parameters.Add("@BoardId", value: model.BoardId, dbType: DbType.Int32, direction: ParameterDirection.Input); parameters.Add("@ArticleId", value: model.ArticleId, dbType: DbType.Int32, direction: ParameterDirection.Input); parameters.Add("@FileName", value: model.FileName, dbType: DbType.String, direction: ParameterDirection.Input); parameters.Add("@FileSize", value: model.FileSize, dbType: DbType.Int32, direction: ParameterDirection.Input); db.Execute(sql, parameters, commandType: CommandType.StoredProcedure); }
private static void InsertAttachFile(SqlCommand cmd, AttachFileModel model) { cmd.Parameters.Clear(); cmd.CommandText = "UAA_InsertAttachFile"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ArticleNo", SqlDbType.Int); cmd.Parameters.Add("@FilePath", SqlDbType.VarChar, 255); cmd.Parameters.Add("@FileSize", SqlDbType.Int); cmd.Parameters["@ArticleNo"].Value = model.ArticleNo; cmd.Parameters["@FilePath"].Value = model.FilePath; cmd.Parameters["@FileSize"].Value = model.FileSize; cmd.ExecuteNonQuery(); }
private static void FillAttachFile(SqlDataReader reader, ArticleModel model) { if (!reader.NextResult()) { return; } while (reader.Read()) { AttachFileModel fileModel = new AttachFileModel((int)reader["FileNo"]); fileModel.ArticleNo = (int)reader["ArticleNo"]; fileModel.FilePath = (string)reader["FilePath"]; fileModel.FileSize = (int)reader["FileSize"]; fileModel.DownCount = (int)reader["DownCount"]; fileModel.InsertDate = (DateTime)reader["InsertDate"]; model.AttachFile.Add(fileModel); fileModel = null; } }
public ActionResult DeleteFile(AttachFileModel model) { if (model.AttachId != null) { if (!(new AttachmentRepository()).DeleteFileAttachment(model)) { return(Json(new { result = "ERROR" })); } } if (string.IsNullOrEmpty(model.FilePath)) { return(Json(new { result = "ERROR" })); } var serverPath = Request.MapPath("~" + model.FilePath); if (System.IO.File.Exists(serverPath)) { System.IO.File.Delete(serverPath); } return(Json(new { result = "OK" })); }