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);
            }
        }
        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);
            }
        }
Esempio n. 3
0
        public async Task UpdateLesson(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;
                        await WorkScope.UpdateAsync <Lesson>(a);

                        //throw new UserFriendlyException("Thành công");
                    }
                }
                else
                {
                    throw new UserFriendlyException("Bạn không có quyền");
                }
            }
        }
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);
            }
        }
Esempio n. 5
0
        public async Task UpdatePersonalAttribute(PersonalAttributeDto input)
        {
            var user = await GetCurrentUserAsync();

            user.PersonalAttribute = JsonConvert.SerializeObject(input.PersonalAttributes);
            await WorkScope.UpdateAsync(user);
        }
        public async Task UpdateNationality([FromForm] NationalityRequest input)
        {
            bool checkName = await WorkScope.GetAll <Nationality>().AnyAsync(x => x.Name == input.Name && x.Id != input.Id);

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

            var nationality = await WorkScope.GetAll <Nationality>().FirstOrDefaultAsync(x => x.Id == input.Id);

            if (nationality == default)
            {
                throw new UserFriendlyException("Quốc tịch không tồn tại");
            }

            nationality.Name = input.Name;

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

                nationality.Path = $"{ConstantVariable.UploadFolder}/{ConstantVariable.Company}/{fileName}";
            }

            await WorkScope.UpdateAsync(nationality);
        }
Esempio n. 7
0
        public async Task ReadCVAsync(Guid id)
        {
            var cv = await WorkScope.GetAsync <CV>(id);

            cv.IsRead = true;
            await WorkScope.UpdateAsync(cv);
        }
        public async Task UpdateCompanyAsync([FromForm] CompanyRequest input)
        {
            var user = await GetCurrentUserAsync();

            bool checkExits = await WorkScope.GetAll <Company>()
                              .AnyAsync(x => x.Name == input.Name && x.Id != input.Id);

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

            var company = await WorkScope.GetAll <Company>()
                          .WhereIf(user.UserType == UserType.Hr, x => x.UserId == user.Id)
                          .Include(x => x.Posts)
                          .FirstOrDefaultAsync(x => x.Id == input.Id);

            if (company == default)
            {
                throw new UserFriendlyException("Công ty không thể sửa");
            }

            ObjectMapper.Map(input, company);
            company.CompanyUrl = company.Name.RemoveSign4VietnameseString().ToIdentifier();

            foreach (var item in company.Posts)
            {
                item.PostUrl = $"{item.Title.RemoveSign4VietnameseString().ToIdentifier()}-{company.CompanyUrl}";
            }

            await WorkScope.UpdateRangeAsync(company.Posts);

            await WorkScope.UpdateAsync(company);

            if (input.HashtagDeletes != null)
            {
                await DeleteHashtags(company.Id, input.HashtagDeletes);
            }

            if (input.BranchJobCompanyDeletes != null)
            {
                await DeleteBranchJobCompanies(company.Id, input.BranchJobCompanyDeletes);
            }

            if (input.ImageDeletes != null)
            {
                await DeleteImages(company.Id, input.ImageDeletes);
            }

            await SaveImageHashtagAndCompanyJob(input.Id.Value, input.Files, input.Thumbnail, input.HashtagIds, input.BranchJobCompanyIds);
        }
Esempio n. 9
0
        public async Task UpdateOrderEducation(List <OrderDto> input)
        {
            var lstEdu = WorkScope.GetAll <Educations>().Where(e => e.CvemployeeId == AbpSession.UserId);

            foreach (var item in input)
            {
                var edu = lstEdu.FirstOrDefault(s => s.Id == item.Id);
                if (AbpSession.UserId.Value != edu.CvemployeeId)
                {
                    throw new UserFriendlyException(ErrorCodes.Forbidden.AccessOtherProfile);
                }
                edu.Order = item.Order;
                await WorkScope.UpdateAsync(edu);
            }
        }
Esempio n. 10
0
        public async Task UpdateOrderWorkingExperience(List <OrderDto> input)
        {
            var exps = WorkScope.GetAll <EmployeeWorkingExperiences>().Where(s => s.UserId == AbpSession.UserId);

            foreach (var item in input)
            {
                var exp = exps.FirstOrDefault(s => s.Id == item.Id);
                if (exp == default)
                {
                    continue;
                }
                exp.Order = item.Order;
                await WorkScope.UpdateAsync(exp);
            }
        }
Esempio n. 11
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. 12
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 SettingHotOfCompany(Guid id)
        {
            var company = await WorkScope.GetAll <Company>()
                          .FirstOrDefaultAsync(x => x.Id == id);

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

            company.IsHot = !company.IsHot;

            if (company.IsHot)
            {
                company.LastUpdateIsHotTime = GetLocalTime();
            }

            await WorkScope.UpdateAsync(company);
        }
Esempio n. 14
0
 public async Task UpdateCourse(UpdateCoures input)
 {
     using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete))
     {
         CheckPerMissionCourse(AbpSession.UserId ?? 0, input.Id);
         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 temped = WorkScope.GetAll <Course>().Where(s => s.Id == input.Id).Select(s => s).FirstOrDefault();
             temped.Title              = input.Title;
             temped.Details            = input.Detail;
             temped.Code               = input.Code;
             temped.LastModifierUserId = AbpSession.UserId;
             await WorkScope.UpdateAsync <Course>(temped);
         }
     }
 }
        public async Task SuaMonAn(SuaMonAn input)
        {
            var MonAn = await WorkScope.GetAll <MonAn>().Where(s => s.Id == input.id).FirstOrDefaultAsync();

            MonAn.TenMonAn  = input.TenMonAn;
            MonAn.DonGia    = input.DonGia;
            MonAn.DonViTinh = input.DonViTinh;

            await WorkScope.UpdateAsync(MonAn);

            var ChitietMonAnOldData = await WorkScope.GetAll <ChiTietMonAn>().Where(s => s.MaMonAn == input.id)
                                      .ToListAsync();

            var ChitietMonAn = ChitietMonAnOldData.Select(s => s.MaNguyenLieu).ToList();

            //ChitietMonAn = ChitietMonAn.FindAll();
            var ThemMoi = input.DanhsachNguyenlieu.Except(ChitietMonAn);
            var XoaDi   = ChitietMonAn.Except(input.DanhsachNguyenlieu);

            foreach (var i in ChitietMonAnOldData)
            {
                if (XoaDi.Contains(i.MaNguyenLieu))
                {
                    await WorkScope.DeleteAsync(i);
                }
            }
            var chitietMonan = new List <ChiTietMonAn>();

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