Beispiel #1
0
        public ActionResult PrivateMessageEdit(int id = 0)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var vm = new Models.SysMessage.PrivateMessageEdit();

                if (id != 0)
                {
                    var tb = (from p in db.Table <Sys.Entity.tbSysMessage>()
                              where p.Id == id && p.IsPermit == true
                              select new Dto.SysMessage.PrivateMessageEdit
                    {
                        Id = p.Id,
                        InputDate = p.InputDate,
                        IsEmail = p.IsEmail,
                        IsSms = p.IsSms,
                        MessageContent = p.MessageContent,
                        MessageTitle = p.MessageTitle,
                        SysUserId = p.tbSysUser.Id,
                        ReceiverUserIds = "",
                        Url = p.Url
                    }).FirstOrDefault();
                    if (tb != null)
                    {
                        vm.PrivateMessageMyEdit = tb;
                        vm.SysUserList          = (from p in db.Table <Sys.Entity.tbSysMessageUser>()
                                                   where p.tbSysMessage.Id == id
                                                   select new Dto.SysUser.List
                        {
                            Id = p.tbSysUser.Id,
                            UserName = p.tbSysUser.UserName
                        }).ToList();
                    }
                }

                return(View(vm));
            }
        }
Beispiel #2
0
        public ActionResult PrivateMessageEdit(Models.SysMessage.PrivateMessageEdit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (error.Count == decimal.Zero)
                {
                    if (vm.PrivateMessageMyEdit.Id == 0)
                    {
                        if (string.IsNullOrEmpty(vm.PrivateMessageMyEdit.ReceiverUserIds) == false)
                        {
                            var userIds = vm.PrivateMessageMyEdit.ReceiverUserIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                            var tb      = new Sys.Entity.tbSysMessage();
                            tb.MessageTitle   = vm.PrivateMessageMyEdit.MessageTitle;
                            tb.IsSms          = false;
                            tb.IsEmail        = false;
                            tb.IsPermit       = true;//私信
                            tb.Url            = "";
                            tb.MessageContent = vm.PrivateMessageMyEdit.MessageContent;
                            tb.tbProgram      = db.Set <Admin.Entity.tbProgram>().Find(Code.Common.ProgramId);
                            tb.tbSysUser      = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId);
                            tb.InputDate      = DateTime.Now;
                            db.Set <Sys.Entity.tbSysMessage>().Add(tb);
                            foreach (var id in userIds)
                            {
                                var userid = id.ConvertToInt();
                                var tbUser = new Sys.Entity.tbSysMessageUser();
                                tbUser.IsRead       = false;
                                tbUser.tbSysMessage = tb;
                                tbUser.ReadDate     = DateTime.Now;
                                tbUser.tbSysUser    = db.Set <Sys.Entity.tbSysUser>().Find(userid);
                                tbUser.UpdateTime   = DateTime.Now;
                                db.Set <Sys.Entity.tbSysMessageUser>().Add(tbUser);
                            }
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加私信");
                            }
                        }
                        else
                        {
                            error.AddError("请选择接收私信的用户");
                            return(Code.MvcHelper.Post(error));
                        }
                    }
                    else
                    {
                        var tb = (from p in db.Table <Sys.Entity.tbSysMessage>()
                                  where p.Id == vm.PrivateMessageMyEdit.Id
                                  select p).FirstOrDefault();
                        if (tb != null)
                        {
                            tb.MessageTitle   = vm.PrivateMessageMyEdit.MessageTitle;
                            tb.IsSms          = false;
                            tb.IsEmail        = false;
                            tb.Url            = "";
                            tb.IsPermit       = true;
                            tb.MessageContent = vm.PrivateMessageMyEdit.MessageContent;
                            tb.tbSysUser      = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId);
                            tb.tbProgram      = db.Set <Admin.Entity.tbProgram>().Find(Code.Common.ProgramId);
                            tb.InputDate      = DateTime.Now;
                            //删除之前
                            var tbUser = (from p in db.Table <Sys.Entity.tbSysMessageUser>()
                                          where p.tbSysMessage.Id == vm.PrivateMessageMyEdit.Id
                                          select p).ToList();
                            foreach (var a in tbUser)
                            {
                                a.IsDeleted  = true;
                                a.UpdateTime = DateTime.Now;
                            }
                            //重新增加
                            var userIds = vm.PrivateMessageMyEdit.ReceiverUserIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                            foreach (var id in userIds)
                            {
                                var userid    = id.ConvertToInt();
                                var tbUserNew = new Sys.Entity.tbSysMessageUser();
                                tbUserNew.IsRead       = false;
                                tbUserNew.tbSysMessage = tb;
                                tbUserNew.ReadDate     = DateTime.Now;
                                tbUserNew.tbSysUser    = db.Set <Sys.Entity.tbSysUser>().Find(userid);
                                tbUserNew.UpdateTime   = DateTime.Now;
                                db.Set <Sys.Entity.tbSysMessageUser>().Add(tbUserNew);
                            }
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改私信");
                            }
                        }
                        else
                        {
                            error.AddError(Resources.LocalizedText.MsgNotFound);
                        }
                    }
                }

                return(Code.MvcHelper.Post(null, Url.Action("PrivateMessageList"), "提交成功!"));
            }
        }