private async Task SaveBranchJobAsync(BranchJobRequest input)
        {
            bool checkExists = await WorkScope.GetAll <BranchJob>().AnyAsync(x => x.Name == input.Name && x.Id != input.Id);

            if (checkExists)
            {
                throw new UserFriendlyException("Ngành nghề đã tồn tại");
            }

            string branchJobUrl = input.Name.RemoveSign4VietnameseString().ToIdentifier();

            if (input.Id.HasValue)
            {
                var branchJob = await WorkScope.GetAll <BranchJob>().FirstOrDefaultAsync(x => x.Id == input.Id);

                if (branchJob == default)
                {
                    throw new UserFriendlyException("Ngành nghề không tồn tại");
                }

                branchJob.Name         = input.Name;
                branchJob.BranchJobUrl = branchJobUrl;
                await WorkScope.UpdateAsync(branchJob);
            }
            else
            {
                var hashtag = new BranchJob
                {
                    Name         = input.Name,
                    BranchJobUrl = branchJobUrl
                };
                await WorkScope.InsertAsync(hashtag);
            }
        }
        private async Task SaveHashtagAsync(HashtagRequest input)
        {
            bool checkExists = await WorkScope.GetAll <Hashtag>().AnyAsync(x => x.Name == input.Name && x.Id != input.Id);

            if (checkExists)
            {
                throw new UserFriendlyException("Hashtag đã tồn tại");
            }

            if (input.Id.HasValue)
            {
                var hashtag = await WorkScope.GetAll <Hashtag>().FirstOrDefaultAsync(x => x.Id == input.Id);

                if (hashtag == default)
                {
                    throw new UserFriendlyException("Hashtag không tồn tại");
                }

                hashtag.Name       = input.Name;
                hashtag.IsHot      = input.IsHot;
                hashtag.HashtagUrl = input.Name.RemoveSign4VietnameseString().ToIdentifier();
                await WorkScope.UpdateAsync(hashtag);
            }
            else
            {
                var hashtag = new Hashtag
                {
                    Name       = input.Name,
                    IsHot      = input.IsHot,
                    HashtagUrl = input.Name.RemoveSign4VietnameseString().ToIdentifier()
                };
                await WorkScope.InsertAsync(hashtag);
            }
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
        private async Task SaveLevelAsync(LevelRequest input)
        {
            bool checkExists = await WorkScope.GetAll <Level>().AnyAsync(x => x.Name == input.Name && x.Id != input.Id);

            if (checkExists)
            {
                throw new UserFriendlyException("Level đã tồn tại");
            }

            if (input.Id.HasValue)
            {
                var level = await WorkScope.GetAll <Level>().FirstOrDefaultAsync(x => x.Id == input.Id);

                if (level == default)
                {
                    throw new UserFriendlyException("Level không tồn tại");
                }

                level.Name = input.Name;
                await WorkScope.UpdateAsync(level);
            }
            else
            {
                var level = new Level
                {
                    Name = input.Name
                };
                await WorkScope.InsertAsync(level);
            }
        }
        public async Task CreateNationalityAsync([FromForm] NationalityRequest input)
        {
            bool checkName = await WorkScope.GetAll <Nationality>().AnyAsync(x => x.Name == input.Name);

            if (checkName)
            {
                throw new UserFriendlyException("Quốc tịch đã tồn tại");
            }

            string fileName     = string.Empty;
            string fileLocation = UploadFiles.CreateFolderIfNotExists(ConstantVariable.RootFolder, $@"{ConstantVariable.UploadFolder}\{ConstantVariable.Nationality}");

            if (input.Image?.Length > 0)
            {
                fileName = await UploadFiles.UploadAsync(fileLocation, input.Image);
            }

            var nationality = new Nationality
            {
                Name = input.Name,
                Path = $"{ConstantVariable.UploadFolder}/{ConstantVariable.Nationality}/{fileName}"
            };

            await WorkScope.InsertAsync(nationality);
        }
Esempio n. 6
0
        public async Task CreateCVAsync([FromForm] RecruitmentRequest input)
        {
            bool checkExist = await WorkScope.GetAll <CV>().AnyAsync(x => x.PostId == input.PostId &&
                                                                     x.UserId == input.UserId &&
                                                                     input.UserId.HasValue);

            if (checkExist)
            {
                throw new UserFriendlyException("Bạn đã ứng tuyển vị trí này");
            }

            var post = await WorkScope.GetAsync <Post>(input.PostId);

            var cv = ObjectMapper.Map <CV>(input);

            if (input.FileCV?.Length > 0)
            {
                string fileLocation = UploadFiles.CreateFolderIfNotExists(ConstantVariable.RootFolder, $@"{ConstantVariable.UploadFolder}\{ConstantVariable.CV}\{post.PostUrl}");
                string fileName     = await UploadFiles.UploadAsync(fileLocation, input.FileCV);

                cv.Link = $"{ConstantVariable.UploadFolder}/{ConstantVariable.CV}/{post.PostUrl}/{fileName}";
            }

            await WorkScope.InsertAsync(cv);
        }
Esempio n. 7
0
 public async Task RegisterClass(StudentCourse input)
 {
     try
     {
         await WorkScope.InsertAsync <StudentCourse>(input);
     }catch (Exception ex)
     {
         throw new UserFriendlyException("Có lỗi trong quá trình đăng ký");
     }
 }
        private async Task SaveImage(string fileLocation, Guid companyId, IFormFile file, FileType fileType = FileType.Image)
        {
            string fileName = await UploadFiles.UploadAsync(fileLocation, file);

            var asset = new Asset
            {
                FileType  = fileType,
                Path      = $"{ConstantVariable.UploadFolder}/{ConstantVariable.Company}/{fileName}",
                CompanyId = companyId
            };
            await WorkScope.InsertAsync(asset);
        }
Esempio n. 9
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);
            }
        }
Esempio n. 10
0
        protected async Task <TEntity> SaveReturnEntity(TEntityDto dto)
        {
            TEntity result = null;

            if (dto.Id.HasValue)
            {
                result = await WorkScope.UpdateAsync(ObjectMapper.Map <TEntity>(dto));
            }
            else
            {
                result = await WorkScope.InsertAsync(ObjectMapper.Map <TEntity>(dto));
            }

            return(result);
        }
Esempio n. 11
0
        public async Task EditPostAsync(PostRequest input)
        {
            var post = await WorkScope.GetAll <Post>().FirstOrDefaultAsync(x => x.Id == input.Id);

            if (post == default)
            {
                throw new UserFriendlyException("Không tồn tại bài viết");
            }

            ObjectMapper.Map(input, post);
            var company = await WorkScope.GetAsync <Company>(input.CompanyId);

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

            post.PostUrl = numberPostSameTitle > 0
                ? $"{input.Title.RemoveSign4VietnameseString().ToIdentifier()}-{company.CompanyUrl}-{numberPostSameTitle + 1}"
                : $"{input.Title.RemoveSign4VietnameseString().ToIdentifier()}-{company.CompanyUrl}";
            await WorkScope.UpdateAsync(post);

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

            foreach (var item in input.HashtagIdDeletes)
            {
                await WorkScope.DeleteAsync <CompanyPostHashtag>(item);
            }

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

            await SaveSiteMap(request);
        }
        public async Task Save(ProductConfigurationRequest input)
        {
            if (input.Id.HasValue)
            {
                var data = await WorkScope.GetAll <ProductConfiguration>().FirstOrDefaultAsync(x => x.Id == input.Id);

                if (data == null)
                {
                    throw new UserFriendlyException("Không tồn tại config");
                }
                ObjectMapper.Map(input, data);
            }
            else
            {
                var data = ObjectMapper.Map <ProductConfiguration>(input);
                await WorkScope.InsertAsync(data);
            }
        }
        private async Task SaveImageHashtagAndCompanyJob(Guid companyId, List <IFormFile> images, IFormFile thumbnail, List <Guid> hashtagIds, List <Guid> branchJobCompanyIds)
        {
            string fileLocation = UploadFiles.CreateFolderIfNotExists(ConstantVariable.RootFolder, $@"{ConstantVariable.UploadFolder}\{ConstantVariable.Company}");

            if (images?.Count > 0)
            {
                foreach (var item in images)
                {
                    await SaveImage(fileLocation, companyId, item);
                }
            }

            if (thumbnail?.Length > 0)
            {
                await SaveImage(fileLocation, companyId, thumbnail, FileType.Thumbnail);
            }

            if (hashtagIds?.Count > 0)
            {
                foreach (var item in hashtagIds)
                {
                    var postHashtag = new CompanyPostHashtag
                    {
                        HashtagId = item,
                        CompanyId = companyId
                    };
                    await WorkScope.InsertAsync(postHashtag);
                }
            }

            if (branchJobCompanyIds?.Count > 0)
            {
                foreach (var item in branchJobCompanyIds)
                {
                    var branchJobCompany = new BranchJobCompany
                    {
                        BranchJobId = item,
                        CompanyId   = companyId
                    };
                    await WorkScope.InsertAsync(branchJobCompany);
                }
            }
        }
Esempio n. 14
0
        public async Task Save([FromForm] MainBroadRequest input)
        {
            string fileLocation = UploadFile.CreateFolderIfNotExists(RootFolder, $@"{UploadFolder}\{MainBroadFolder}");

            if (input.Id.HasValue)
            {
                var data = await WorkScope.GetAll <MainBroad>().FirstOrDefaultAsync(x => x.Id == input.Id);

                if (data == null)
                {
                    throw new UserFriendlyException("Không tồn tại mainbroad");
                }

                if (input.Images?.Count > 0)
                {
                    var images = input.ImagePaths ?? new List <string>();
                    foreach (var item in input.Images)
                    {
                        string fileName = await UploadFile.UploadAsync(fileLocation, item);

                        images.Add($@"{UploadFolder}\{MainBroadFolder}\{fileName}");
                    }
                    data.ImageString = string.Join("-", images);
                }
                ObjectMapper.Map(input, data);
            }
            else
            {
                var data = ObjectMapper.Map <MainBroad>(input);
                if (input.Images?.Count > 0)
                {
                    var images = new List <string>();
                    foreach (var item in input.Images)
                    {
                        string fileName = await UploadFile.UploadAsync(fileLocation, item);

                        images.Add($@"{UploadFolder}\{MainBroadFolder}\{fileName}");
                    }
                    data.ImageString = string.Join("-", images);
                }
                await WorkScope.InsertAsync(data);
            }
        }
 public async Task ThemNguyenLieu(ThemNguyenLieu input)
 {
     var mapped = ObjectMapper.Map <NguyenLieu>(input);
     await WorkScope.InsertAsync(mapped);
 }