예제 #1
0
        public Company Map(AddCompanyRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            Company address = new Company
            {
                Name          = request.Name,
                Addition      = request.Addition,
                Addition2     = request.Addition2,
                Street        = request.Street,
                PostCode      = request.PostCode,
                City          = request.City,
                Email         = request.Email,
                Phone         = request.Phone,
                Fax           = request.Fax,
                VatId         = request.VatId,
                TimeZone      = request.TimeZone,
                ParentId      = request.ParentId,
                CountryId     = (System.Guid)request.CountryId,
                LogoId        = request.LogoId,
                CompanyTypeId = (System.Guid)request.CompanyTypeId
            };

            return(address);
        }
예제 #2
0
        public async Task <IActionResult> PostToAddNewGroup(
            [FromBody] AddCompanyRequest request,
            [FromServices] ICommandHandler <AddGroupCommand> _addGroupCommandHandler
            )
        {
            _logger.LogInformation("Running POST method to ADD new group");
            if (request == null)
            {
                request = new AddCompanyRequest();
            }


            //Gets Bizfly identity from header.
            BizflyIdentity bizflyIdentity = Request.Headers.GetIdentityFromHeaders();

            AddGroupCommand command = new AddGroupCommand(bizflyIdentity, request.NewGroupId, bizflyIdentity.UserId, request.GroupName, "COMPANY");
            await _addGroupCommandHandler.Handle(command);

            if (ModelState.IsValid)
            {
                _logger.LogInformation("New Group is created with id = {0}", request.NewGroupId);
                return(CreatedAtAction(nameof(Get), new { id = request.NewGroupId }, null));
            }
            return(BadRequest(ModelState));
        }
        public object AddCompany([FromBody] AddCompanyRequest req) //If not working remove frombody
        {
            req.CreatedBy = User.Identity.Name;
            var result = req.RunRequest(req);

            return(result);
        }
예제 #4
0
        public IHttpActionResult PostCompany(AddCompanyRequest addCompanyRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var company = new Company
            {
                Name        = addCompanyRequest.Name,
                Tva         = addCompanyRequest.Tva,
                Headquarter = new Address
                {
                    Address1 = addCompanyRequest.Address1,
                    Locality = addCompanyRequest.Locality
                }
            };

            _companyService.Add(company);
            return(CreatedAtRoute(
                       "DefaultApi",
                       new { id = company.Id },
                       new CompanyResult
            {
                Id = company.Id,
                Name = company.Name,
                Tva = company.Tva,
                HeadquarterAddress = new AddressResult
                {
                    Id = company.Headquarter.Id,
                    Address1 = company.Headquarter.Address1,
                    Locality = company.Headquarter.Locality,
                }
            }));
        }
예제 #5
0
        public async Task <bool> Handle(AddCompanyRequest message, Interfaces.IOutputPort <AddCompanyResponse> outputPort)
        {
            var response = await _companyRepository.Create(new Domain.Entities.Company(message.CompanyName, message.YearEstablished, message.Employees));

            outputPort.Handle(response.Success ? new AddCompanyResponse(response.Id, true) : new AddCompanyResponse(response.Errors));
            return(response.Success);
        }
예제 #6
0
        public async Task <CompanyResponse> AddCompanyAsync(AddCompanyRequest request)
        {
            Company address = _companyMapper.Map(request);
            Company result  = _companyRespository.Add(address);

            int modifiedRecords = await _companyRespository.UnitOfWork.SaveChangesAsync();

            _logger.LogInformation(Events.Add, Messages.NumberOfRecordAffected_modifiedRecords, modifiedRecords);
            _logger.LogInformation(Events.Add, Messages.ChangesApplied_id, result?.Id);

            return(_companyMapper.Map(result));
        }
        public static OperationResult <int> AddOrUpdateBuyer(CompanyAndRelationshipResult buyer)
        {
            var requestUrl  = $"/api/Relationship/AddOrUpdateCompany/{buyer.OurCompanyNumber}";
            var request     = new RestRequest(requestUrl, Method.POST);
            var requestBody = new AddCompanyRequest
            {
                OurCompanyNumber = buyer.OurCompanyNumber,
                ContactName      = buyer.ContactName?.Trim(),
                OurBillToNumber  = buyer.OurBillToNumber,
                Company          = new CompanyViewModel
                {
                    Address1        = buyer.Address1.Trim(),
                    Address2        = buyer.Address2?.Trim(),
                    City            = buyer.City?.Trim(),
                    CommonName      = buyer.Name?.Trim(),
                    CompanyTypeId   = 1,
                    IndustryTypeId  = 1,
                    Contact1        = buyer.Contact1?.Trim(),
                    Contact2        = buyer.Contact2?.Trim(),
                    Country         = buyer.Country?.Trim(),
                    Email1          = buyer.Email1?.Trim(),
                    FormattedPhone1 = buyer.FormattedPhone1?.Trim(),
                    Email2          = buyer.Email2?.Trim(),
                    IsBuyer         = true,
                    PostalCode      = buyer.PostalCode,
                    ProvState       = buyer.ProvState?.Trim(),
                    Web             = buyer.Web?.Trim(),
                    Name            = buyer.Name?.Trim()
                },
                SalesRepEmail       = buyer.SalesRepEmail,
                ReplaceSalesRep     = true,
                ForceRemoveSalesRep = false
            };

            request.AddJsonBody(requestBody);
            NewApiClient.AddDefaultHeader("Authorization", $"Bearer {Key}");
            var response = NewApiClient.Execute <OperationResult <int> >(request);

            if (response.StatusCode != HttpStatusCode.OK && response.Data.Result == 0)
            {
                throw new Exception("Error inviting buyers: " + response.ErrorException?.Message);
            }

            return(response.Data);
        }
        public async Task Test_PostActionWhenEverythingIsOk()
        {
            AddCompanyRequest payload = new AddCompanyRequest
            {
                GroupName  = "test-group-name",
                NewGroupId = "5c261254-f832-49ad-9ad2-8c76c8e15359"
            };

            headerUserId = "5c261254-f832-49ad-9ad2-8c76c8e15359";
            var mockAddGroupHandler = new Mock <IDefaultCommandHandler <AddGroupCommand> >();
            var actionResult        = await controller.PostToAddNewGroup(payload, mockAddGroupHandler.Object);

            var createdResult = actionResult as CreatedAtActionResult;

            Assert.IsInstanceOfType(actionResult, typeof(CreatedAtActionResult));

            Assert.AreEqual("Get", createdResult.ActionName);
            Assert.AreEqual(payload.NewGroupId, createdResult.RouteValues["id"]);

            mockAddGroupHandler.Verify();
        }
        public async Task Test_PostActionWhen_HandlerThrowsError()
        {
            // Arrange
            // Fake payload
            AddCompanyRequest payload = new AddCompanyRequest
            {
                GroupName  = string.Empty,
                NewGroupId = string.Empty
            };
            var mockAddGroupHandler = new Mock <IDefaultCommandHandler <AddGroupCommand> >();

            List <ValidationFailure> failure = new List <ValidationFailure>
            {
                new ValidationFailure("id", "")
            };

            mockAddGroupHandler
            .Setup(hdl => hdl.Handle(It.IsAny <AddGroupCommand>()))
            .Throws(new ValidationException(failure))
            .Verifiable();
            var result = await controller.PostToAddNewGroup(payload, mockAddGroupHandler.Object);
        }
예제 #10
0
 public Task <IActionResult> AddCompany([FromQuery] AddCompanyRequest request)
 {
     return(this.HandleRequest <AddCompanyRequest, AddCompanyResponse>(request));
 }
예제 #11
0
        public async Task <IActionResult> Post(AddCompanyRequest request)
        {
            RespContainer <CompanyResponse> result = await _mediator.Send(new AddCompanyCommand(request));

            return(CreatedAtAction(nameof(GetById), new { id = result.Data.Id }, result));
        }