示例#1
0
        public async Task <IActionResult> CreateBusinesspartner([FromBody] CreateBusinesspartnerRequest createBusinesspartnerRequest)
        {
            IActionResult result;

            _logger.LogInformation($"CreateBusinesspartner({nameof(CreateBusinesspartnerRequest)}: {createBusinesspartnerRequest.ToJson()})");

            try
            {
                var resp = await _moveInLogic.CreateBusinessPartner(createBusinesspartnerRequest);

                if (resp.HttpStatusCode == System.Net.HttpStatusCode.BadRequest)
                {
                    return(BadRequest());
                }
                var createBp = new BusinessPartnerResponse()
                {
                    BpId = resp.BpId
                };
                result = Ok(createBp);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Unable to create BP for a customer", ex.Message);

                result = ex.ToActionResult();
            }

            return(result);
        }
示例#2
0
        /// <summary>
        /// Updates the customer information at the BP level
        /// </summary>
        /// <param name="emailAddress">email address</param>
        /// <param name="bpId">bpID</param>
        public bool UpdateCassandraCustomerInformation(long bpId, CreateBusinesspartnerRequest createBusinessPartnerData)
        {
            try
            {
                _logger.LogInformation($"UpdateNewCustomerInformation({nameof(CreateBusinesspartnerRequest)}: {createBusinessPartnerData.ToJson()}," +
                                       $"{nameof(bpId)}: {bpId})");
                // populate customer data
                var session = _session.Session();

                var statement = session.Prepare(
                    "INSERT INTO customer(bp_id,employer_name,first_name, full_name, last_name, middle_name, refresh_time) " +
                    "VALUES(?,?,?,?,?,?,?);");
                string         fullName = createBusinessPartnerData.FirstName + " " + createBusinessPartnerData.MiddleName + " " + createBusinessPartnerData.LastName;
                DateTimeOffset dtoffset = DateTimeOffset.Now;
                session.ExecuteAsync(statement.Bind(bpId, createBusinessPartnerData.OrgName, createBusinessPartnerData.FirstName, fullName, createBusinessPartnerData.LastName, createBusinessPartnerData.MiddleName, dtoffset));

                // populate customer contact data
                Dictionary <string, PhoneDefinedType> Phones = new Dictionary <string, PhoneDefinedType>();
                Phones.Add(createBusinessPartnerData.Phone.Type.ToString(), new PhoneDefinedType()
                {
                    Number = createBusinessPartnerData.Phone.Number, Extension = createBusinessPartnerData.Phone.Extension
                });
                Phones.Add(createBusinessPartnerData.MobilePhone.Type.ToString(), new PhoneDefinedType()
                {
                    Number = createBusinessPartnerData.MobilePhone.Number, Extension = createBusinessPartnerData.MobilePhone.Extension
                });
                AddressDefinedType newCustomerStreetAddress = new AddressDefinedType()
                {
                    AddressLine1 = createBusinessPartnerData.Address.AddressLine1,
                    AddressLine2 = createBusinessPartnerData.Address.AddressLine2,
                    City         = createBusinessPartnerData.Address.City,
                    State        = createBusinessPartnerData.Address.State,
                    PostalCode   = createBusinessPartnerData.Address.PostalCode,
                    Country      = createBusinessPartnerData.Address.Country,
                    CareOf       = createBusinessPartnerData.Address.CareOf
                };
                statement = session.Prepare(
                    "INSERT INTO customer_contact(bp_id,email,mailing_address,phones) " +
                    "VALUES(?,?,?,?);");
                session.ExecuteAsync(statement.Bind(bpId, createBusinessPartnerData.Email, newCustomerStreetAddress, Phones));
                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Database update was not successful for bp id : {bpId.ToString()} {ex.Message}");
                return(false);
            }
        }