//MailSetting
 public ViewResult EditMailSetting()
 {
     MailSetting mailSetting = websiteConfigRepository.MailSettings.FirstOrDefault();
     if (mailSetting == null)
         mailSetting = new MailSetting();
     return View(mailSetting);
 }
 public ActionResult EditMailSetting(MailSetting mailSetting)
 {
     if (ModelState.IsValid)
     {
         websiteConfigRepository.SaveMailSetting(mailSetting);
         TempData["message"] = string.Format("{0} has been saved", mailSetting.MailSettingId);
         return View(mailSetting);
     }
     else
     {
         //There is something wrong with the data values
         TempData["message"] = string.Format("Error occurs!", mailSetting.MailSettingId);
         return View(mailSetting);
     }
 }
 public void SaveMailSetting(MailSetting mailSetting)
 {
     if (mailSetting.MailSettingId == 0)
     {
         context.MailSettings.Add(mailSetting);
     }
     else
     {
         MailSetting dbEntry = context.MailSettings.Find(mailSetting.MailSettingId);
         if (dbEntry != null)
         {
             dbEntry.SmtpServer = mailSetting.SmtpServer;
             dbEntry.SmtpPort = mailSetting.SmtpPort;
             dbEntry.EmailAddress = mailSetting.EmailAddress;
             dbEntry.EmailPassword = mailSetting.EmailPassword;
         }
     }
     context.SaveChanges();
 }