Esempio n. 1
0
        /// <inheritdoc />
        public async Task <IEnumerable <long> > PostPriorMoveIn(MoveInRequest request, long bp, string jwt)
        {
            var mcfMoveInRequest = new CreateMoveInRequest()
            {
                AccountID       = bp.ToString(),
                CustomerRole    = "",
                ProcessType     = "PRIOR",
                ContractItemNav = await CreateContractItemNavList(request),
                ProdAttributes  = new List <ProdAttribute>()
            };

            var response = _mcfClient.PostMoveIn(mcfMoveInRequest, jwt);

            var newContractAccounts = response.ContractItemNav.Results.Select(item => long.Parse(item.BusinessAgreementID)).ToList();

            return(newContractAccounts);
        }
Esempio n. 2
0
        public async Task <IActionResult> PostLateMoveIn([FromBody] MoveInRequest request)
        {
            IActionResult result;
            var           jwt = GetJWToken();
            var           bp  = GetBpIdFromClaims();

            try
            {
                var response = new LateMoveInResponse()
                {
                    NewContractAccounts = await _moveInLogic.PostPriorMoveIn(request, bp, jwt)
                };

                result = Ok(response);
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                result = e.ToActionResult();
            }


            return(result);
        }
Esempio n. 3
0
        private async Task <IEnumerable <ContractItemNav> > CreateContractItemNavList(MoveInRequest request)
        {
            var premiseInstallation = await _deviceApi.GetPremiseInstallation(request.PremiseId);

            var contractItemNavList = new List <ContractItemNav>();

            foreach (var installationId in request.InstallationIds)
            {
                var premiseInstallDetails = premiseInstallation.Data.Installations.FirstOrDefault(x => x.InstallationId == installationId);
                if (premiseInstallDetails == null)
                {
                    throw new BadRequestException(
                              "Unable to find premise installation details with provided installation id");
                }
                var contractItemNav = new ContractItemNav()
                {
                    ContractStartDate   = DateTimeOffset.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss"),
                    ContractEndDate     = DateTime.MaxValue.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss"),
                    BusinessAgreementID = request.ContractAccountId.ToString(),
                    TransferCA          = "",
                    ProductID           = GetProductId(premiseInstallDetails.DivisionId),
                    DivisionID          = premiseInstallDetails.DivisionId,
                    PointOfDeliveryGUID = premiseInstallDetails.InstallationGuid,
                };

                contractItemNavList.Add(contractItemNav);
            }

            return(contractItemNavList);
        }