예제 #1
0
        public async Task CreatePostAsync(PostRequest input)
        {
            var post    = ObjectMapper.Map <Post>(input);
            var company = await WorkScope.GetAsync <Company>(input.CompanyId);

            int numberPostSameTitle = await WorkScope.GetAll <Post>()
                                      .Where(x => x.Title == input.Title && x.CompanyId == input.CompanyId)
                                      .CountAsync() + 1;

            post.PostUrl = $"{input.Title.RemoveSign4VietnameseString().ToIdentifier()}-{company.CompanyUrl}-{numberPostSameTitle}";
            Guid id = await WorkScope.InsertAndGetIdAsync(post);

            foreach (var item in input.HashtagIds)
            {
                await WorkScope.InsertAsync(new CompanyPostHashtag
                {
                    HashtagId = item,
                    PostId    = id
                });
            }

            var request = new PostSitemap
            {
                Id         = id,
                AgencyName = company.Name,
                IsCreate   = true,
                PostUrl    = post.PostUrl,
                Title      = post.Title
            };

            await SaveSiteMap(request);
        }
예제 #2
0
        /* public async Task<PagedResultDto<GetAllCourseOutputDto>> GetAllCourseOfTeacher(GetAllCourseInput input)
         * {
         *   var a = WorkScope.GetAll<Course>().WhereIf(!input.NameOfCourse.IsNullOrWhiteSpace(), s => s.Title.Contains(input.NameOfCourse))
         *          .Where(s => s.IsDeleted == false)
         *          .WhereIf(input.UserID.HasValue, s => s.UserId == input.UserID)
         *              .Select(s => new GetAllCourseOutputDto
         *              {
         *                  Id = s.Id,
         *                  Creator = s.Creator.FullName,
         *                  DateCreator = s.CreationTime,
         *                  LastModify = s.LastModificationTime,
         *                  Tilte = s.Title,
         *                  Description = s.Details,
         *                   //TypeOfCourses=d.CourseType.Deltail.ToList()
         *               });
         *   var TotalCount = await a.CountAsync();
         *   var result = await a.Skip(input.PageNumber - 1).Take(input.PageSize).ToListAsync();
         *   return new PagedResultDto<GetAllCourseOutputDto>(TotalCount, result);
         * }*/
        public async Task <long> CreateCourse(CreateCourseInput input)
        {
            using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete))
            {
                if (IsTeacher() == true)
                {
                    if (WorkScope.GetAll <Course>().Where(s => s.IsDeleted == false && (s.Title == input.Title || s.Code == input.Code)).Any())
                    {
                        throw new UserFriendlyException("Đã tồn tại tên hoặc code khóa học");
                    }
                    else
                    {
                        var a = input.MapTo <Course>();
                        a.UserId = AbpSession.UserId ?? 0;
                        var id = await WorkScope.InsertAndGetIdAsync <Course>(a);

                        return(id);
                    }
                }
                else
                {
                    throw new UserFriendlyException("Bạn không phải giáo viên, liên hệ admin để được hỗ trợ");
                }
            }
        }
예제 #3
0
        public async Task CreateOrder(OrderRequest input)
        {
            var  order = ObjectMapper.Map <Order>(input);
            long id    = await WorkScope.InsertAndGetIdAsync(order);

            foreach (var item in input.OrderItemRequests)
            {
                var orderItem = ObjectMapper.Map <OrderItem>(item);
                orderItem.OrderId = id;
                await WorkScope.InsertAsync(orderItem);
            }
        }
        public async Task CreateCompanyAsync([FromForm] CompanyRequest input)
        {
            bool checkExits = await WorkScope.GetAll <Company>().AnyAsync(x => x.Name == input.Name);

            if (checkExits)
            {
                throw new UserFriendlyException("Tên công ty đã tồn tại!");
            }

            var company = ObjectMapper.Map <Company>(input);

            company.CompanyUrl = company.Name.RemoveSign4VietnameseString().ToIdentifier();
            company.UserId     = AbpSession.UserId.Value;

            input.Id = await WorkScope.InsertAndGetIdAsync(company);

            await SaveImageHashtagAndCompanyJob(input.Id.Value, input.Files, input.Thumbnail, input.HashtagIds, input.BranchJobCompanyIds);
        }
예제 #5
0
 public async Task CreateLesson(CreateLesson Input)
 {
     using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete))
     {
         if (CheckPerMissionCourse(AbpSession.UserId ?? 0, Input.Id))
         {
             if (WorkScope.GetAll <Lesson>().Where(s => s.IsDeleted == false).Any(s => Input.CourseId == s.CourseId && s.Tilte.Contains(Input.Tilte)))
             {
                 throw new UserFriendlyException("Khóa học đã tồn tại bài học này");
             }
             else
             {
                 var a = Input.MapTo <Lesson>();
                 a.CreatorUserId = AbpSession.UserId ?? 0;
                 var Id = await WorkScope.InsertAndGetIdAsync <Lesson>(a);
             }
         }
         else
         {
             throw new UserFriendlyException("Bạn không có quyền");
         }
     }
 }
        public async Task ThemMonAn(ThemMonan input)
        {
            var resual = new MonAn
            {
                TenMonAn  = input.TenMonAn,
                DonGia    = input.DonGia,
                DonViTinh = input.DonViTinh,
            };
            var id = await WorkScope.InsertAndGetIdAsync(resual);

            var chitietMonan = new List <ChiTietMonAn>();

            foreach (var i in input.DanhsachNguyenlieu)
            {
                var chitiet = new ChiTietMonAn
                {
                    MaMonAn      = id,
                    MaNguyenLieu = i,
                };
                chitietMonan.Add(chitiet);
            }
            await WorkScope.InsertRangeAsync(chitietMonan);
        }