/// <summary> /// SaveKnowledgeBase() method is used to save knowledgebase data /// </summary> /// <param name="KnowledgeBase"></param> public void SaveKnowledgeBase(KnowledgeBase knowledgeBase) { using (var dbContextTransaction = _db.Database.BeginTransaction()) { try { tblKnowledgeBase objKnowledgeBase = null; objKnowledgeBase = new tblKnowledgeBase() { Title = knowledgeBase.Title, Text = knowledgeBase.Text, DistrictId = knowledgeBase.DistrictId, RoleId = knowledgeBase.RoleId, CreateDatetime = knowledgeBase.CreatedDateTime, }; _db.tblKnowledgeBases.Add(objKnowledgeBase); _db.SaveChanges(); tblAttachment objAttachment = null; if (knowledgeBase.FileDetails != null) { foreach (var file in knowledgeBase.FileDetails) { objAttachment = new tblAttachment() { CreatedDate = knowledgeBase.CreatedDateTime, CreatedUserId = knowledgeBase.CreatedUserId, FileName = file.PhysicalFileName, OriginalFileName = file.OriginalFileName, FileExtension = file.FileExtension }; _db.tblAttachments.Add(objAttachment); _db.SaveChanges(); tblKnowledgeBaseAttachment objKnowledgeBaseAttachment = null; objKnowledgeBaseAttachment = new tblKnowledgeBaseAttachment() { AttachmentId = objAttachment.AttachmentId, KnowledgeBaseId = objKnowledgeBase.KnowledgeBaseId, CreatedDate = knowledgeBase.CreatedDateTime, CreatedUserId = knowledgeBase.CreatedUserId }; _db.tblKnowledgeBaseAttachments.Add(objKnowledgeBaseAttachment); _db.SaveChanges(); } } dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } }