Beispiel #1
0
        public string MessageUserInsert(Models.SysMessageUser.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var tb = new Sys.Entity.tbSysMessageUser();
                tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(vm.MessageUserEdit.SysUserId);
                tb.IsRead    = false;
                db.Set <Sys.Entity.tbSysMessageUser>().Add(tb);
                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加消息接收人");
                }

                return(string.Empty);
            }
        }
Beispiel #2
0
        public ActionResult ImportMessage(Models.SysMessageUser.ImportMessage vm)
        {
            var error = new List <string>();

            if (error.Count == decimal.Zero)
            {
                if (ModelState.IsValid)
                {
                    var file     = Request.Files[nameof(vm.UploadFile)];
                    var fileSave = System.IO.Path.GetTempFileName();
                    file.SaveAs(fileSave);
                    using (var db = new XkSystem.Models.DbContext())
                    {
                        if (Code.Common.GetFileType(file.FileName) != Code.FileType.Excel)
                        {
                            error.AddError("上传的文件不是正确的EXCLE文件!");
                        }
                        var dt = Code.NpoiHelper.ExcelToDataTable(fileSave, System.IO.Path.GetExtension(file.FileName), string.Empty);

                        if (dt == null)
                        {
                            error.AddError("无法读取上传的文件,请检查文件格式是否正确!");
                        }
                        var tbOrgList = new List <string>()
                        {
                            "用户账号", "用户姓名", "私信标题", "私信内容"
                        };
                        var Text = string.Empty;
                        foreach (var a in tbOrgList)
                        {
                            if (!dt.Columns.Contains(a.ToString()))
                            {
                                Text += a + ",";
                            }
                        }
                        if (!string.IsNullOrEmpty(Text))
                        {
                            error.AddError("上传的EXCEL内容与预期不一致!缺少字段:" + Text);
                        }
                        var tbSysUserList = db.Table <Sys.Entity.tbSysUser>().ToList();//全部用户
                        vm.ImportMsgList = new List <Dto.SysMessageUser.ImportMessage>();
                        var index = 0;
                        foreach (System.Data.DataRow dr in dt.Rows)
                        {
                            index++;
                            var SysUser = new Dto.SysMessageUser.ImportMessage()
                            {
                                UserCode       = Convert.ToString(dr["用户账号"]),
                                UserName       = Convert.ToString(dr["用户姓名"]),
                                MessageTitle   = Convert.ToString(dr["私信标题"]),
                                MessageContent = Convert.ToString(dr["私信内容"])
                            };
                            var user = tbSysUserList.Where(d => d.UserCode == SysUser.UserCode);
                            if (user != null && user.Count() > 0)
                            {
                                SysUser.Id       = user.FirstOrDefault().Id;
                                SysUser.UserName = user.FirstOrDefault().UserName;
                            }
                            else
                            {
                                var errorMsg = string.Format("第{0}行:用户{1}[{2}]不存在系统中;", index.ToString(), SysUser.UserCode, SysUser.UserName);
                                error.AddError(errorMsg);
                                continue;
                            }
                            if (string.IsNullOrEmpty(SysUser.MessageTitle))
                            {
                                var errorMsg = string.Format("第{0}行:私信标题为空,请输入私信标题;", index.ToString());
                                error.AddError(errorMsg);
                                continue;
                            }
                            if (string.IsNullOrEmpty(SysUser.MessageContent))
                            {
                                var errorMsg = string.Format("第{0}行:私信内容为空,请输入私信内容;", index.ToString());
                                error.AddError(errorMsg);
                                continue;
                            }
                            if (vm.ImportMsgList.Where(d => d.Id == SysUser.Id && d.UserCode == SysUser.UserCode && d.UserName == SysUser.UserName && d.MessageTitle == SysUser.MessageTitle && d.MessageContent == SysUser.MessageContent).Count() == 0)
                            {
                                vm.ImportMsgList.Add(SysUser);
                            }
                        }
                        if (error != null && error.Count > decimal.Zero)
                        {
                        }
                        else
                        {
                            foreach (var message in vm.ImportMsgList)
                            {
                                var tb = new Sys.Entity.tbSysMessage();
                                tb.MessageTitle   = message.MessageTitle;
                                tb.IsSms          = false;
                                tb.IsEmail        = false;
                                tb.IsPermit       = true;//私信
                                tb.Url            = "";
                                tb.MessageContent = message.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;
                                db.Set <Sys.Entity.tbSysMessage>().Add(tb);

                                var tbUser = new Sys.Entity.tbSysMessageUser();
                                tbUser.IsRead       = false;
                                tbUser.tbSysMessage = tb;
                                tbUser.ReadDate     = DateTime.Now;
                                tbUser.tbSysUser    = db.Set <Sys.Entity.tbSysUser>().Find(message.Id);
                                tbUser.UpdateTime   = DateTime.Now;
                                db.Set <Sys.Entity.tbSysMessageUser>().Add(tbUser);
                            }
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("导入私信");
                            }
                            vm.Status = true;
                        }
                    }
                }
            }
            if (error != null && error.Count > decimal.Zero)
            {
                foreach (var msg in error)
                {
                    ModelState.AddModelError("", msg);
                }
                vm.Status = false;
            }
            return(View(vm));
        }
Beispiel #3
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"), "提交成功!"));
            }
        }
        public ActionResult AddMessage(Models.MyMessage.MyMessageEditModel vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (error.Count == decimal.Zero)
                {
                    string[] RoleIDs = null;
                    if (Request["RoleIDs"] != null)
                    {
                        RoleIDs = Request["RoleIDs"].Split(',');
                    }

                    List <int> GobalUserIds = new List <int>();
                    string[]   UserIDs      = null;
                    if (!string.IsNullOrEmpty(vm.MyMessageEditDto.UserIds))
                    {
                        UserIDs = vm.MyMessageEditDto.UserIds.Split(',');
                        foreach (var id in UserIDs)
                        {
                            int uid = int.Parse(id);
                            GobalUserIds.Add(uid);
                        }
                    }

                    var tb = new Sys.Entity.tbSysMessage();
                    tb.MessageTitle   = vm.MyMessageEditDto.MessageTitle;
                    tb.IsSms          = false;
                    tb.IsEmail        = false;
                    tb.IsPermit       = true;//私信
                    tb.Url            = "";
                    tb.MessageContent = vm.MyMessageEditDto.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);
                    if (RoleIDs != null)
                    {
                        foreach (var id in RoleIDs)
                        {
                            int rid     = int.Parse(id);
                            var UserIds = (from p in db.Table <Sys.Entity.tbSysUserRole>()
                                           where p.tbSysRole.Id == rid && p.IsDeleted == false
                                           select p.tbSysUser.Id).ToList();
                            GobalUserIds.AddRange(UserIds);
                        }
                    }
                    GobalUserIds = GobalUserIds.Distinct().ToList();
                    foreach (var item in GobalUserIds)
                    {
                        var userid = item;
                        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);
                    }

                    db.SaveChanges();
                }
                //if (error.Count > 0)
                //{
                //    return Content("<script type='text/javascript'>$(function(){  mui.alert('" + string.Join("\r\n", error) + "');});</script>");
                //}
                //return Content("<script type='text/javascript'> window.parent.location.href = '" + Url.Action("MyMessageIndex", "MyMessage", new { area = "wechat" }) + "';</script>");
                return(Code.MvcHelper.Post(error, Url.Action("MyMessageIndex")));
            }
        }