Ejemplo n.º 1
0
        public IActionResult AddCompany([FromBody] CompanyCreateDto companyDto)
        {
            if (companyDto is null)
            {
                return(BadRequest(ModelState));
            }
            if (_companyRepository.Exists(c => c.Name == companyDto.Name))
            {
                ModelState.AddModelError("", "Company already exists in the database");
                return(StatusCode(500, ModelState));
            }

            Company company = _mapper.Map <Company>(companyDto);

            _companyRepository.Add(company);
            if (_companyRepository.Save() > 0)
            {
                return(CreatedAtRoute("GetCompany", company.Id, company));
            }
            else
            {
                ModelState.AddModelError("", "Something went erong saving the company");
                return(StatusCode(500, ModelState));
            }
        }
        public IActionResult Create([FromBody] CompanyCreateDto companyCreateDto)
        {
            Company company = _companyCreateAssembler.toEntity(companyCreateDto);

            _companyRepository.Create(company);
            return(StatusCode(StatusCodes.Status201Created, new ApiStringResponseDto("Company Created!")));
        }
        public ActionResult Create(CompanyCreateDto model)
        {
            model.UserId = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
            _companyService.Create(model);

            return(Ok(Response.WriteAsync(JsonConvert.SerializeObject(model,
                                                                      new JsonSerializerSettings {
                Formatting = Formatting.Indented
            }))));
        }
        public async Task CanCreateAndDeleteCompanies()
        {
            var newCompany = new CompanyCreateDto
            {
                Name = "Test Company"
            };
            var company = await _httpClientHelper.PostAsync <CompanyCreateDto, CompanyDto>(_baseUrl + "create", newCompany).ConfigureAwait(false);

            Assert.Equal("Test Company", company.Name);
            await _httpClientHelper.DeleteAsync(_baseUrl + $"DeleteCompanyById{API_VERSION}/{company.CompanyId}").ConfigureAwait(false);
        }
Ejemplo n.º 5
0
        public IActionResult Create([FromBody] CompanyCreateDto parm)
        {
            if (_companyService.Any(m => m.CompanyNo == parm.CompanyNo))
            {
                return(toResponse(StatusCodeType.Error, $"添加公司编码 {parm.CompanyNo} 已存在,不能重复!"));
            }

            //从 Dto 映射到 实体
            var company = parm.Adapt <Base_Company>().ToCreate(_tokenManager.GetSessionInfo());

            return(toResponse(_companyService.Add(company)));
        }
Ejemplo n.º 6
0
        public async Task <ActionResult> UpdateAsync(int id, CompanyCreateDto companyCreateDto)
        {
            var companyModel = _mapper.Map <Models.Company>(companyCreateDto);

            if (await _companyRepository.UpdateAsync(id, companyModel))
            {
                await _companyRepository.SaveChangesAsync();

                return(Ok());
            }
            return(NotFound());
        }
Ejemplo n.º 7
0
        public async Task OnGetAsync()
        {
            Company = new CompanyCreateDto();
            CagegoryLookupList.AddRange(
                (await _companyAppService.GetCagegoryLookupAsync(new LookupRequestDto {
                MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount
            })).Items
                .Select(t => new SelectListItem(t.DisplayName, t.Id.ToString()))
                .ToList());

            await Task.CompletedTask;
        }
Ejemplo n.º 8
0
        public ActionResult <CompanyCreateDto> CreateCompany(CompanyCreateDto companyCreateDto)
        {
            // Map Dto to Model
            var companyModel = _mapper.Map <Company>(companyCreateDto);

            _repository.CreateCompany(companyModel);
            _repository.SaveChanges();

            var companyReadDto = _mapper.Map <CompanyReadDto>(companyModel);

            // CreatedAtRoute creates 201 created with specified values.
            return(CreatedAtRoute(nameof(GetCompanyById), new { Id = companyReadDto.Id }, companyReadDto));
        }
Ejemplo n.º 9
0
        public void Create(CompanyCreateDto model)
        {
            var contactInfo = _mapper.Map <CompanyCreateDto, ContactInfo>(model);

            Company company = new Company()
            {
                UserId      = model.UserId,
                NameCompany = model.NameCompany,
                ContactInfo = contactInfo
            };

            _companyRepository.Insert(company);
            _companyRepository.Save();
        }
        public async Task <IActionResult> CreateAsync([FromBody] CompanyCreateDto company, ApiVersion version)
        {
            Logger.LogDebug(nameof(CreateAsync));
            var newCompany = new Company
            {
                Name = company.Name
            };
            var repoCompany = await _repositoryFactory.CompanyRepository.AddCompanyAsync(newCompany).ConfigureAwait(false);

            var result = _companyToDtoConverter.Convert(repoCompany);

            return(new ObjectResult(result)
            {
                StatusCode = StatusCodes.Status201Created
            });
        }
Ejemplo n.º 11
0
        //[Authorization(Power = "PRIV_COMPANY_CREATE")]
        public IActionResult Create([FromBody] CompanyCreateDto parm)
        {
            if (_companyService.Any(m => m.CompanyNo == parm.CompanyNo))
            {
                return(toResponse(StatusCodeType.Error, $"添加公司编码 {parm.CompanyNo} 已存在,不能重复!"));
            }

            var helper = new Common.SerialNoHelper();

            var serialno = helper.Generate("N20"); //生成编码

            //从 Dto 映射到 实体
            var company = parm.Adapt <Base_Company>().ToCreate(_tokenManager.GetSessionInfo());

            return(toResponse(_companyService.Add(company)));
        }
Ejemplo n.º 12
0
        public CompanyDto CreateCompany(CompanyCreateDto dto)
        {
            var repoUser = _contextManager.CreateRepositiry <IUserRepo>();
            var user     = repoUser.GetById(dto.UserId);

            var repoCompany = _contextManager.CreateRepositiry <ICompanyRepo>();
            var company     = repoCompany.GetCompanyByName(dto.Name);

            if (!(company == null))
            {
                throw new ValidationException("Company with name <" + dto.Name + "> is already exists.");
            }

            var entity = _mapper.Map <Company>(dto);

            repoCompany.Add(entity);

            _contextManager.Save();

            var repoCompUser = _contextManager.CreateRepositiry <ICompanyUserLinkRepo>();
            var companyUser  = new CompanyUserLink
            {
                CompanyId       = entity.Id,
                UserId          = user.Id,
                UserCompanyRole = (int)Model.Enums.CompanyUserRoleEnum.Owner
            };

            repoCompUser.Add(companyUser);
            _contextManager.Save();


            var repoCompSub = _contextManager.CreateRepositiry <ICompanySubRepo>();
            var companySub  = new CompanySubscription
            {
                CompanyId       = entity.Id,
                UserId          = user.Id,
                SubEndDt        = DateTime.UtcNow.Date,
                UseTrialVersion = (int)Model.Enums.CompanyTrialVersionEnum.ReadyToUseTrial
            };

            repoCompSub.Add(companySub);
            _contextManager.Save();

            return(_mapper.Map <CompanyDto>(entity));
        }
 public IActionResult CreateCompany([FromBody] CompanyCreateModel model)
 {
     try
     {
         var companyCreateDto = new CompanyCreateDto
         {
             Name        = model.Name,
             UserId      = model.UserId,
             Type        = model.Type,
             Description = model.Description
         };
         var data = _service.CreateCompany(companyCreateDto);
         return(Ok(data));
     }
     catch (ValidationException ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Ejemplo n.º 14
0
        public async Task <ActionResult <CompanyReadDto> > CreateAsync(CompanyCreateDto companyCreateDto)
        {
            if (!companyCreateDto.EstablishmentYear.HasValue)
            {
                return(ValidationProblem("THe field EstablishmentYear cannot be empty"));
            }
            var companyModel = _mapper.Map <Models.Company>(companyCreateDto);

            await _companyRepository.CreateAsync(companyModel);

            foreach (var modelEmployee in companyModel.Employees)
            {
                await _employeeRepository.CreateAsync(modelEmployee);
            }

            await _companyRepository.SaveChangesAsync();

            return(Ok(new { id = companyModel.Id }));
        }
Ejemplo n.º 15
0
        public async Task <ActionResult <CompanyDto> > CompanyCreate([FromBody] CompanyCreateDto dto)
        {
            CompanyCreateDtoValidator validator = new CompanyCreateDtoValidator();
            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 manager = await _dbContext.Managers
                              .Include(x => x.Company)
                              .SingleOrDefaultAsync(x => x.ApplicationUserId == userId);

                #region 驗證

                if (!manager.ManagerConfirmed)
                {
                    return(Problem(title: "禁止修改", detail: "企業使用者尚未驗證", statusCode: 403));
                }
                if (manager.Company != null)
                {
                    return(Problem(title: "禁止修改", detail: "無法新增多個公司", statusCode: 403));
                }
                if (await _dbContext.Companies.AnyAsync(x => x.RegistrationNumber == dto.RegistrationNumber))
                {
                    result.Errors.Add(new ValidationFailure("registrationNumber", "統一編號已經被使用"));
                    return(BadRequest(result.Errors));
                }

                #endregion

                var entity = _mapper.Map <Company>(dto);
                manager.Company = entity;
                _dbContext.Managers.Update(manager);
                await _dbContext.SaveChangesAsync();

                var routeValues = new { companyId = entity.CompanyId };
                var returnDto   = _mapper.Map <CompanyDto>(entity);
                return(CreatedAtAction(nameof(GetCompany), routeValues, returnDto));
            }
            return(BadRequest(result.Errors));
        }
        public void CreateDeleteCompanyTest()
        {
            Random rng = new Random();

            //arrange
            var dto = new CompanyCreateDto
            {
                Name = "Nameasdasd",

                Type        = 1,
                Description = "CompanyDtoDescriptionCompanyDto"
            };

            //act
            var result    = _companyService.CreateCompany(dto);
            var companyID = result.Id;

            //assert
            Assert.AreNotEqual(0, result.Id);

            _companyService.DeleteCompany(companyID);
        }
        public async Task <IActionResult> AddCompanyAsync(CompanyCreateDto com)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Fill all fields"));
            }
            var company = _mapper.Map <Company>(com);

            try
            {
                company = await _companiesService.CreateAsync(company);

                return(Created(Request.Path, company.Id));
            }
            catch (EntityPresentException e)
            {
                return(BadRequest(e.Message));
            }
            catch
            {
                return(this.ServerError("Failed to create company"));
            }
        }
 public Company toEntity(CompanyCreateDto companyDto)
 {
     return(_mapper.Map <Company>(companyDto));
 }