/// <summary> /// 初始修改信息 /// </summary> /// <param name="dto"></param> public void InitModify(BankCardDto dto) { ModifyBankCardDto = dto; BankBranch = dto.BankBranch; CardNo = dto.CardNo; SelectedBankInfo = Banks.FirstOrDefault(p => p.Name.Equals(dto.Name)); SelectedState = States.FirstOrDefault(p => p.State.Equals(dto.Province)); Citys = CityData.GetCity(dto.Province); SelectedCity = Citys.FirstOrDefault(p => p.City.Equals(dto.City)); IsAdded = false; }
private void ExcuteAddNewCategoryCommand() { var category = new Categories(NameTypes.Bank); category.ShowDialog(); var dialogueResult = category.DialogResult; if (dialogueResult != null && (bool)dialogueResult) { LoadBanks(); SelectedBank = Banks.FirstOrDefault(b => b.DisplayName.ToLower().Contains(category.TxtCategoryName.Text.ToLower())); } }
private void ExecuteAddNewAccountCommand() { SelectedFinancialAccount = new FinancialAccountDTO { WarehouseId = SelectedWarehouse.Id }; if (Banks != null) { var comercialBank = Banks.FirstOrDefault(b => b.DisplayName.ToLower().Contains("commercial")); SelectedBank = comercialBank ?? Banks.FirstOrDefault(); } AddNewAccountCommandVisibility = true; }
private void ExcuteAddNewCategoryCommand() { var category = new Categories(NameTypes.Bank); category.ShowDialog(); var dialogueResult = category.DialogResult; if (dialogueResult == null || !(bool)dialogueResult) { return; } LoadBanks(); SelectedBank = Banks.FirstOrDefault(); }
private void SelectBank() { if (inputModel.Bank == null || String.IsNullOrEmpty(InputModel.Bank.BankName)) { if (Banks.Count > 0) { SelectedBank = Banks[0]; } return; } var exist = Banks.FirstOrDefault(m => m.Name == inputModel.Bank.BankName); SelectedBank = exist; }
public void OnDialogOpened(IDialogParameters parameters) { if (parameters.TryGetValue("ShareInfo", out _issue)) { RaisePropertyChanged(nameof(Issue)); RaisePropertyChanged(nameof(Banks)); Title = $"{Issue.CompanyName} ({Issue.Action})"; SelectedBank = Banks?.FirstOrDefault(); Boid = _client.Me.Demat; Branch = BankDetails.BranchName; AccountNumber = BankDetails.AccountNumber; var disclaimer = _client.GetPurchaseDisclaimer(); Disclaimer = disclaimer?.FieldValue; } else { RequestClose?.Invoke(new DialogResult(ButtonResult.Abort)); return; } }
void ParseCounterparty(XmlNode node) { bool error = false; bool isVodInternalDuplicate = false; Counterparty counterparty = null; var codeAttr = node.Attributes["Код"]; if (codeAttr == null) { return; } var code1c = codeAttr.Value; counterparty = VodovozCounterparties.FirstOrDefault(x => x.Code1c == code1c); if (counterparty == null) { ErrorLog("Не загружен", code1c, "", "Не найден контрагент"); SkipedCounterparty++; return; } var internalNumberAttr = node.Attributes["ВремНомер"]; int internalNumber = 0; if (internalNumberAttr != null && int.TryParse(internalNumberAttr.Value, out internalNumber)) { //Убираем из словаря внутренний номер для нахождения дубликатов int buffer = 0; bool restoreDictionary = false; if (internalNumbers.ContainsKey(counterparty.Id)) { buffer = internalNumbers[counterparty.Id]; internalNumbers.Remove(counterparty.Id); restoreDictionary = true; } //Нахождение дубликата bool internalNumberExists = internalNumbers.ContainsValue(internalNumber); //Восстановление словаря if (restoreDictionary) { internalNumbers.Add(counterparty.Id, buffer); } //Отметка дубликата для испраления в дальнейшем if (internalNumberExists) { isVodInternalDuplicate = true; //Записываем номер для того чтобы отобразить его в логе counterparty.VodovozInternalId = internalNumber; } else { if (!internalNumbers.ContainsKey(counterparty.Id)) { internalNumbers.Add(counterparty.Id, internalNumber); } counterparty.VodovozInternalId = internalNumber; } } var nameAttr = node.Attributes["Наименование"]; if (nameAttr != null) { counterparty.Name = nameAttr.Value; string orgType = TryGetOrganizationType(counterparty.Name); if (!string.IsNullOrEmpty(orgType)) { counterparty.TypeOfOwnership = orgType; } } var fullNameAttr = node.Attributes["ОфициальноеНаименование"]; if (fullNameAttr != null) { counterparty.FullName = fullNameAttr.Value; } var innkppAttr = node.Attributes["ИНН"]; if (innkppAttr != null) { string innStr = GetINN(innkppAttr.Value); if (counterparty.TypeOfOwnership == "ИП" ? Regex.IsMatch(innStr, "^[0-9]{12,12}$") : Regex.IsMatch(innStr, "^[0-9]{10,10}$")) { counterparty.INN = innStr; } else if (!string.IsNullOrEmpty(innStr)) { ErrorLog("Загружен с ошибками", code1c, "", string.Format("Не корректный ИНН: {0}", innStr)); error = true; } string kppStr = GetKPP(innkppAttr.Value); if (Regex.IsMatch(kppStr, "^[0-9]{9,9}$")) { counterparty.KPP = kppStr; } else if (!string.IsNullOrEmpty(kppStr)) { ErrorLog("Загружен с ошибками", code1c, "", string.Format("Не корректный КПП: {0}", kppStr)); error = true; } } var personTypeAttr = node.Attributes["ВидКонтрагента"]; if (personTypeAttr != null) { var isJur = personTypeAttr.Value == "ЮрЛица" || personTypeAttr.Value == "СвоиЮрЛица"; counterparty.PersonType = isJur ? PersonType.legal : PersonType.natural; counterparty.PaymentMethod = isJur ? PaymentType.cashless : PaymentType.cash; } var addressAttr = node.Attributes["ФактАдрес"]; if (addressAttr != null) { counterparty.Address = addressAttr.Value; } var JurAddressAttr = node.Attributes["ЮрАдрес"]; if (JurAddressAttr != null) { counterparty.RawJurAddress = JurAddressAttr.Value; } var ringupPhoneAttr = node.Attributes["ТелДляОбзвона"]; if (ringupPhoneAttr != null) { counterparty.RingUpPhone = ringupPhoneAttr.Value; } var mailsAttr = node.Attributes["Почта"]; if (mailsAttr != null) { var mails = Regex.Matches(mailsAttr.Value.ToLower(), @"[a-z0-9-]{1,30}@[a-z0-9-]{1,65}.[a-z]{1,}"); for (int i = 0; i < mails.Count; i++) { if (!counterparty.Emails.Any(x => x.Address == mails[i].Value)) { counterparty.Emails.Add(new Email { Address = mails[i].Value }); } } } string comment = null; var commentAttr = node.Attributes["Комментариий"]; if (commentAttr != null) { if (string.IsNullOrEmpty(comment)) { comment = string.Format("\n{0}", commentAttr.Value); } else { comment += string.Format("\n{0}", commentAttr.Value); } } var phonesAttr = node.Attributes["Телефоны"]; if (phonesAttr != null) { if (string.IsNullOrEmpty(comment)) { comment = string.Format("\n{0}", phonesAttr.Value); } else { comment += string.Format("\n{0}", phonesAttr.Value); } } if (!string.IsNullOrEmpty(comment)) { counterparty.Comment = comment; } var accountAttr = node.Attributes["НомерСчета"]; var bikAttr = node.Attributes["БИК"]; if (accountAttr != null && bikAttr != null) { string accountNumber = accountAttr.Value; string bik = bikAttr.Value; Account account = counterparty.Accounts.FirstOrDefault(x => x.Number == accountNumber); if (account == null) { if (bik.Length == 8) { bik = string.Format("0{0}", bik); } if (!Regex.IsMatch(bik, "^[0-9]{9,9}$")) { ErrorLog("Загружен с ошибками", code1c, "", string.Format("Не корректный БИК: {0}", bik)); error = true; } if (!Regex.IsMatch(accountNumber, "^[0-9]{20,25}$") && !string.IsNullOrEmpty(accountNumber)) { ErrorLog("Загружен с ошибками", code1c, "", string.Format("Не корректный счет: {0}", accountNumber)); error = true; } else { Bank bank = Banks.FirstOrDefault(b => b.Bik == bik); if (bank != null) { account = new Account { Number = accountNumber, Owner = counterparty, Name = "Основной", InBank = bank, Inactive = false }; counterparty.Accounts.Add(account); counterparty.DefaultAccount = account; } else { ErrorLog("Загружен с ошибками", code1c, "", string.Format("Для счета : {0} не найден банк БИК: {1}", accountNumber, bik)); error = true; } } } } if (error) { ErrorsCounterparty++; } else { SuccessCounterparty++; } if (isVodInternalDuplicate) { CounterpatiesInternalDuplicateList.Add(counterparty); return; } CounterpatiesList.Add(counterparty); }