예제 #1
0
        private static ExternalAssociate AddExternalAssociate(int dunsNumber, string longName, string shortName)
        {
            Console.WriteLine("Adding ExternalAssociate " + longName);

            ExternalAssociateController controller = new ExternalAssociateController(Repository);

            CreateExternalAssociateDto dto = new CreateExternalAssociateDto(dunsNumber, longName, shortName,
                                                                            ExternalAssociateType.REGULATED_UTILITY_PROVIDER);

            return(FetchFromTaskActionResult(controller.Create(dto)));
        }
#pragma warning disable 1998
        public async Task <ActionResult <ExternalAssociate> > Create([FromBody] CreateExternalAssociateDto item)
#pragma warning restore 1998
        {
            Result <DUNSNumber> dunsNumberOrError = DUNSNumber.Create(item.DUNSNumber);
            Result <LongName>   longNameOrError   = LongName.Create(item.LongName);
            Result <ShortName>  shortNameOrError  = ShortName.Create(item.ShortName);

            Result result = Result.Combine(dunsNumberOrError, longNameOrError, shortNameOrError);

            if (result.IsFailure)
            {
                return(Error(result.Error));
            }

            ExternalAssociate externalAssociate = new ExternalAssociate(dunsNumberOrError.Value, longNameOrError.Value, shortNameOrError.Value, ExternalAssociateType.SELF_PROVIDER);

            _repository.AddExternalAssociate(externalAssociate);

            CreatedAtActionResult createdAtActionResult = CreatedAtAction("Create", new { id = externalAssociate.Id }, externalAssociate);

            return(createdAtActionResult);
        }