Ejemplo n.º 1
0
        public ActionResult PayWithDebit(DebitCardModel debitCard)
        {
            debitCard.ErrorDetails = "";
            if (debitCard.CashAmount <= 0)
            {
                debitCard.ErrorDetails = "Podana kwota musi być większa od zera";
            }
            else
            {
                if (debitCard.CashAmount > debitCard.AvailableBalance - debitCard.BlockedCashAmount)
                {
                    debitCard.ErrorDetails += "Podana kwota przekracza sumę salda dostępnego i kwoty zablokowanej. ";
                }
                else
                {
                    if (debitCard.CashAmount > debitCard.MonthlyLimit - debitCard.UsedMonthlyLimit)
                    {
                        debitCard.ErrorDetails += "Przekroczono miesięczny limit pieniężny.";
                    }
                    else
                    {
                        if (debitCard.UsedOperationsCount >= debitCard.OperationsCount)
                        {
                            debitCard.ErrorDetails += "Przekroczono dzienny limit ilości operacji";
                        }
                        else
                        {
                            cardsFcd.PayWithDebit(debitCard);
                        }
                    }
                }
            }

            return(RedirectToAction("DebitCardSim", new { id = debitCard.Id, errorDetails = debitCard.ErrorDetails }));
        }
Ejemplo n.º 2
0
 private bool FillForJuridicial()
 {
     using SqlConnection sqlConnection = new SqlConnection(DataBase.ConnectionString);
     try
     {
         sqlConnection.Open();
         SqlCommand command = new SqlCommand("SELECT * FROM [DebitCardJuridicial] WHERE (Id = @Id AND Password = @Password)", sqlConnection);
         command.Parameters.AddWithValue("Id", Id);
         command.Parameters.AddWithValue("Password", Password);
         SqlDataReader sqlReader = command.ExecuteReader();
         sqlReader.Read();
         MoneyCount    = Convert.ToDecimal(sqlReader["MoneyCount"]);
         ValidityStart = Convert.ToDateTime(sqlReader["ValidityStart"]);
         int idModel = Convert.ToInt32(sqlReader["IdCardModel"]);
         sqlReader.Close();
         SqlCommand command1 = new SqlCommand("SELECT * FROM [DebitCardModel] WHERE (Id = @Id)", sqlConnection);
         command1.Parameters.AddWithValue("Id", idModel);
         SqlDataReader sqlReader1 = command1.ExecuteReader();
         sqlReader1.Read();
         string name = Convert.ToString(sqlReader1["Name"]);
         CardModel = new DebitCardModel(name);
         sqlReader1.Close();
         sqlConnection.Close();
         return(true);
     }
     catch (SqlException ex)
     {
         throw new Exception("Работа базы данных нарушена", ex);
     }
     finally
     {
         sqlConnection.Close();
     }
 }
Ejemplo n.º 3
0
        public DebitCardControl(DebitCardModel debitCardModel, IPerson person)
        {
            InitializeComponent();

            _person         = person;
            _debitCardModel = debitCardModel;
            DataContext     = debitCardModel;
        }
Ejemplo n.º 4
0
        public ActionResult DebitCard()
        {
            var model = new DebitCardModel();

            model.Amount = TempData["Amount"].ToString();

            ViewBag.ExpriryMonth = ExpiryMonths();
            ViewBag.ExpiryYear   = ExpiryYears();

            return(View(model));
        }
Ejemplo n.º 5
0
 public DebitCardCollection(DebitCardModel mortrageModel, DebitCard debitCard)
 {
     CreditCardModel = mortrageModel;
     CreditCard      = debitCard;
     Id            = debitCard.Id;
     Name          = mortrageModel.Name;
     MoneyCount    = Convert.ToDecimal(debitCard.MoneyCount.ToString("N1"));
     ValidityStart = debitCard.ValidityStart;
     ValidityEnd   = debitCard.ValidityEnd;
     AnnualFee     = Convert.ToDecimal(mortrageModel.AnnualFee.ToString("N1"));
 }
Ejemplo n.º 6
0
        public ActionResult DebitCard(DebitCardModel model)
        {
            var result = false;

            //Validate Debit Card Detail through API

            //Call API to Payment
            result = true;

            if (result)
            {
                return(RedirectToAction("PaymentSuccess"));
            }

            return(View(model));
        }
Ejemplo n.º 7
0
 public void PayWithDebit(DebitCardModel debitCard)
 {
     using (var ts = new TransactionScope())
     {
         usersDAO.UpdateAccountBlockedBalance(debitCard.AccountId, debitCard.CashAmount);
         cardsDAO.CreateOperationHistory(new DAL.PaymentCardsOperationHistory()
         {
             BalanceChange    = debitCard.CashAmount * (-1),
             CreditCardId     = debitCard.Id,
             CreditCardTypeId = 1002,
             DateIssued       = DateTime.Now,
             OperationTypeId  = 3003,
             UserId           = debitCard.UserId
         });
         ts.Complete();
     }
 }
Ejemplo n.º 8
0
        public DebitCardModel GetDebitCardById(int id)
        {
            var debitCard = cardsDAO.GetDebitCardById(id);
            var baseCard  = GetPaymentCardById(id);
            var account   = usersFcd.GetUserAccountById(debitCard.AccountId);

            DebitCardModel debitCardModel = new DebitCardModel()
            {
                AccountId           = debitCard.AccountId,
                BaseCardId          = debitCard.BaseCardId,
                MonthlyLimit        = debitCard.MonthlyLimit,
                Id                  = debitCard.Id,
                BaseCard            = baseCard,
                UsedMonthlyLimit    = CalculateMonthlyUsedLimitDebit(id),
                AvailableBalance    = account.AvailableBalance,
                UserId              = baseCard.UserId,
                BoundAccountNumber  = account.AccountNumber,
                OperationsCount     = 5,
                UsedOperationsCount = GetOperationsCountDebit(id),
                BlockedCashAmount   = account.BlockedBalance
            };

            return(debitCardModel);
        }
Ejemplo n.º 9
0
        private void MenuButton_Click(object sender, RoutedEventArgs e)
        {
            DebitCardModel   debitCardModel;
            DebitCardControl debitCardControl;

            CreditCardModel   creditCardModel;
            CreditCardControl creditCardControl;

            DepositModelData depositModelData;
            DepositControl   depositControl;

            ConsumerCreditModel   consumerCreditModel;
            ConsumerCreditControl consumerCreditControl;

            MortrageModel   mortrageModel;
            MortrageControl mortrageControl;

            Button button = (Button)sender;

            switch (button.Content)
            {
            case "Молодежная карта":
                debitCardModel   = new DebitCardModel("Молодежная карта");
                debitCardControl = new DebitCardControl(debitCardModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(debitCardControl);
                break;

            case "Золотая карта":
                debitCardModel   = new DebitCardModel("Золотая карта");
                debitCardControl = new DebitCardControl(debitCardModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(debitCardControl);
                break;

            case "Классическая карта":
                debitCardModel   = new DebitCardModel("Классическая карта");
                debitCardControl = new DebitCardControl(debitCardModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(debitCardControl);
                break;

            case "Премиальная кредитная карта":
                creditCardModel   = new CreditCardModel("Премиальная кредитная карта");
                creditCardControl = new CreditCardControl(creditCardModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(creditCardControl);
                break;

            case "Золотая кредитная карта":
                creditCardModel   = new CreditCardModel("Золотая кредитная карта");
                creditCardControl = new CreditCardControl(creditCardModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(creditCardControl);
                break;

            case "Цифровая кредитная карта":
                creditCardModel   = new CreditCardModel("Цифровая кредитная карта");
                creditCardControl = new CreditCardControl(creditCardModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(creditCardControl);
                break;

            case "Вклад «Победная ставка»":
                depositModelData = new DepositModelData("Вклад «Победная ставка»");
                depositControl   = new DepositControl(depositModelData, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(depositControl);
                break;

            case "Вклад «Выгодное решение»":
                depositModelData = new DepositModelData("Вклад «Выгодное решение»");
                depositControl   = new DepositControl(depositModelData, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(depositControl);
                break;

            case "Вклад «Копилка»":
                depositModelData = new DepositModelData("Вклад «Копилка»");
                depositControl   = new DepositControl(depositModelData, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(depositControl);
                break;

            case "Кредит на любые цели":
                consumerCreditModel   = new ConsumerCreditModel("Кредит на любые цели");
                consumerCreditControl = new ConsumerCreditControl(consumerCreditModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(consumerCreditControl);
                break;

            case "Кредит для молодежи":
                consumerCreditModel   = new ConsumerCreditModel("Кредит для молодежи");
                consumerCreditControl = new ConsumerCreditControl(consumerCreditModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(consumerCreditControl);
                break;

            case "Кредит для пенсионеров":
                consumerCreditModel   = new ConsumerCreditModel("Кредит для пенсионеров");
                consumerCreditControl = new ConsumerCreditControl(consumerCreditModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(consumerCreditControl);
                break;

            case "Кредит «Стандартный»":
                consumerCreditModel   = new ConsumerCreditModel("Кредит «Стандартный»");
                consumerCreditControl = new ConsumerCreditControl(consumerCreditModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(consumerCreditControl);
                break;

            case "Ипотека на готовое жилье":
                mortrageModel   = new MortrageModel("Ипотека на готовое жилье");
                mortrageControl = new MortrageControl(mortrageModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(mortrageControl);
                break;

            case "Ипотека на новостройки":
                mortrageModel   = new MortrageModel("Ипотека на новостройки");
                mortrageControl = new MortrageControl(mortrageModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(mortrageControl);
                break;

            case "Ипотека без взноса":
                mortrageModel   = new MortrageModel("Ипотека без взноса");
                mortrageControl = new MortrageControl(mortrageModel, _person);
                _mainWindow.PageMenu.Children.Clear();
                _mainWindow.PageMenu.Children.Add(mortrageControl);
                break;
            }
        }
Ejemplo n.º 10
0
        protected Boolean SubmitForm()
        {
            StringBuilder formattedHtml         = new StringBuilder();
            StringBuilder formattedInternalHtml = new StringBuilder();
            string        seasonalMonths        = "";

            try
            {
                foreach (ListItem item in cblSeasonal.Items)
                {
                    if (item.Selected)
                    {
                        seasonalMonths += item.Value + " - ";
                    }
                }

                if (seasonalMonths.Length > 3)
                {
                    seasonalMonths = seasonalMonths.Substring(0, seasonalMonths.Length - 3);
                }
            }
            catch (System.Exception ex)
            {
                _newLogic.WriteExceptionToDB(ex, "AdminSubmitForm - Get Seasonal Months");
            }

            try
            {
                //Instanciate new model objects for each piece of data to be created
                MerchantModel          newMerchant                        = new MerchantModel();
                MerchantPrincipalModel newMerchantPrincipal               = new MerchantPrincipalModel();
                ContactModel           newMerchantPrincipalContact        = new ContactModel();
                AddressModel           newMerchantPrincipalContactAddress = new AddressModel();
                ContactModel           newContact         = new ContactModel();
                ContactModel           newBusiness        = new ContactModel();
                AddressModel           newBusinessAddress = new AddressModel();
                ProcessorModel         newProcessor       = new ProcessorModel();
                DebitCardModel         newDebitCard       = new DebitCardModel();
                BankModel        newBankModel             = new BankModel();
                BankAccountModel newBankAccountModel      = new BankAccountModel();

                //Set base merchant information in newMerchant object
                if (txtMerchantId.Text != "")
                {
                    newMerchant.MerchantId = txtMerchantId.Text;
                }
                if (txtCorpName.Text != "")
                {
                    newMerchant.CorpName = txtCorpName.Text;
                }
                if (txtDBAName.Text != "")
                {
                    newMerchant.DbaName = txtDBAName.Text;
                }
                if (txtBusLicNumber.Text != "")
                {
                    newMerchant.BusLicNumber = txtBusLicNumber.Text;
                }
                if (txtBusLicType.Text != "")
                {
                    newMerchant.BusLicType = txtBusLicType.Text;
                }
                if (txtBusLicIssuer.Text != "")
                {
                    newMerchant.BusLicIssuer = txtBusLicIssuer.Text;
                }
                if (radBusLicDate.SelectedDate.HasValue)
                {
                    newMerchant.BusLicDate = Convert.ToDateTime(radBusLicDate.SelectedDate);
                }
                if (txtFedTaxId.Text != "")
                {
                    newMerchant.FedTaxId = txtFedTaxId.Text;
                }
                if (txtMerchandiseSold.Text != "")
                {
                    newMerchant.MerchandiseSold = txtMerchandiseSold.Text;
                }
                if (txtYearsInBus.Text != "")
                {
                    newMerchant.YearsInBusiness = Convert.ToInt32(txtYearsInBus.Text);
                }
                if (txtMonthsInBus.Text != "")
                {
                    newMerchant.MonthsInBusiness = Convert.ToInt32(txtMonthsInBus.Text);
                }
                if (rblSeasonal.SelectedValue != "")
                {
                    newMerchant.SeasonalSales = Convert.ToBoolean(rblSeasonal.SelectedValue);
                }
                if (seasonalMonths != "")
                {
                    newMerchant.SeasonalMonths = seasonalMonths;
                }
                if (txtSwipedPct.Text != "")
                {
                    newMerchant.SwipedPct = Convert.ToInt32(txtSwipedPct.Text);
                }
                if (txtAvgMonthlySales.Text != "")
                {
                    newMerchant.AvgMonthlySales = Convert.ToDecimal(txtAvgMonthlySales.Text);
                }
                if (txtHighestMonthlySales.Text != "")
                {
                    newMerchant.HighestMonthlySales = Convert.ToDecimal(txtHighestMonthlySales.Text);
                }
                if (txtAvgWeeklySales.Text != "")
                {
                    newMerchant.AvgWeeklySales = Convert.ToDecimal(txtAvgWeeklySales.Text);
                }
                if (rblHighRisk.SelectedValue != "")
                {
                    newMerchant.HighRisk = Convert.ToBoolean(rblHighRisk.SelectedValue);
                }
                if (txtHighRiskWho.Text != "")
                {
                    newMerchant.HighRiskWho = txtHighRiskWho.Text;
                }
                if (radHighRiskDate.SelectedDate.HasValue)
                {
                    newMerchant.HighRiskDate = Convert.ToDateTime(radHighRiskDate.SelectedDate);
                }
                if (rblBankruptcy.SelectedValue != "")
                {
                    newMerchant.Bankruptcy = Convert.ToBoolean(rblBankruptcy.SelectedValue);
                }
                if (radBankruptcyDate.SelectedDate.HasValue)
                {
                    newMerchant.BankruptcyDate = Convert.ToDateTime(radBankruptcyDate.SelectedDate);
                }

                //Add Legal Org State to merchant
                if (ddlLegalOrgState.SelectedValue != "")
                {
                    Int32 legalOrgStateId = Convert.ToInt32(ddlLegalOrgState.SelectedValue);
                    newMerchant.LegalOrgState = _globalCtx.GeoStates.Where(gs => gs.RecordId == legalOrgStateId).FirstOrDefault();
                }

                //Add Legal Org Type to merchant
                if (ddlLegalOrgType.SelectedValue != "")
                {
                    Int32 legalOrgTypeId = Convert.ToInt32(ddlLegalOrgType.SelectedValue);
                    newMerchant.LegalOrgType = _globalCtx.LegalOrgTypes.Where(lot => lot.RecordId == legalOrgTypeId).FirstOrDefault();
                }

                //Add Merchant Type to Merchant
                if (rblMerchantType.SelectedValue != "")
                {
                    newMerchant.MerchantType = _globalCtx.MerchantTypes.Where(mt => mt.MerchantTypeName == rblMerchantType.SelectedValue).FirstOrDefault();
                }

                //Add MCC to merchant
                if (ddlMCC.SelectedValue != "")
                {
                    Int32 mccId = Convert.ToInt32(ddlMCC.SelectedValue);
                    newMerchant.Mcc = _globalCtx.MerchantCategoryCodes.Where(mcc => mcc.RecordId == mccId).FirstOrDefault();
                }

                //Add Business Contact info - Email, Phone, Fax
                if (txtBusEmail.Text != "")
                {
                    newBusiness.Email = txtBusEmail.Text;
                }
                if (txtBusFax.Text != "")
                {
                    newBusiness.Fax = txtBusFax.Text;
                }
                if (txtBusPhone.Text != "")
                {
                    newBusiness.HomePhone = txtBusPhone.Text;
                }

                _globalCtx.Contacts.Add(newBusiness);

                //Add Business Contact Addess
                if (txtCorpAddress.Text != "")
                {
                    newBusinessAddress.Address = txtCorpAddress.Text;
                }
                if (txtCorpCity.Text != "")
                {
                    newBusinessAddress.City = txtCorpCity.Text;
                }
                if (ddlCorpState.SelectedValue != "")
                {
                    Int32 businessAddressStateId = Convert.ToInt32(ddlCorpState.SelectedValue);
                    newBusinessAddress.State = _globalCtx.GeoStates.Where(gs => gs.RecordId == businessAddressStateId).FirstOrDefault();
                }
                if (txtCorpZip.Text != "")
                {
                    newBusinessAddress.Zip = txtCorpZip.Text;
                }

                _globalCtx.Addresses.Add(newBusinessAddress);

                //Add new Business Contact Address to new Business
                newBusiness.Address = newBusinessAddress;

                //Add new Contact to new Merchant
                newMerchant.Business = newBusiness;

                //Add new Contact
                if (txtContactFirstName.Text != "")
                {
                    newContact.FirstName = txtContactFirstName.Text;
                }
                if (txtContactLastName.Text != "")
                {
                    newContact.LastName = txtContactLastName.Text;
                }
                if (txtContactEmail.Text != "")
                {
                    newContact.Email = txtContactEmail.Text;
                }
                if (txtContactPhone.Text != "")
                {
                    newContact.HomePhone = txtContactPhone.Text;
                }
                if (txtContactFax.Text != "")
                {
                    newContact.Fax = txtContactFax.Text;
                }

                _globalCtx.Contacts.Add(newContact);

                //Add new contact to new Merchant
                newMerchant.Contact = newContact;

                //Add new Merchant Principal
                if (txtPrincipalDLNumber.Text != "")
                {
                    newMerchantPrincipal.PrincipalDLNumber = PWDTK.StringToUtf8Bytes(txtPrincipalDLNumber.Text);
                }
                if (ddlPrincipalDLState.SelectedValue != "")
                {
                    Int32 dlStateId = Convert.ToInt32(ddlPrincipalDLState.SelectedValue);
                    newMerchantPrincipal.PrincipalDLState = _globalCtx.GeoStates.Where(gs => gs.RecordId == dlStateId).FirstOrDefault();
                }
                if (radPrincipalDoB.SelectedDate.HasValue)
                {
                    newMerchantPrincipal.PrincipalDoB = Convert.ToDateTime(radPrincipalDoB.SelectedDate);
                }
                if (txtPrincipalPctOwn.Text != "")
                {
                    newMerchantPrincipal.PrincipalPctOwn = Convert.ToInt32(txtPrincipalPctOwn.Text);
                }

                _globalCtx.MerchantPrincipal.Add(newMerchantPrincipal);

                //Create new contact for Merchant Principal
                if (txtPrincipalFirstName.Text != "")
                {
                    newMerchantPrincipalContact.FirstName = txtPrincipalFirstName.Text;
                }
                if (txtPrincipalLastName.Text != "")
                {
                    newMerchantPrincipalContact.LastName = txtPrincipalLastName.Text;
                }
                if (txtPrincipalMI.Text != "")
                {
                    newMerchantPrincipalContact.MiddleInitial = txtPrincipalMI.Text;
                }
                if (txtPrincipalTitle.Text != "")
                {
                    newMerchantPrincipalContact.Title = txtPrincipalTitle.Text;
                }
                if (txtPrincipalCellPhone.Text != "")
                {
                    newMerchantPrincipalContact.CellPhone = txtPrincipalCellPhone.Text;
                }
                if (txtPrincipalHomePhone.Text != "")
                {
                    newMerchantPrincipalContact.HomePhone = txtPrincipalHomePhone.Text;
                }

                _globalCtx.Contacts.Add(newMerchantPrincipalContact);

                //Create new address for Merchant principal Contact
                if (txtPrincipalAddress.Text != "")
                {
                    newMerchantPrincipalContactAddress.Address = txtPrincipalAddress.Text;
                }
                if (txtPrincipalCity.Text != "")
                {
                    newMerchantPrincipalContactAddress.City = txtPrincipalCity.Text;
                }
                if (ddlPrincipalState.SelectedValue != "")
                {
                    Int32 mpcStateId = Convert.ToInt32(ddlPrincipalState.SelectedValue);
                    newMerchantPrincipalContactAddress.State = _globalCtx.GeoStates.Where(gs => gs.RecordId == mpcStateId).FirstOrDefault();
                }
                if (txtPrincipalZip.Text != "")
                {
                    newMerchantPrincipalContactAddress.Zip = txtPrincipalZip.Text;
                }

                _globalCtx.Addresses.Add(newMerchantPrincipalContactAddress);

                //Add new address to Merchant Principal Contact
                newMerchantPrincipalContact.Address = newMerchantPrincipalContactAddress;

                //Add new Contact to Merchant Principal
                newMerchantPrincipal.Contact = newMerchantPrincipalContact;

                //Add new Principal to the new merchant
                newMerchant.MerchantPrincipal = newMerchantPrincipal;

                //Check if merchant processor already exists, if so link to merchant.  If not, create it and add to merchant.
                if (txtCardProcessor.Text != "")
                {
                    if (_globalCtx.Processor.Where(p => p.ProcessorName == txtCardProcessor.Text.Trim()).ToList().Count > 0)
                    {
                        newMerchant.Processor = _globalCtx.Processor.First(p => p.ProcessorName == txtCardProcessor.Text.Trim());
                    }
                    else
                    {
                        newProcessor.ProcessorName = txtCardProcessor.Text.Trim();
                        _globalCtx.Processor.Add(newProcessor);
                        newMerchant.Processor = newProcessor;
                    }
                }

                _globalCtx.Banks.Add(newBankModel);

                newBankAccountModel.Bank = newBankModel;
                newDebitCard.Bank        = newBankModel;

                _globalCtx.BankAccounts.Add(newBankAccountModel);
                _globalCtx.DebitCards.Add(newDebitCard);

                newMerchant.BankAccount = newBankAccountModel;
                newMerchant.DebitCard   = newDebitCard;

                //Set Merchant Status to "Admin Registered"
                newMerchant.MerchantStatus = _globalCtx.MerchantStatuses.FirstOrDefault(ms => ms.StatusDescription == "Pre-Enrolled");

                //Set Underwriting Status to "Pending"
                newMerchant.UnderwritingStatus = _globalCtx.UnderwritingStatuses.FirstOrDefault(ms => ms.StatusDescription == "Pending");

                newMerchant.AdvancePlan = _globalCtx.AdvancePlans.First(ap => ap.DefaultPlan == true);

                //Add new Merchant to context
                _globalCtx.Merchants.Add(newMerchant);

                //Add new merchant to selected User
                if (txtSelectedUserName.Text != "")
                {
                    var             manager      = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(_globalCtx));
                    ApplicationUser selectedUser = manager.FindByName(txtSelectedUserName.Text);
                    if (selectedUser != null)
                    {
                        selectedUser.Merchant = newMerchant;

                        //Save Context and Update DB
                        _globalCtx.SaveChanges();
                    }
                }
                else
                {
                    lblSubmissionMessage.Text = "Please select a User to join with this merchant.";
                    return(false);
                }
            }
            catch (System.Exception ex)
            {
                _newLogic.WriteExceptionToDB(ex, "AdminSubmitForm - Add Data to DB");
                return(false);
            }

            return(true);
        }
Ejemplo n.º 11
0
        protected Boolean SubmitForm()
        {
            StringBuilder formattedHtml = new StringBuilder();
            StringBuilder formattedInternalHtml = new StringBuilder();
            string seasonalMonths = "";

            try
            {
                foreach (ListItem item in cblSeasonal.Items)
                {
                    if (item.Selected)
                    {
                        seasonalMonths += item.Value + " - ";
                    }
                }

                if (seasonalMonths.Length > 3)
                {
                    seasonalMonths = seasonalMonths.Substring(0, seasonalMonths.Length - 3);
                }
            }
            catch (System.Exception ex)
            {
                _newLogic.WriteExceptionToDB(ex, "AdminSubmitForm - Get Seasonal Months");
            }

            try
            {
                //Instanciate new model objects for each piece of data to be created
                MerchantModel newMerchant = new MerchantModel();
                MerchantPrincipalModel newMerchantPrincipal = new MerchantPrincipalModel();
                ContactModel newMerchantPrincipalContact = new ContactModel();
                AddressModel newMerchantPrincipalContactAddress = new AddressModel();
                ContactModel newContact = new ContactModel();
                ContactModel newBusiness = new ContactModel();
                AddressModel newBusinessAddress = new AddressModel();
                ProcessorModel newProcessor = new ProcessorModel();
                DebitCardModel newDebitCard = new DebitCardModel();
                BankModel newBankModel = new BankModel();
                BankAccountModel newBankAccountModel = new BankAccountModel();

                //Set base merchant information in newMerchant object
                if (txtMerchantId.Text != "") { newMerchant.MerchantId = txtMerchantId.Text; }
                if (txtCorpName.Text != "") { newMerchant.CorpName = txtCorpName.Text; }
                if (txtDBAName.Text != "") { newMerchant.DbaName = txtDBAName.Text; }
                if (txtBusLicNumber.Text != "") { newMerchant.BusLicNumber = txtBusLicNumber.Text; }
                if (txtBusLicType.Text != "") { newMerchant.BusLicType = txtBusLicType.Text; }
                if (txtBusLicIssuer.Text != "") { newMerchant.BusLicIssuer = txtBusLicIssuer.Text; }
                if (radBusLicDate.SelectedDate.HasValue) { newMerchant.BusLicDate = Convert.ToDateTime(radBusLicDate.SelectedDate); }
                if (txtFedTaxId.Text != "") { newMerchant.FedTaxId = txtFedTaxId.Text; }
                if (txtMerchandiseSold.Text != "") { newMerchant.MerchandiseSold = txtMerchandiseSold.Text; }
                if (txtYearsInBus.Text != "") { newMerchant.YearsInBusiness = Convert.ToInt32(txtYearsInBus.Text); }
                if (txtMonthsInBus.Text != "") { newMerchant.MonthsInBusiness = Convert.ToInt32(txtMonthsInBus.Text); }
                if (rblSeasonal.SelectedValue != "") { newMerchant.SeasonalSales = Convert.ToBoolean(rblSeasonal.SelectedValue); }
                if (seasonalMonths != "") { newMerchant.SeasonalMonths = seasonalMonths; }
                if (txtSwipedPct.Text != "") { newMerchant.SwipedPct = Convert.ToInt32(txtSwipedPct.Text); }
                if (txtAvgMonthlySales.Text != "") { newMerchant.AvgMonthlySales = Convert.ToDecimal(txtAvgMonthlySales.Text); }
                if (txtHighestMonthlySales.Text != "") { newMerchant.HighestMonthlySales = Convert.ToDecimal(txtHighestMonthlySales.Text); }
                if (txtAvgWeeklySales.Text != "") { newMerchant.AvgWeeklySales = Convert.ToDecimal(txtAvgWeeklySales.Text); }
                if (rblHighRisk.SelectedValue != "") { newMerchant.HighRisk = Convert.ToBoolean(rblHighRisk.SelectedValue); }
                if (txtHighRiskWho.Text != "") { newMerchant.HighRiskWho = txtHighRiskWho.Text; }
                if (radHighRiskDate.SelectedDate.HasValue) { newMerchant.HighRiskDate = Convert.ToDateTime(radHighRiskDate.SelectedDate); }
                if (rblBankruptcy.SelectedValue != "") { newMerchant.Bankruptcy = Convert.ToBoolean(rblBankruptcy.SelectedValue); }
                if (radBankruptcyDate.SelectedDate.HasValue) { newMerchant.BankruptcyDate = Convert.ToDateTime(radBankruptcyDate.SelectedDate); }

                //Add Legal Org State to merchant
                if (ddlLegalOrgState.SelectedValue != "")
                {
                    Int32 legalOrgStateId = Convert.ToInt32(ddlLegalOrgState.SelectedValue);
                    newMerchant.LegalOrgState = _globalCtx.GeoStates.Where(gs => gs.RecordId == legalOrgStateId).FirstOrDefault();
                }

                //Add Legal Org Type to merchant
                if (ddlLegalOrgType.SelectedValue != "")
                {
                    Int32 legalOrgTypeId = Convert.ToInt32(ddlLegalOrgType.SelectedValue);
                    newMerchant.LegalOrgType = _globalCtx.LegalOrgTypes.Where(lot => lot.RecordId == legalOrgTypeId).FirstOrDefault();
                }

                //Add Merchant Type to Merchant
                if (rblMerchantType.SelectedValue != "") { newMerchant.MerchantType = _globalCtx.MerchantTypes.Where(mt => mt.MerchantTypeName == rblMerchantType.SelectedValue).FirstOrDefault(); }

                //Add MCC to merchant
                if (ddlMCC.SelectedValue != "")
                {
                    Int32 mccId = Convert.ToInt32(ddlMCC.SelectedValue);
                    newMerchant.Mcc = _globalCtx.MerchantCategoryCodes.Where(mcc => mcc.RecordId == mccId).FirstOrDefault();
                }

                //Add Business Contact info - Email, Phone, Fax
                if (txtBusEmail.Text != "") { newBusiness.Email = txtBusEmail.Text; }
                if (txtBusFax.Text != "") { newBusiness.Fax = txtBusFax.Text; }
                if (txtBusPhone.Text != "") { newBusiness.HomePhone = txtBusPhone.Text; }

                _globalCtx.Contacts.Add(newBusiness);

                //Add Business Contact Addess
                if (txtCorpAddress.Text != "") { newBusinessAddress.Address = txtCorpAddress.Text; }
                if (txtCorpCity.Text != "") { newBusinessAddress.City = txtCorpCity.Text; }
                if (ddlCorpState.SelectedValue != "")
                {
                    Int32 businessAddressStateId = Convert.ToInt32(ddlCorpState.SelectedValue);
                    newBusinessAddress.State = _globalCtx.GeoStates.Where(gs => gs.RecordId == businessAddressStateId).FirstOrDefault();
                }
                if (txtCorpZip.Text != "") { newBusinessAddress.Zip = txtCorpZip.Text; }

                _globalCtx.Addresses.Add(newBusinessAddress);

                //Add new Business Contact Address to new Business
                newBusiness.Address = newBusinessAddress;

                //Add new Contact to new Merchant
                newMerchant.Business = newBusiness;

                //Add new Contact
                if (txtContactFirstName.Text != "") { newContact.FirstName = txtContactFirstName.Text; }
                if (txtContactLastName.Text != "") { newContact.LastName = txtContactLastName.Text; }
                if (txtContactEmail.Text != "") { newContact.Email = txtContactEmail.Text; }
                if (txtContactPhone.Text != "") { newContact.HomePhone = txtContactPhone.Text; }
                if (txtContactFax.Text != "") { newContact.Fax = txtContactFax.Text; }

                _globalCtx.Contacts.Add(newContact);

                //Add new contact to new Merchant
                newMerchant.Contact = newContact;

                //Add new Merchant Principal
                if (txtPrincipalDLNumber.Text != "") { newMerchantPrincipal.PrincipalDLNumber = PWDTK.StringToUtf8Bytes(txtPrincipalDLNumber.Text); }
                if (ddlPrincipalDLState.SelectedValue != "")
                {
                    Int32 dlStateId = Convert.ToInt32(ddlPrincipalDLState.SelectedValue);
                    newMerchantPrincipal.PrincipalDLState = _globalCtx.GeoStates.Where(gs => gs.RecordId == dlStateId).FirstOrDefault();
                }
                if (radPrincipalDoB.SelectedDate.HasValue) { newMerchantPrincipal.PrincipalDoB = Convert.ToDateTime(radPrincipalDoB.SelectedDate); }
                if (txtPrincipalPctOwn.Text != "") { newMerchantPrincipal.PrincipalPctOwn = Convert.ToInt32(txtPrincipalPctOwn.Text); }

                _globalCtx.MerchantPrincipal.Add(newMerchantPrincipal);

                //Create new contact for Merchant Principal
                if (txtPrincipalFirstName.Text != "") { newMerchantPrincipalContact.FirstName = txtPrincipalFirstName.Text; }
                if (txtPrincipalLastName.Text != "") { newMerchantPrincipalContact.LastName = txtPrincipalLastName.Text; }
                if (txtPrincipalMI.Text != "") { newMerchantPrincipalContact.MiddleInitial = txtPrincipalMI.Text; }
                if (txtPrincipalTitle.Text != "") { newMerchantPrincipalContact.Title = txtPrincipalTitle.Text; }
                if (txtPrincipalCellPhone.Text != "") { newMerchantPrincipalContact.CellPhone = txtPrincipalCellPhone.Text; }
                if (txtPrincipalHomePhone.Text != "") { newMerchantPrincipalContact.HomePhone = txtPrincipalHomePhone.Text; }

                _globalCtx.Contacts.Add(newMerchantPrincipalContact);

                //Create new address for Merchant principal Contact
                if (txtPrincipalAddress.Text != "") { newMerchantPrincipalContactAddress.Address = txtPrincipalAddress.Text; }
                if (txtPrincipalCity.Text != "") { newMerchantPrincipalContactAddress.City = txtPrincipalCity.Text; }
                if (ddlPrincipalState.SelectedValue != "")
                {
                    Int32 mpcStateId = Convert.ToInt32(ddlPrincipalState.SelectedValue);
                    newMerchantPrincipalContactAddress.State = _globalCtx.GeoStates.Where(gs => gs.RecordId == mpcStateId).FirstOrDefault();
                }
                if (txtPrincipalZip.Text != "") { newMerchantPrincipalContactAddress.Zip = txtPrincipalZip.Text; }

                _globalCtx.Addresses.Add(newMerchantPrincipalContactAddress);

                //Add new address to Merchant Principal Contact
                newMerchantPrincipalContact.Address = newMerchantPrincipalContactAddress;

                //Add new Contact to Merchant Principal
                newMerchantPrincipal.Contact = newMerchantPrincipalContact;

                //Add new Principal to the new merchant
                newMerchant.MerchantPrincipal = newMerchantPrincipal;

                //Check if merchant processor already exists, if so link to merchant.  If not, create it and add to merchant.
                if (txtCardProcessor.Text != "")
                {
                    if (_globalCtx.Processor.Where(p => p.ProcessorName == txtCardProcessor.Text.Trim()).ToList().Count > 0)
                    {
                        newMerchant.Processor = _globalCtx.Processor.First(p => p.ProcessorName == txtCardProcessor.Text.Trim());
                    }
                    else
                    {
                        newProcessor.ProcessorName = txtCardProcessor.Text.Trim();
                        _globalCtx.Processor.Add(newProcessor);
                        newMerchant.Processor = newProcessor;
                    }
                }

                _globalCtx.Banks.Add(newBankModel);

                newBankAccountModel.Bank = newBankModel;
                newDebitCard.Bank = newBankModel;

                _globalCtx.BankAccounts.Add(newBankAccountModel);
                _globalCtx.DebitCards.Add(newDebitCard);

                newMerchant.BankAccount = newBankAccountModel;
                newMerchant.DebitCard = newDebitCard;

                //Set Merchant Status to "Admin Registered"
                newMerchant.MerchantStatus = _globalCtx.MerchantStatuses.FirstOrDefault(ms => ms.StatusDescription == "Pre-Enrolled");

                //Set Underwriting Status to "Pending"
                newMerchant.UnderwritingStatus = _globalCtx.UnderwritingStatuses.FirstOrDefault(ms => ms.StatusDescription == "Pending");

                newMerchant.AdvancePlan = _globalCtx.AdvancePlans.First(ap => ap.DefaultPlan == true);

                //Add new Merchant to context
                _globalCtx.Merchants.Add(newMerchant);

                //Add new merchant to selected User
                if (txtSelectedUserName.Text != "")
                {
                    var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(_globalCtx));
                    ApplicationUser selectedUser = manager.FindByName(txtSelectedUserName.Text);
                    if (selectedUser != null)
                    {
                        selectedUser.Merchant = newMerchant;

                        //Save Context and Update DB
                        _globalCtx.SaveChanges();
                    }
                }
                else
                {
                    lblSubmissionMessage.Text = "Please select a User to join with this merchant.";
                    return false;
                }
            }
            catch (System.Exception ex)
            {
                _newLogic.WriteExceptionToDB(ex, "AdminSubmitForm - Add Data to DB");
                return false;
            }

            return true;
        }