public ActionResult Add(KnowledgebaseViewModel knowledgebaseViewModel) { try { // ReSharper disable once JoinDeclarationAndInitializer // ReSharper disable once CollectionNeverQueried.Local var knowledgebaselist = new List <KnowledgebaseAttachments>(); var knowledgebase = new Knowledgebase(); var knowledgebaseDetails = new KnowledgebaseDetails(); var knowledgebaseAttachmentsDetails = new KnowledgebaseAttachmentsDetails(); var knowledgebaseAttachmentsDetailsList = new List <KnowledgebaseAttachmentsDetails>(); if (ModelState.IsValid) { knowledgebase.Subject = knowledgebaseViewModel.Subject; knowledgebase.Status = knowledgebaseViewModel.Status; knowledgebase.KnowledgebaseTypeId = knowledgebaseViewModel.KnowledgebaseTypeId; knowledgebase.CreateDate = DateTime.Now; knowledgebase.KnowledgebaseId = 0; knowledgebase.UserId = Convert.ToInt32(_sessionHandler.UserId); knowledgebase.CategoryId = knowledgebaseViewModel.CategoryId; knowledgebaseDetails.Contents = knowledgebaseViewModel.Contents; knowledgebaseDetails.Keywords = knowledgebaseViewModel.Keywords; knowledgebaseDetails.KnowledgebaseDetailsId = 0; for (int i = 1; i <= 3; i++) { var filename = "fileupload_" + Convert.ToString(i); var file = Request.Files[filename]; if (file != null && file.ContentLength > 0) { var knowledgebaseAttachments1 = new KnowledgebaseAttachments(); string extension = Path.GetExtension(file.FileName); var myUniqueFileName = String.Concat(Guid.NewGuid(), extension); knowledgebaseAttachments1.AttachmentsName = myUniqueFileName; knowledgebaseAttachments1.AttachmentsType = extension; using (var binaryReader = new BinaryReader(file.InputStream)) { byte[] fileSize = binaryReader.ReadBytes(file.ContentLength); knowledgebaseAttachmentsDetails.AttachmentBytes = fileSize; } knowledgebaselist.Add(knowledgebaseAttachments1); knowledgebaseAttachmentsDetailsList.Add(knowledgebaseAttachmentsDetails); } } _knowledgebase.AddKnowledgebase(knowledgebase, knowledgebaselist, knowledgebaseDetails, knowledgebaseAttachmentsDetailsList); TempData["KnowledgebaseMessage"] = "Your Article Added Successfully"; } knowledgebaseViewModel.ListofCategory = _category.GetAllActiveSelectListItemCategory(); knowledgebaseViewModel.ListofKnowledgebaseType = _knowledgebase.KnowledgebaseTypeList(); return(View(knowledgebaseViewModel)); } catch (Exception) { throw; } }
public int UpdateKnowledgebase( Knowledgebase knowledgebase, KnowledgebaseDetails knowledgebaseDetails, List <KnowledgebaseAttachments> listknowledgebaseAttachments, List <KnowledgebaseAttachmentsDetails> knowledgebaseAttachmentsDetails ) { using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnection"].ConnectionString)) { con.Open(); SqlTransaction transaction = con.BeginTransaction(); try { var param = new DynamicParameters(); param.Add("@KnowledgebaseTypeId", knowledgebase.KnowledgebaseTypeId); param.Add("@Subject", knowledgebase.Subject); param.Add("@Status", knowledgebase.Status); param.Add("@UserId", knowledgebase.UserId); param.Add("@CategoryId", knowledgebase.CategoryId); param.Add("@KnowledgebaseId", knowledgebase.KnowledgebaseId); var resultknowledgebase = con.Execute("Usp_UpdateKnowledgebase", param, transaction, 0, CommandType.StoredProcedure); var paramknowledgebaseDetails = new DynamicParameters(); paramknowledgebaseDetails.Add("@Contents", knowledgebaseDetails.Contents); paramknowledgebaseDetails.Add("@Keywords", knowledgebaseDetails.Keywords); paramknowledgebaseDetails.Add("@KnowledgebaseId", knowledgebase.KnowledgebaseId); var resultknowledgebaseDetails = con.Execute("Usp_UpdateKnowledgebaseDetails", paramknowledgebaseDetails, transaction, 0, CommandType.StoredProcedure); if (listknowledgebaseAttachments != null) { for (var index = 0; index < listknowledgebaseAttachments.Count; index++) { var listkb = listknowledgebaseAttachments[index]; var paramknowledgebaseAttachment = new DynamicParameters(); paramknowledgebaseAttachment.Add("@AttachmentsName", listkb.AttachmentsName); paramknowledgebaseAttachment.Add("@AttachmentsType", listkb.AttachmentsType); paramknowledgebaseAttachment.Add("@KnowledgebaseId", knowledgebase.KnowledgebaseId); paramknowledgebaseAttachment.Add("@KnowledgebaseAttachmentsId", dbType: DbType.Int64, direction: ParameterDirection.Output); con.Execute("Usp_InsertKnowledgebaseAttachments", paramknowledgebaseAttachment, transaction, 0, CommandType.StoredProcedure); long knowledgebaseAttachmentsId = paramknowledgebaseAttachment.Get <Int64>("@KnowledgebaseAttachmentsId"); var listofattachmentbytes = knowledgebaseAttachmentsDetails[index]; var paramKnowledgebaseAttachmentsDetails = new DynamicParameters(); paramKnowledgebaseAttachmentsDetails.Add("@AttachmentBytes", listofattachmentbytes.AttachmentBytes); paramKnowledgebaseAttachmentsDetails.Add("@KnowledgebaseId", knowledgebase.KnowledgebaseId); paramKnowledgebaseAttachmentsDetails.Add("@KnowledgebaseAttachmentsId", knowledgebaseAttachmentsId); var resultKnowledgebaseAttachmentsDetails = con.Execute("Usp_InsertKnowledgebaseAttachmentsDetails", paramKnowledgebaseAttachmentsDetails, transaction, 0, CommandType.StoredProcedure); } } if (resultknowledgebase > 0 && resultknowledgebaseDetails > 0) { transaction.Commit(); return(1); } else { transaction.Rollback(); return(0); } } catch (Exception) { transaction.Rollback(); throw; } } }
public ActionResult Edit(EditKnowledgebaseViewModel editKnowledgebaseViewModel) { try { // ReSharper disable once JoinDeclarationAndInitializer // ReSharper disable once CollectionNeverQueried.Local var knowledgebaselist = new List <KnowledgebaseAttachments>(); var knowledgebase = new Knowledgebase(); var knowledgebaseDetails = new KnowledgebaseDetails(); var knowledgebaseAttachmentsDetails = new KnowledgebaseAttachmentsDetails(); var knowledgebaseAttachmentsDetailsList = new List <KnowledgebaseAttachmentsDetails>(); if (ModelState.IsValid) { knowledgebase.Subject = editKnowledgebaseViewModel.Subject; knowledgebase.Status = editKnowledgebaseViewModel.Status; knowledgebase.KnowledgebaseTypeId = editKnowledgebaseViewModel.KnowledgebaseTypeId; knowledgebase.CreateDate = DateTime.Now; knowledgebase.UserId = Convert.ToInt32(_sessionHandler.UserId); knowledgebase.CategoryId = editKnowledgebaseViewModel.CategoryId; knowledgebase.KnowledgebaseId = Convert.ToInt64(editKnowledgebaseViewModel.KnowledgebaseId); knowledgebaseDetails.Contents = editKnowledgebaseViewModel.Contents; knowledgebaseDetails.Keywords = editKnowledgebaseViewModel.Keywords; if (Request != null && (_knowledgebase.GetKnowledgebaseAttachmentsCount(editKnowledgebaseViewModel.KnowledgebaseId) > 0 && Request.Files["fileupload_1"].ContentLength != 0 && Request.Files["fileupload_2"].ContentLength != 0 && Request.Files["fileupload_3"].ContentLength != 0)) { ModelState.AddModelError("", "Delete Pervious uploaded Attachments for Uploading New Attachments"); editKnowledgebaseViewModel.ListofCategory = _category.GetAllActiveSelectListItemCategory(); editKnowledgebaseViewModel.ListofKnowledgebaseType = _knowledgebase.KnowledgebaseTypeList(); return(View(editKnowledgebaseViewModel)); } else { if ((_knowledgebase.GetKnowledgebaseAttachmentsCount(editKnowledgebaseViewModel.KnowledgebaseId) == 0)) { for (int i = 1; i <= 3; i++) { var filename = "fileupload_" + Convert.ToString(i); var file = Request?.Files[filename]; if (file != null && file.ContentLength > 0) { var knowledgebaseAttachments1 = new KnowledgebaseAttachments(); string extension = Path.GetExtension(file.FileName); var myUniqueFileName = String.Concat(Guid.NewGuid(), extension); knowledgebaseAttachments1.AttachmentsName = myUniqueFileName; knowledgebaseAttachments1.AttachmentsType = extension; using (var binaryReader = new BinaryReader(file.InputStream)) { byte[] fileSize = binaryReader.ReadBytes(file.ContentLength); knowledgebaseAttachmentsDetails.AttachmentBytes = fileSize; } knowledgebaselist.Add(knowledgebaseAttachments1); knowledgebaseAttachmentsDetailsList.Add(knowledgebaseAttachmentsDetails); } } _knowledgebase.UpdateKnowledgebase(knowledgebase, knowledgebaseDetails, knowledgebaselist, knowledgebaseAttachmentsDetailsList); TempData["KnowledgebaseMessage"] = "Your Article Updated Successfully"; return(RedirectToAction("Edit", "Knowledgebase")); } _knowledgebase.UpdateKnowledgebase(knowledgebase, knowledgebaseDetails, null, null); TempData["KnowledgebaseMessage"] = "Your Article Updated Successfully"; return(RedirectToAction("Edit", "Knowledgebase", new { id = editKnowledgebaseViewModel.KnowledgebaseId })); } } editKnowledgebaseViewModel.ListofCategory = _category.GetAllActiveSelectListItemCategory(); editKnowledgebaseViewModel.ListofKnowledgebaseType = _knowledgebase.KnowledgebaseTypeList(); editKnowledgebaseViewModel.ListofAttachments = _knowledgebase.GetKnowledgebaseAttachments(editKnowledgebaseViewModel.KnowledgebaseId); return(View(editKnowledgebaseViewModel)); } catch (Exception) { throw; } }