Пример #1
0
        /// <summary>
        /// 发送站内信
        /// </summary>
        /// <param name="message"></param>
        public async Task SendAsync(MessageDto message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            var entity  = _mapper.Map <MessageDto, MessageEntity>(message);
            var userIds = new List <string>();

            if (message.IsToAll)
            {
                var ids = await _context.Users.Select(x => x.Id).ToListAsync();

                userIds.AddRange(ids);
            }
            else
            {
                userIds.AddRange(message.UserIds);
            }
            entity.MessageReceivers = userIds.Distinct().Select(userId => new MessageReceiverEntity
            {
                UserId = userId
            }).ToList();
            entity.MessageReceivers.ForEach(x => x.Init());
            entity.Init();
            entity.SetNumber();
            await _context.Messages.AddAsync(entity);

            await _context.SaveChangesAsync();
        }
Пример #2
0
        /// <summary>
        /// 添加菜单
        /// </summary>
        /// <param name="dto">菜单模型</param>
        /// <returns></returns>
        public async Task <string> AddAsync(MenuDto dto)
        {
            var entity = _mapper.Map <MenuDto, MenuEntity>(dto);

            entity.Init();
            var dbSet         = _context.Menus;
            var pathCodeDbSet = _pathCodeService.GetPathCodes();

            var existsCode = await dbSet.Where(item => item.ParentId == dto.ParentId)
                             .Select(item => item.Code).ToListAsync();

            var pathCode = pathCodeDbSet.FirstOrDefault(item => !existsCode.Contains(item));

            entity.Code = pathCode.Trim();
            if (entity.ParentId.IsNotBlank())
            {
                var parent = await dbSet.FirstOrDefaultAsync(m => m.Id == entity.ParentId);

                entity.PathCode = string.Concat(parent.PathCode.Trim(), entity.Code.Trim());
                entity.Type     = parent.Type == 1 ? (byte)MenuType.Menu : (byte)MenuType.Action;
            }
            else
            {
                entity.PathCode = entity.Code.Trim();
                entity.Type     = (byte)MenuType.Module;
            }
            dbSet.Add(entity);

            return(await _context.SaveChangesAsync() > 0 ? entity.Id : string.Empty);
        }
Пример #3
0
        public async Task <string> AddAsync(ProjectAddDto dto, string createId, string cqpUrl)
        {
            var entity = _mapper.Map <ProjectAddDto, ProjectEntity>(dto);

            entity.Init();
            entity.CreateUserId  = createId;
            entity.ProjectStatus = ProjectStatus.OnStart;//项目为起始状态
            var dbSet = _context.Projects;

            dbSet.Add(entity);
            var user = await _context.Users.FirstOrDefaultAsync(c => c.Id == createId);

            var chargePerson = await _context.Users.FirstOrDefaultAsync(c => c.Id == entity.ChargePersonId);

            if (user != null)
            {
                long.TryParse(user.UserQq, out long UserQQ);
                var cqp = new CQPHelper(cqpUrl);
                await cqp.SendPrivateMessage(new PrivateMsgDto
                {
                    qqid = UserQQ,
                    msg  = $"您好!项目:{entity.ProjectTitle} 已经被记录!负责人:{chargePerson?.RealName},QQ:{chargePerson?.UserQq}",
                });

                long.TryParse(entity.ChargePerson.UserQq, out long ChargeQQ);
                await cqp.SendPrivateMessage(new PrivateMsgDto
                {
                    qqid = ChargeQQ,
                    msg  = $"您好!项目:{entity.ProjectTitle} 已经被客服{user.RealName} 记录!客服QQ:{user.UserQq},请及时处理!",
                });
            }
            return(await _context.SaveChangesAsync() > 0 ? entity.Id : string.Empty);
        }
Пример #4
0
        public async Task <string> Add(DriverLicenseOfferDto dto)
        {
            var entity = _mapper.Map <DriverLicenseOfferDto, DriverLicenseOfferEntity>(dto);

            entity.Init();
            _context.DriverLicenseOffers.Add(entity);
            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Пример #5
0
        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="dto">角色模型</param>
        /// <returns></returns>
        public async Task <string> AddAsync(RoleDto dto)
        {
            var entity = _mapper.Map <RoleDto, RoleEntity>(dto);

            entity.Init();
            var dbSet = _context.Roles;

            dbSet.Add(entity);

            return(await _context.SaveChangesAsync() > 0 ? entity.Id : string.Empty);
        }
Пример #6
0
        /// <summary>
        /// 添加部门
        /// </summary>
        /// <param name="dto">部门模型</param>
        /// <returns></returns>
        public async Task <string> Add(DepartmentDto dto)
        {
            var entity = _mapper.Map <DepartmentDto, DepartmentEntity>(dto);

            entity.Init();
            await SetDepartment(entity);

            _context.Departments.Add(entity);
            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Пример #7
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="dto">模型</param>
        /// <returns></returns>
        public async Task <string> Add(AreaDto dto)
        {
            var entity = _mapper.Map <AreaDto, AreaEntity>(dto);

            entity.Init();
            entity.PathCode = await GetPathCode(entity.ParentId);

            entity.SimpleSpelling = entity.Name.GetChineseSpell();
            _context.Areas.Add(entity);
            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Пример #8
0
        /// <summary>
        /// 添加或更新网站访问量
        /// </summary>
        /// <param name="day">日期</param>
        public async Task <bool> AddOrUpdate()
        {
            var day     = DateTime.Now;
            var date    = day.Date;
            var endDate = date.AddDays(1);
            var number  = await _context.PageViews.CountAsync(x => x.CreateDateTime > date && x.CreateDateTime < endDate);

            if (await _context.SiteViews.AnyAsync(x => x.Day == date))
            {
                var view = await _context.SiteViews.FirstOrDefaultAsync(x => x.Day == date);

                if (view != null)
                {
                    view.Number = number;
                }
            }
            else
            {
                var view = new SiteViewEntity
                {
                    Day    = date,
                    Number = number
                };
                view.Init();
                _context.SiteViews.Add(view);
            }
            await _context.SaveChangesAsync();

            return(true);
        }
Пример #9
0
        public string InsertVaeNews(VaeNewsDto dto)
        {
            var entity = _mapper.Map <VaeNewsDto, VaeEntity>(dto);

            entity.Init();
            entity.CreateUserId = "SYSTEM";
            _context.Vaes.Add(entity);
            _context.SaveChangesAsync();
            return(entity.Id);
        }
Пример #10
0
        /// <summary>
        /// 添加邮件服务器
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <string> AddAsync(SmtpDto dto)
        {
            var entity = _mapper.Map <SmtpDto, SmtpEntity>(dto);

            entity.Init();
            //entity.CreateUserId=
            var dbSet = _context.Smtps;

            dbSet.Add(entity);
            return(await _context.SaveChangesAsync() > 0 ? entity.Id : string.Empty);
        }
Пример #11
0
        /// <summary>
        /// 添加文件
        /// </summary>
        /// <param name="fileCollectionDto"></param>
        /// <returns></returns>
        public async Task <string> AddFileRecord(FileCollectionDto fileCollectionDto)
        {
            var entity = _mapper.Map <FileCollectionDto, FileCollectionEntity>(fileCollectionDto);

            entity.Init();
            entity.CreateUserId = "SYSTEM";
            _context.FileCollections.Add(entity);
            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Пример #12
0
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="user"></param>
        /// <returns>用户id</returns>
        public async Task <string> AddAsync(UserAddDto user)
        {
            var entity = _mapper.Map <UserAddDto, UserEntity>(user);

            entity.Init();
            if (entity.UserRoles.AnyOne())
            {
                entity.UserRoles.ForEach(r => r.UserId = entity.Id);
            }
            entity.Password = entity.Password.ToMd5();
            _context.Users.Add(entity);

            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Пример #13
0
        /// <summary>
        /// 添加 ItemGroup  添加成功返回itemgroup主键,失败返回string.Empty
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <string> AddItemGroup(ItemGroupDto dto)
        {
            var entity = _mapper.Map <ItemGroupEntity>(dto);

            entity.Init();
            //var sss = _middleMDMContext.ItemGroups.Where(c => c.ItemGroupCode == dto.ItemGroupCode).ToList();
            if (_context.ItemGroups.Any(c => c.ItemGroupCode == dto.ItemGroupCode))
            {
                return(string.Empty);
            }
            await _context.ItemGroups.AddAsync(entity);

            await _context.SaveChangesAsync();

            return(entity.Id);
        }
Пример #14
0
        /// <summary>
        /// 初始化
        /// </summary>
        public async Task <bool> InitAsync(List <MenuDto> menues)
        {
            try
            {
                await _context.Database.MigrateAsync();

                if (await _context.SystemConfigs.AnyAsync(item => item.IsDataInited))
                {
                    return(false);
                }

                #region 用户

                var admin = new UserEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    LoginName      = "duwenink",
                    RealName       = "超级管理员",
                    Password       = "******".ToMd5(),
                    Email          = "*****@*****.**",
                    IsSuperMan     = true,
                    CreateDateTime = Now
                };
                var guest = new UserEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    LoginName      = "admin",
                    RealName       = "游客",
                    Password       = "******".ToMd5(),
                    Email          = "*****@*****.**",
                    CreateDateTime = Now
                };
                //用户
                var user = new List <UserEntity>
                {
                    admin,
                    guest
                };
                #endregion

                #region 菜单

                await _menuService.ReInitMenuesAsync(menues);

                var menus = await _context.Menus.ToListAsync();

                #endregion

                #region 角色

                var superAdminRole = new RoleEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "超级管理员",
                    Description    = "超级管理员",
                    CreateDateTime = Now
                };
                var guestRole = new RoleEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "guest",
                    Description    = "游客",
                    CreateDateTime = Now
                };
                var roles = new List <RoleEntity>
                {
                    superAdminRole,
                    guestRole
                };

                #endregion

                #region 用户角色关系

                var userRoles = new List <UserRoleEntity>
                {
                    new UserRoleEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        UserId         = admin.Id,
                        RoleId         = superAdminRole.Id,
                        CreateDateTime = Now
                    },
                    new UserRoleEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        UserId         = guest.Id,
                        RoleId         = guestRole.Id,
                        CreateDateTime = Now
                    }
                };

                #endregion

                #region 角色菜单权限关系

                var roleMenus = new List <RoleMenuEntity>();
                //guest授权(guest只有查看权限,没有按钮操作权限)
                menus.Where(item => item.Type != (byte)MenuType.Action).ForEach(m =>
                {
                    roleMenus.Add(new RoleMenuEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        RoleId         = guestRole.Id,
                        MenuId         = m.Id,
                        CreateDateTime = Now
                    });
                });

                #endregion

                #region 系统配置

                var systemConfig = new SystemConfigEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    SystemName     = "DUWENINK Core",
                    IsDataInited   = true,
                    DataInitedDate = Now,
                    CreateDateTime = Now,
                    IsDeleted      = false
                };

                #endregion

                _context.Roles.AddRange(roles);
                _context.Users.AddRange(user);
                _context.UserRoles.AddRange(userRoles);
                _context.RoleMenus.AddRange(roleMenus);
                _context.SystemConfigs.Add(systemConfig);
                await _context.SaveChangesAsync();
                await InitPathCodeAsync();

                return(true);
            }
            catch (Exception ex)
            {
                Log.Logger.Error(ex);
            }
            return(false);
        }