Example #1
0
        public async Task <JsonResult> Save(CompanyEditDto editModel)
        {
            CheckModelState();

            bool   status  = false;
            string message = "";


            try
            {
                await _companyAppService.CreateOrUpdateCompanyAsync(new CreateOrUpdateCompanyInput()
                {
                    CompanyEditDto = editModel
                });

                status = true;
            }
            catch (Exception e)
            {
                status  = false;
                message = e.Message;
            }


            return(Json(new { success = status, message = message }));
        }
        public virtual async Task UpdateCompanyAsync(CompanyEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

            var entity = await _companyRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            await _companyRepository.UpdateAsync(entity);
        }
        public virtual async Task <CompanyEditDto> CreateCompanyAsync(CompanyEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            var entity = input.MapTo <Core.CustomDomain.Company.Company>();

            entity = await _companyRepository.InsertAsync(entity);

            return(entity.MapTo <CompanyEditDto>());
        }
Example #4
0
        public virtual async Task <CompanyEditDto> CreateCompanyAsync(CompanyEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            var entity = input.MapTo <Company>();

            input.Id = await _companyRepository.InsertAndGetIdAsync(entity);

            return(input);
        }
Example #5
0
        public async Task <CompanyDto> Create(CompanyEditDto input)
        {
            var company = ObjectMapper.Map <Company>(input);

            SetPaymentMethods(company, input.ChannelIds);
            await _companyRepository.InsertAsync(company);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <CompanyDto>(company));
        }
Example #6
0
        public async Task <CompanyDto> Update(CompanyEditDto input)
        {
            var company = await _companyRepository.GetAsync(input.Id);

            if (company == null)
            {
                throw new Exception("该支付公司不存在或已删除。");
            }
            ObjectMapper.Map(input, company);
            SetPaymentMethods(company, input.ChannelIds);
            await _companyRepository.UpdateAsync(company);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <CompanyDto>(company));
        }
Example #7
0
        public async Task <ActionResult> UpdateCompany(Guid companyId, CompanyEditDto company)
        {
            var entity = await _companyRepository.GetCompanyAsync(companyId);

            if (entity != null)
            {
                _mapper.Map(company, entity);
                _companyRepository.UpdateCompany(entity);
                await _companyRepository.SaveAsync();

                return(NoContent());
            }
            else
            {
                return(NotFound());
            }
        }
Example #8
0
        public async Task <PartialViewResult> CreateOrEditModal(int?id)
        {
            CompanyEditDto dto;

            if (id.HasValue)
            {
                dto = await _companyAppService.GetCompanyForEdit(new EntityDto(id.Value));
            }
            else
            {
                dto = new CompanyEditDto();
            }

            var model = new EditViewModel(dto, _channelCache.GetAll(), ObjectMapper);

            return(PartialView("_CreateOrEditModal", model));
        }
        /// <summary>
        /// 通过Id获取公司信息信息进行编辑或修改
        /// </summary>
        public async Task <GetCompanyForEditOutput> GetCompanyForEditAsync(NullableIdDto <int> input)
        {
            var output = new GetCompanyForEditOutput();

            CompanyEditDto companyEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _companyRepository.GetAsync(input.Id.Value);

                companyEditDto = entity.MapTo <CompanyEditDto>();
            }
            else
            {
                companyEditDto = new CompanyEditDto();
            }

            output.Company = companyEditDto;
            return(output);
        }
Example #10
0
        public async Task <GetJobPostForEditOutput> GetJobIntroduce(int input)
        {
            var output = new GetJobPostForEditOutput();

            JobPostEditDto jobPostEditDto;

            CompanyEditDto companyDto = new CompanyEditDto();
            var            entity     = await _jobPostRepository.GetAsync(input);

            jobPostEditDto = entity.MapTo <JobPostEditDto>();



            output.JobPost = jobPostEditDto;

            if (entity.CompanyId != null)
            {
                var company = _CompanyRepository.FirstOrDefault(t => t.CompanyID == entity.CompanyId);
                companyDto = company.MapTo <CompanyEditDto>();
            }
            output.Company = companyDto;
            return(output);
        }
Example #11
0
        /// <summary>
        /// 通过Id获取企业信息信息进行编辑或修改
        /// </summary>
        public async Task <GetCompanyForEditOutput> GetCompanyForEditAsync(NullableIdDto <int> input)
        {
            var output = new GetCompanyForEditOutput();

            CompanyEditDto companyEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _companyRepository.GetAsync(input.Id.Value);

                companyEditDto = entity.MapTo <CompanyEditDto>();
            }
            else
            {
                companyEditDto = new CompanyEditDto();
            }

            output.Company = companyEditDto;
            List <string> Finanicinglist    = pdto.GetFinanicings();
            List <string> CompanyScaleslist = pdto.GetCompanyScales();
            List <string> ClassigysList     = pdto.GetClassigys();

            output.Finanicings = Finanicinglist.Select(c => new ComboboxItemDto(c, c)
            {
                IsSelected = output.Company.Finanicing == c
            }).ToList();
            output.CompanyScales = CompanyScaleslist.Select(c => new ComboboxItemDto(c, c)
            {
                IsSelected = output.Company.CompanyScale == c
            }).ToList();
            output.classifys = ClassigysList.Select(c => new ComboboxItemDto(c, c)
            {
                IsSelected = output.Company.Classify == c
            }).ToList();
            return(output);
        }
Example #12
0
        public async Task <ActionResult <CompanyDto> > CompanyEdit([FromRoute] string companyId, [FromBody] CompanyEditDto dto)
        {
            CompanyEditDtoValidator validator = new CompanyEditDtoValidator();
            ValidationResult        result    = await validator.ValidateAsync(dto);

            if (result.IsValid)
            {
                var userId = User.Claims
                             .Single(p => p.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value;
                var company = await _dbContext.Companies
                              .Include(x => x.Managers)
                              .SingleOrDefaultAsync(x => x.CompanyId == companyId);

                var manager = company.Managers
                              .SingleOrDefault(x => x.ApplicationUserId == userId);

                #region 驗證

                if (manager == null)
                {
                    return(Problem(title: "禁止修改", detail: "非該公司管理者", statusCode: 403));
                }
                if (!manager.ManagerConfirmed)
                {
                    return(Problem(title: "禁止修改", detail: "企業使用者尚未驗證", statusCode: 403));
                }
                if (company.CompanyConfirmed)
                {
                    if (company.Name != dto.Name)
                    {
                        result.Errors.Add(new ValidationFailure("name", "名稱禁止修改"));
                    }
                    if (company.RegistrationNumber != dto.RegistrationNumber)
                    {
                        result.Errors.Add(new ValidationFailure("registrationNumber", "統一編號禁止修改"));
                    }
                }
                else
                {
                    if (company.RegistrationNumber != dto.RegistrationNumber)
                    {
                        if (await _dbContext.Companies.AnyAsync(x => x.RegistrationNumber == dto.RegistrationNumber))
                        {
                            result.Errors.Add(new ValidationFailure("registrationNumber", "統一編號已經被使用"));
                        }
                    }
                }
                if (!result.IsValid)
                {
                    return(BadRequest(result.Errors));
                }

                #endregion

                var updateEntity = _mapper.Map(dto, company);
                _dbContext.Companies.Update(updateEntity);
                await _dbContext.SaveChangesAsync();

                var routeValues = new { companyId = updateEntity.CompanyId };
                var returnDto   = _mapper.Map <CompanyDto>(updateEntity);
                return(CreatedAtAction(nameof(GetCompany), routeValues, returnDto));
            }
            return(BadRequest(result.Errors));
        }
Example #13
0
 public EditViewModel(CompanyEditDto dto, IReadOnlyList <ChannelDto> channels, IObjectMapper objectMapper)
 {
     objectMapper.Map(dto, this);
     this.Channels = channels.Select(c => new SelectListItem(c.Name, c.Id.ToString(), c.Exists(this.ChannelIds), !c.IsActive)).ToList();
 }
Example #14
0
 public ImportCompanyManages(CompanyEditDto output)
 {
     output.MapTo(this);
 }