Beispiel #1
0
        public int CreateIndividualConsignee(IndividualConsigneeBindingModel individualConsigneeModel)
        {
            int?createdConsigneeId  = null;
            var individualConsignee = new IndividualConsignee();

            individualConsignee.FirstName    = individualConsigneeModel.FirstName;
            individualConsignee.LastName     = individualConsigneeModel.LastName;
            individualConsignee.TRN          = individualConsigneeModel.TRN;
            individualConsignee.CustomerCode = individualConsigneeModel.CustomerCode;
            individualConsignee.Address      = individualConsigneeModel.Address;

            using (var sqlConnection = new SqlConnection(_DBConnectionString))
            {
                try
                {
                    sqlConnection.Open();
                    createdConsigneeId = sqlConnection.ExecuteScalar <int>(
                        @"INSERT INTO IndividualConsignee (FirstName,LastName,TRN,Address,CustomerCode) 
                        OUTPUT Inserted.Id Values (@indivdualConsignee)", individualConsignee,
                        commandType: CommandType.Text, commandTimeout: 60);
                }
                catch (Exception ex)
                {
                    ex.ToString();
                    //log exceptions here
                }
            }
            return(createdConsigneeId.Value);
        }
        public int?CreateIndividualConsignee(IndividualConsigneeBindingModel individualConsigneeModel)
        {
            int?createdConsigneeId = null;

            using (var sqlConnection = new SqlConnection(_DBConnectionString))
            {
                try
                {
                    sqlConnection.Open();
                    createdConsigneeId = sqlConnection.ExecuteScalar <int>(
                        @"INSERT INTO IndividualConsignee (FirstName,LastName,TRN,Address,CustomerCode)
                        OUTPUT Inserted.Id Values (@FirstName,@LastName,@TRN,@Address,@CustomerCode)",
                        new
                    {
                        @FirstName    = individualConsigneeModel.FirstName,
                        @LastName     = individualConsigneeModel.LastName,
                        @TRN          = individualConsigneeModel.TRN,
                        @Address      = individualConsigneeModel.Address,
                        @CustomerCode = individualConsigneeModel.CustomerCode
                    },
                        commandType: CommandType.Text, commandTimeout: 60);
                }
                catch (Exception ex)
                {
                    _logger.Error(ex, "Error creating individual consignee");
                    //TODO
                    //NLOG && EXCEPTION HANDLING
                    ex.ToString();
                    //log exceptions here
                }
            }
            return(createdConsigneeId);
        }
        public int CreateIndividualConsignee(IndividualConsigneeBindingModel individualConsigneeModel)
        {
            int? createdConsigneeId = null;
            var individualConsignee = new IndividualConsignee();

            individualConsignee.FirstName = individualConsigneeModel.FirstName;
            individualConsignee.LastName = individualConsigneeModel.LastName;
            individualConsignee.TRN = individualConsigneeModel.TRN;
            individualConsignee.CustomerCode = individualConsigneeModel.CustomerCode;
            individualConsignee.Address = individualConsigneeModel.Address;

            using (var sqlConnection = new SqlConnection(_DBConnectionString))
            {
                try
                {
                    sqlConnection.Open();
                    createdConsigneeId = sqlConnection.ExecuteScalar<int>(
                       @"INSERT INTO IndividualConsignee (FirstName,LastName,TRN,Address,CustomerCode) 
                        OUTPUT Inserted.Id Values (@indivdualConsignee)", individualConsignee,
                      commandType: CommandType.Text, commandTimeout: 60);

                }
                catch (Exception ex)
                {
                    ex.ToString();
                    //log exceptions here

                }
            }
            return createdConsigneeId.Value;
        }
        public IHttpActionResult IndividualSignUp(IndividualRegistration individualRegistrationModel)
        {
            var individualConsigneeModel = new IndividualConsigneeBindingModel()
            {
                Address   = individualRegistrationModel.Address,
                TRN       = individualRegistrationModel.TRN,
                FirstName = individualRegistrationModel.PrimaryUser.FirstName,
                LastName  = individualRegistrationModel.PrimaryUser.LastName,
            };

            var registerIndividualResult = _businessManager.RegisterIndividual(individualRegistrationModel.PrimaryUser, individualConsigneeModel);

            if (!registerIndividualResult.IsSuccess)
            {
                return(GetErrorResult(registerIndividualResult));
            }

            var userId = registerIndividualResult.Result.UserModel.Id;

            Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = userId }));

            return(Created(locationHeader, registerIndividualResult.Result.UserModel));
        }
Beispiel #5
0
        public GenericActionResult <RegistrationReturnModel <IndividualConsigneeBindingModel> > RegisterIndividual(CreateUserBindingModel principalUser,
                                                                                                                   IndividualConsigneeBindingModel individualConsignee)
        {
            //validate individual doesn't exist first
            bool personAlreadyExists = _validationHelper.CheckForExistingIndividual(individualConsignee.TRN);

            if (personAlreadyExists)
            {
                return new GenericActionResult <RegistrationReturnModel <IndividualConsigneeBindingModel> >()
                       {
                           IsSuccess = false,
                           Errors    = new List <string> {
                               "Individual already registered, duplicate TRN"
                           }
                       }
            }
            ;

            var userCreateResult = _userManagement.CreateUser(principalUser);

            string userId = null;

            if (userCreateResult.IsSuccess)
            {
                userId = userCreateResult.Result.Id;

                AssignUserToDefaultRoles(userId);
            }
            else
            {
                return(new GenericActionResult <RegistrationReturnModel <IndividualConsigneeBindingModel> >()
                {
                    Errors = userCreateResult.Errors,
                    IsSuccess = false,
                    Result = null
                });
            }

            int?indivdualConsigneeId = _dataAccess.CreateIndividualConsignee(individualConsignee);

            //if an id wasn't returned, it means an error occurred during the creation of the consignee record
            //therefore roll back all that came before it.
            if (!indivdualConsigneeId.HasValue)
            {
                //reverse the created user by deleting it
                _userManagement.DeleteUser(userCreateResult.Result.UserName);

                return(new GenericActionResult <RegistrationReturnModel <IndividualConsigneeBindingModel> >()
                {
                    IsSuccess = false,
                    Errors = new List <string> {
                        "Error completing registration,please try again later."
                    }
                });
            }

            //create link between individual and consignee
            _dataAccess.CreateIndividualConsigneeRepresentative(userId, indivdualConsigneeId.Value);

            //return new information on user & company
            return(new GenericActionResult <RegistrationReturnModel <IndividualConsigneeBindingModel> >()
            {
                IsSuccess = true,
                Result = new RegistrationReturnModel <IndividualConsigneeBindingModel>
                {
                    ConsigneeModel = individualConsignee,
                    UserModel = userCreateResult.Result
                },
                Errors = null
            });
        }