public ActionResult Edit(int id = 0)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var vm = new Models.SmsConfig.Edit();
                vm.SmsServerTypeList = typeof(XkSystem.Code.EnumHelper.SmsServerType).ToItemList();
                if (id != 0)
                {
                    var tb = (from p in db.Table <Entity.tbSmsConfig>()
                              where p.Id == id
                              select new Dto.SmsConfig.Edit
                    {
                        Id = p.Id,
                        No = p.No,
                        SmsServer = p.SmsServer,
                        SmsAccount = p.SmsAccount,
                        SmsPassword = p.SmsPassword,
                        SmsUrl = p.SmsUrl,
                        SmsServerType = p.SmsServerType,
                        SmsFreeSignName = p.SmsFreeSignName,
                        SmsTemplateCode = p.SmsTemplateCode,
                        Status = p.Status,
                        IsDefault = p.IsDefault
                    }).FirstOrDefault();
                    if (tb != null)
                    {
                        vm.SmsConfigEdit                 = tb;
                        vm.SmsConfigEdit.SmsAccount      = Code.Common.DESDeCode(vm.SmsConfigEdit.SmsAccount);
                        vm.SmsConfigEdit.SmsPassword     = Code.Common.DESDeCode(vm.SmsConfigEdit.SmsPassword);
                        vm.SmsConfigEdit.SmsUrl          = Code.Common.DESDeCode(vm.SmsConfigEdit.SmsUrl);
                        vm.SmsConfigEdit.SmsFreeSignName = Code.Common.DESDeCode(vm.SmsConfigEdit.SmsFreeSignName);
                        vm.SmsConfigEdit.SmsTemplateCode = Code.Common.DESDeCode(vm.SmsConfigEdit.SmsTemplateCode);
                    }
                }

                return(View(vm));
            }
        }
        public ActionResult Edit(Models.SmsConfig.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (error.Count == decimal.Zero)
                {
                    if (db.Table <Entity.tbSmsConfig>().Where(d => d.SmsServer == vm.SmsConfigEdit.SmsServer && d.Id != vm.SmsConfigEdit.Id).Any())
                    {
                        error.AddError("该短信配置已经存在!");
                        return(Code.MvcHelper.Post(error));
                    }

                    if (vm.SmsConfigEdit.IsDefault)
                    {
                        var tb = from p in db.Table <Entity.tbSmsConfig>()
                                 select p;

                        foreach (var section in tb)
                        {
                            section.IsDefault = false;
                        }

                        db.SaveChanges();
                    }

                    if (vm.SmsConfigEdit.Id == 0)
                    {
                        var tb = new Entity.tbSmsConfig();
                        tb.No = vm.SmsConfigEdit.No == null?db.Table <Entity.tbSmsConfig>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.SmsConfigEdit.No;

                        tb.SmsServer       = vm.SmsConfigEdit.SmsServer;
                        tb.SmsServerType   = vm.SmsConfigEdit.SmsServerType;
                        tb.SmsAccount      = Code.Common.DESEnCode(vm.SmsConfigEdit.SmsAccount);
                        tb.SmsPassword     = Code.Common.DESEnCode(vm.SmsConfigEdit.SmsPassword);
                        tb.SmsUrl          = Code.Common.DESEnCode(string.IsNullOrEmpty(vm.SmsConfigEdit.SmsUrl) ? "" : vm.SmsConfigEdit.SmsUrl);
                        tb.SmsFreeSignName = Code.Common.DESEnCode(string.IsNullOrEmpty(vm.SmsConfigEdit.SmsFreeSignName) ? "" : vm.SmsConfigEdit.SmsFreeSignName);
                        tb.SmsTemplateCode = Code.Common.DESEnCode(string.IsNullOrEmpty(vm.SmsConfigEdit.SmsTemplateCode) ? "" : vm.SmsConfigEdit.SmsTemplateCode);
                        tb.Status          = vm.SmsConfigEdit.Status;
                        tb.IsDefault       = vm.SmsConfigEdit.IsDefault;
                        db.Set <Entity.tbSmsConfig>().Add(tb);
                        if (db.SaveChanges() > 0)
                        {
                            XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加了短信服务配置");
                        }
                    }
                    else
                    {
                        var tb = (from p in db.Table <Entity.tbSmsConfig>()
                                  where p.Id == vm.SmsConfigEdit.Id
                                  select p).FirstOrDefault();

                        if (tb != null)
                        {
                            tb.No = vm.SmsConfigEdit.No == null?db.Table <Entity.tbSmsConfig>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.SmsConfigEdit.No;

                            tb.SmsServer       = vm.SmsConfigEdit.SmsServer;
                            tb.SmsServerType   = vm.SmsConfigEdit.SmsServerType;
                            tb.SmsAccount      = Code.Common.DESEnCode(vm.SmsConfigEdit.SmsAccount);
                            tb.SmsPassword     = Code.Common.DESEnCode(vm.SmsConfigEdit.SmsPassword);
                            tb.SmsUrl          = Code.Common.DESEnCode(string.IsNullOrEmpty(vm.SmsConfigEdit.SmsUrl) ? "" : vm.SmsConfigEdit.SmsUrl);
                            tb.SmsFreeSignName = Code.Common.DESEnCode(string.IsNullOrEmpty(vm.SmsConfigEdit.SmsFreeSignName) ? "" : vm.SmsConfigEdit.SmsFreeSignName);
                            tb.SmsTemplateCode = Code.Common.DESEnCode(string.IsNullOrEmpty(vm.SmsConfigEdit.SmsTemplateCode) ? "" : vm.SmsConfigEdit.SmsTemplateCode);
                            tb.Status          = vm.SmsConfigEdit.Status;
                            tb.IsDefault       = vm.SmsConfigEdit.IsDefault;
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改了短信服务配置");
                            }
                        }
                        else
                        {
                            error.AddError(Resources.LocalizedText.MsgNotFound);
                        }
                    }
                }
                return(Code.MvcHelper.Post(error));
            }
        }