Beispiel #1
0
        public async Task <IActionResult> CreateApp([FromBody] CreateAppResource createAppResource)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                //string branchId = await _authService.GetBranchIdFromUserProfile(HttpContext);
                //string userId = await _authService.GetUserIdFromUserProfile(HttpContext);

                Log.Information("From Body {@CreateAppResource}", createAppResource);

                UserProfile userProfile = await _authService.GetUserProfileFromToken(HttpContext);

                MktCustomer customer = new MktCustomer()
                {
                    CardTypeId    = createAppResource.CardType,
                    IDCardNo      = createAppResource.IDCardNo,
                    NewOrOld      = BusinessConstant.CustomerNewType,
                    TitleId       = createAppResource.TitleId,
                    FirstNameThai = createAppResource.FirstNameThai,
                    LastNameThai  = createAppResource.LastNameThai
                };

                MktApplicationExtend appExtend = new MktApplicationExtend()
                {
                    CurrentBy    = userProfile.UserId,
                    CurrentLevel = userProfile.GroupLevelId
                };

                MktApplication app = new MktApplication()
                {
                    AppOwnerId = userProfile.UserId,

                    ApplicationExtend = appExtend,
                    Customer          = customer
                };

                var createdApp = await _appService.CreateApp(app, userProfile);

                string newURI = Url.Link("GetApp", new { appId = createdApp.AppId, toCheckNCB = true });

                var resultApp = new { appId = createdApp.AppId, url = newURI };

                return(Created(newURI, resultApp));
            }
            catch (Exception ex)
            {
                Log.Error("This is {@Exception}", ex);
            }

            return(BadRequest());
        }
Beispiel #2
0
        private MktCustomer UpdateCustomerBeforeSubmitToCreditChecking(string appId, string userId,
                                                                       CheckNCBAppResource checkNCBApp, MktCustomer customer)
        {
            customer.NewOrOld      = checkNCBApp.NewOrOldCustomer;
            customer.CardTypeId    = checkNCBApp.CardType;
            customer.IDCardNo      = checkNCBApp.IDCardNo;
            customer.TitleId       = checkNCBApp.TitleId;
            customer.FirstNameThai = checkNCBApp.FirstNameThai;
            customer.LastNameThai  = checkNCBApp.LastNameThai;
            customer.SexId         = checkNCBApp.SexId;
            customer.BirthDate     = checkNCBApp.BirthDate;

            if ((customer.Addresses == null) || customer.Addresses.Count == 0)
            {
                customer.Addresses = new MktAddress[]
                {
                    new MktAddress
                    {
                        Id          = 1,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Address.ToString(),
                        HouseNo     = string.Empty,
                        Floor       = string.Empty,
                        RoomNo      = string.Empty,
                        Moo         = string.Empty,
                        Soi         = string.Empty,
                        Road        = string.Empty,
                        DistrictId  = 0,
                        AmphurId    = 0,
                        ProvinceId  = 0,
                        Status      = BusinessConstant.StatusActive
                    },

                    new MktAddress
                    {
                        Id          = 2,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Current.ToString(),
                        HouseNo     = string.Empty,
                        Floor       = string.Empty,
                        RoomNo      = string.Empty,
                        Moo         = string.Empty,
                        Soi         = string.Empty,
                        Road        = string.Empty,
                        DistrictId  = 0,
                        AmphurId    = 0,
                        ProvinceId  = 0,
                        Status      = BusinessConstant.StatusActive
                    },

                    new MktAddress
                    {
                        Id          = 3,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Debt.ToString(),
                        HouseNo     = string.Empty,
                        Floor       = string.Empty,
                        RoomNo      = string.Empty,
                        Moo         = string.Empty,
                        Soi         = string.Empty,
                        Road        = string.Empty,
                        DistrictId  = 0,
                        AmphurId    = 0,
                        ProvinceId  = 0,
                        Status      = BusinessConstant.StatusActive
                    },

                    new MktAddress
                    {
                        Id          = 4,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Document.ToString(),
                        AddressCode = checkNCBApp.MailingAddressCode ?? string.Empty,
                        HouseNo     = checkNCBApp.MailingHouseNo,
                        Floor       = checkNCBApp.MailingFloor ?? string.Empty,
                        RoomNo      = checkNCBApp.MailingRoomNo ?? string.Empty,
                        Moo         = checkNCBApp.MailingMoo ?? string.Empty,
                        Soi         = checkNCBApp.MailingSoi ?? string.Empty,
                        Road        = checkNCBApp.MailingRoad ?? string.Empty,
                        DistrictId  = checkNCBApp.MailingDistrictId,
                        AmphurId    = checkNCBApp.MailingAmphurId,
                        ProvinceId  = checkNCBApp.MailingProvinceId,
                        ZipCode     = checkNCBApp.MailingZipCode,
                        Status      = BusinessConstant.StatusActive
                    },

                    new MktAddress
                    {
                        Id          = 5,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Office.ToString(),
                        HouseNo     = string.Empty,
                        Floor       = string.Empty,
                        RoomNo      = string.Empty,
                        Moo         = string.Empty,
                        Soi         = string.Empty,
                        Road        = string.Empty,
                        DistrictId  = 0,
                        AmphurId    = 0,
                        ProvinceId  = 0,
                        Status      = BusinessConstant.StatusActive
                    },

                    new MktAddress
                    {
                        Id          = 6,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Other.ToString(),
                        HouseNo     = string.Empty,
                        Floor       = string.Empty,
                        RoomNo      = string.Empty,
                        Moo         = string.Empty,
                        Soi         = string.Empty,
                        Road        = string.Empty,
                        DistrictId  = 0,
                        AmphurId    = 0,
                        ProvinceId  = 0,
                        Status      = BusinessConstant.StatusActive
                    },

                    new MktAddress
                    {
                        Id          = 7,
                        CustomerId  = customer.Id,    //app.Customer.Id,
                        AddressType = BusinessConstant.AddressType.Person.ToString(),
                        HouseNo     = string.Empty,
                        Floor       = string.Empty,
                        RoomNo      = string.Empty,
                        Moo         = string.Empty,
                        Soi         = string.Empty,
                        Road        = string.Empty,
                        DistrictId  = 0,
                        AmphurId    = 0,
                        ProvinceId  = 0,
                        Status      = BusinessConstant.StatusActive
                    }
                };
            }
            else
            {
                MktAddress documentAddress = customer.Addresses
                                             .SingleOrDefault(a => a.AddressType == BusinessConstant.AddressType.Document.ToString());

                if (documentAddress != null)
                {
                    documentAddress.AddressCode = checkNCBApp.MailingAddressCode ?? string.Empty;
                    documentAddress.HouseNo     = checkNCBApp.MailingHouseNo;
                    documentAddress.Floor       = checkNCBApp.MailingFloor ?? string.Empty;
                    documentAddress.RoomNo      = checkNCBApp.MailingRoomNo ?? string.Empty;
                    documentAddress.Moo         = checkNCBApp.MailingMoo ?? string.Empty;
                    documentAddress.Soi         = checkNCBApp.MailingSoi ?? string.Empty;
                    documentAddress.Road        = checkNCBApp.MailingRoad ?? string.Empty;
                    documentAddress.DistrictId  = checkNCBApp.MailingDistrictId;
                    documentAddress.AmphurId    = checkNCBApp.MailingAmphurId;
                    documentAddress.ProvinceId  = checkNCBApp.MailingProvinceId;
                    documentAddress.ZipCode     = checkNCBApp.MailingZipCode;
                }
            }

            return(customer);
        }