public void Move(Training_Material material, bool isUp)
 {
     try
     {
         if (material == null)
             return;
         int? searchType = null;
         if (material.TypeOfMaterial == Constants.TRAINING_MATERIAL_TYPE_CATEGORY)
             searchType = Constants.TRAINING_CENTER_MATERIAL_SEARCH_TYPE_CATEGORY;
         else if(material.Training_Course.TypeOfCourse == Constants.TRAINING_CENTER_COURSE_TYPE_PRO_SKILL)
             searchType = Constants.TRAINING_CENTER_MATERIAL_SEARCH_TYPE_PRO_COURSE;
         else
             searchType = Constants.TRAINING_CENTER_MATERIAL_SEARCH_TYPE_ENGLISH_COURSE;
         var list = GetList(null, null, searchType, material.CourseId, material.Category, null);
         var mat = list.FirstOrDefault(p => p.ID == material.ID);
         int matIndex = list.IndexOf(mat);
         bool isSwap = false;
         int swappedId = 0;
         //Move up
         if (isUp && list.First().ID != mat.ID)
         {
             isSwap = true;
             swappedId = list[matIndex - 1].ID;
         }
         //Move Down
         else if(!isUp && list.Last().ID != mat.ID)
         {
             isSwap = true;
             swappedId = list[matIndex + 1].ID;
         }
         if (isSwap)
         {
             var mat1 = GetById(material.ID, null);
             var mat2 = GetById(swappedId, null);
             int tmp = mat1.DisplayOrder;
             mat1.DisplayOrder = mat2.DisplayOrder;
             mat2.DisplayOrder = tmp;
             mat1.UpdateDate = mat2.UpdateDate = DateTime.Now;
             mat1.UpdatedBy = mat2.UpdatedBy = HttpContext.Current.User.Identity.Name;
             dbContext.SubmitChanges();
         }
     }
     catch
     {
         return;
     }
 }
 public Message Update(Training_Material objUI)
 {
     Message msg = null;
     try
     {
         Training_Material objDb = GetByID(objUI.ID);
         if(objDb != null)
         {
             objDb.TypeOfMaterial = objUI.TypeOfMaterial;
             objDb.CourseId = objUI.CourseId;
             objDb.Category = objUI.Category;
             objDb.UploadFile = objUI.UploadFile;
             objDb.UploadFileDisplayName = objUI.UploadFileDisplayName;
             objDb.Title = objUI.Title;
             objDb.Permission = objUI.Permission;
             objDb.IsActive = objUI.IsActive;
             objDb.Description = objUI.Description;
             objDb.UpdateDate = DateTime.Now;
             objDb.UpdatedBy = objUI.UpdatedBy;
             dbContext.SubmitChanges();
             // Show success message
             msg = new Message(MessageConstants.I0001, MessageType.Info, "Material Title '" + objUI.Title + "'", "updated");
         }
     }
     catch (Exception ex)
     {
         msg = new Message(MessageConstants.E0007, MessageType.Error);
         throw ex;
     }
     return msg;
 }
 public Message Insert(Training_Material objUI)
 {
     Message msg = null;
     try
     {
         if (objUI != null)
         {
             objUI.DeleteFlag = false;
             objUI.DisplayOrder = 1;
             objUI.CreateDate = objUI.UpdateDate = DateTime.Now;
             dbContext.Training_Materials.InsertOnSubmit(objUI);
             dbContext.SubmitChanges();
             // Show success message
             msg = new Message(MessageConstants.I0001, MessageType.Info, "Material Title '" + objUI.Title + "'", "added");
         }
     }
     catch (Exception ex)
     {
         msg = new Message(MessageConstants.E0007, MessageType.Error);
         throw ex;
     }
     return msg;
 }