public ActionResult Add()
 {
     try
     {
         var knowledgebaseViewModel = new KnowledgebaseViewModel()
         {
             ListofCategory          = _category.GetAllActiveSelectListItemCategory(),
             ListofKnowledgebaseType = _knowledgebase.KnowledgebaseTypeList()
         };
         return(View(knowledgebaseViewModel));
     }
     catch (Exception)
     {
         throw;
     }
 }
        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;
            }
        }