public ActionResult Create()
        {
            CRM_SMSTemplateModel model = new CRM_SMSTemplateModel()
            {
                Actived = true
            };

            return(View(model));
        }
 //[HttpPost]
 //public ActionResult Create(CRM_SMSTemplateModel model)
 //{
 //    try
 //    {
 //        if (ModelState.IsValid)
 //        {
 //            _context.Entry(model).State = System.Data.Entity.EntityState.Added;
 //            _context.SaveChanges();
 //            return RedirectToAction("Index");
 //        }
 //        else
 //        {
 //            return View(model);
 //        }
 //    }
 //    catch
 //    {
 //        return View(model);
 //    }
 //}
 public ActionResult Save(CRM_SMSTemplateModel model, List <SMSParameterViewModel> detail)
 {
     try
     {
         if (ModelState.IsValid)
         {
             using (TransactionScope ts = new TransactionScope())
             {
                 model.SMSContent            = ConvertToUnsign(model.SMSContent);
                 _context.Entry(model).State = System.Data.Entity.EntityState.Added;
                 _context.SaveChanges();
                 if (detail != null)
                 {
                     CRM_SMSParameterModel SMSParameter;
                     foreach (var item in detail)
                     {
                         SMSParameter = new CRM_SMSParameterModel()
                         {
                             SMSTemplateId = model.SMSTemplateId,
                             Name          = item.Name,
                             Description   = item.Description
                         };
                         _context.Entry(SMSParameter).State = System.Data.Entity.EntityState.Added;
                         _context.SaveChanges();
                     }
                 }
                 ts.Complete();
                 return(Content("success"));
             }
         }
         else
         {
             return(Content("Vui lòng kiểm tra lại thông tin không hợp lệ"));
         }
     }
     catch (Exception ex)
     {
         return(Content("Xảy ra lỗi trong quá trình thêm mới."));
     }
 }
        public ActionResult Update(CRM_SMSTemplateModel model, List <SMSParameterViewModel> detail)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (TransactionScope ts = new TransactionScope())
                    {
                        model.SMSContent            = ConvertToUnsign(model.SMSContent);
                        _context.Entry(model).State = System.Data.Entity.EntityState.Modified;
                        _context.SaveChanges();

                        // Kiểm tra xem mẫu Email đã đc tham chiếu bởi bảng khác hay không
                        int RemiderId = _context.CRM_RemiderModel.Where(p => p.EmailTemplateId == model.SMSTemplateId).Select(p => p.RemiderId).FirstOrDefault();

                        #region Nếu không bị tham chiếu : Xoá những para bị xoá trên giao diện
                        if (RemiderId == 0)
                        {
                            if (detail == null)
                            {
                                detail = new List <SMSParameterViewModel>();
                            }
                            List <int> lstSMSPara         = detail.Where(p => p.SMSParameterId != 0).Select(p => p.SMSParameterId).ToList();
                            var        lstSMSparaToDelete = _context.CRM_SMSParameterModel
                                                            .Where(p => p.SMSTemplateId == model.SMSTemplateId && !lstSMSPara.Contains(p.SMSParameterId))
                                                            .ToList();
                            foreach (var item in lstSMSparaToDelete)
                            {
                                _context.Entry(item).State = System.Data.Entity.EntityState.Deleted;
                                _context.SaveChanges();
                            }
                        }
                        #endregion

                        #region // Sửa và thêm
                        CRM_SMSParameterModel SMSParameter;
                        foreach (var item in detail)
                        {
                            if (item.SMSParameterId == 0) //thêm mới
                            {
                                SMSParameter = new CRM_SMSParameterModel()
                                {
                                    SMSTemplateId = model.SMSTemplateId,
                                    Name          = item.Name,
                                    Description   = item.Description
                                };
                                _context.Entry(SMSParameter).State = System.Data.Entity.EntityState.Added;
                                _context.SaveChanges();
                            }
                            else//sửa
                            {
                                var modeladd = _context.CRM_SMSParameterModel.Where(p => p.SMSParameterId == item.SMSParameterId).FirstOrDefault();
                                modeladd.SMSTemplateId         = model.SMSTemplateId;
                                modeladd.Name                  = item.Name;
                                modeladd.Description           = item.Description;
                                _context.Entry(modeladd).State = System.Data.Entity.EntityState.Modified;
                                _context.SaveChanges();
                            }
                        }
                        #endregion

                        ts.Complete();
                        return(Content("success"));
                    }
                }
                else
                {
                    return(Content("Vui lòng kiểm tra lại thông tin không hợp lệ"));
                }
            }
            catch (Exception ex)
            {
                return(Content("Lỗi hệ thống" + ex.Message));
            }
        }