public void TestSameSequence() { var bank1 = new BankDepartment { Name = "Bank1", Address = "Address1" }; var bank2 = new BankDepartment { Name = "Bank2", Address = "Address2" }; var bank3 = new BankDepartment { Name = "Bank1", Address = "Address1" }; var sourceList = new List <BankDepartment> { bank3 }; var banks = new List <BankDepartment> { bank1, bank2 }; sourceList.IncludeSequence(banks); Assert.IsNotNull(sourceList); Assert.AreEqual(2, sourceList.Count); }
public void TestNullableNameSourceInput() { var bank1 = new BankDepartment { Address = null, Name = "Name1" }; var departments = new List <BankDepartment> { bank1, new BankDepartment { Address = "Address2", Name = "Name2" } }; var result = departments.FindDepartmentInSequence(new BankDepartment { Name = "Name1", Address = "Address1" }); Assert.IsNull(result); }
public void TestDifferenceSequence() { var bank1 = new BankDepartment { Name = "Bank1", Address = "Address1" }; var bank2 = new BankDepartment { Name = "Bank2", Address = "Address2" }; var bank3 = new BankDepartment { Name = "bank3", Address = "Address3" }; var sourceList = new List <BankDepartment> { bank3 }; var banks = new List <BankDepartment> { bank1, bank2 }; sourceList.IncludeSequence(banks); Assert.IsNotNull(sourceList); Assert.AreEqual(3, sourceList.Count); Assert.IsTrue(sourceList[0].EqualsByNameAndAddress(bank3)); Assert.IsTrue(sourceList[1].EqualsByNameAndAddress(bank1)); Assert.IsTrue(sourceList[2].EqualsByNameAndAddress(bank2)); }
public void TestCorrectInput() { var bank1 = new BankDepartment { Address = "Address1", Name = "Name1" }; var departments = new List <BankDepartment> { bank1, new BankDepartment { Address = "Address2", Name = "Name2" } }; var result = departments.FindDepartmentInSequence(new BankDepartment { Name = "Name1", Address = "Address1" }); Assert.IsNotNull(result); Assert.AreEqual(result, bank1); }
public void TestSameSequenceWithDifferenceCurrencyRates() { var bank1 = new BankDepartment { Name = "Bank1", Address = "Address1", CurrencyRateByTime = new List <CurrencyRateByTime> { new CurrencyRateByTime { Purchase = 1, Sale = 1 } } }; var bank2 = new BankDepartment { Name = "Bank2", Address = "Address2", CurrencyRateByTime = new List <CurrencyRateByTime> { new CurrencyRateByTime { Purchase = 2, Sale = 2 } } }; var bank3 = new BankDepartment { Name = "Bank1", Address = "Address1", CurrencyRateByTime = new List <CurrencyRateByTime> { new CurrencyRateByTime { Purchase = 3, Sale = 3 } } }; var sourceList = new List <BankDepartment> { bank3 }; var banks = new List <BankDepartment> { bank1, bank2 }; sourceList.IncludeSequence(banks); Assert.IsNotNull(sourceList); Assert.AreEqual(2, sourceList.Count); Assert.AreEqual(2, bank3.CurrencyRateByTime.Count); Assert.AreEqual(1, bank2.CurrencyRateByTime.Count); }
private static List <CurrencyRateByTime> InitializeList() { var bank1 = new Bank { Name = "Bank1", Id = 1, BankDepartment = new List <BankDepartment>() }; var city1 = new City { Id = 1, Name = "City1", BankDepartment = new List <BankDepartment>() }; var bankDepartment = new BankDepartment { Address = "BankDepartment 1 address", Id = 1, Name = "BankDepartment1", Bank = bank1, BankId = bank1.Id, CurrencyRateByTime = new List <CurrencyRateByTime>(), CityId = city1.Id, City = city1 }; bank1.BankDepartment.Add(bankDepartment); city1.BankDepartment.Add(bankDepartment); var currency1 = new Currency { Id = 1, Name = "Currency1", CurrencyRateByTime = new List <CurrencyRateByTime>() }; var currencyRate1 = new CurrencyRateByTime { Id = 1, BankDepartment = bankDepartment, BankDepartmentId = bankDepartment.Id, Purchase = 1, Sale = 1.1, DateTime = DateTime.UtcNow, CurrencyId = currency1.Id, Currency = currency1 }; currency1.CurrencyRateByTime.Add(currencyRate1); var currencyRates = new List <CurrencyRateByTime> { currencyRate1 }; return(currencyRates); }
public void TestEmptyInputEquals() { var department = new BankDepartment { Address = "Address1", Name = "Name1" }; var result = department.Equals(new BankDepartment()); Assert.IsFalse(result); }
public void TestNullableInputEquals() { var department = new BankDepartment { Address = "Address1", Name = "Name1" }; var result = department.EqualsByNameAndAddress(null); Assert.IsFalse(result); }
public void TestNullableNameSourceInputEquals() { var bank1 = new BankDepartment { Address = null, Name = "Name1" }; var result = bank1.EqualsByNameAndAddress(new BankDepartment { Name = "Name1", Address = "Address1" }); Assert.IsFalse(result); }
public void TestCorrectInputEquals() { var bank1 = new BankDepartment { Address = "Address1", Name = "Name1" }; var result = bank1.EqualsByNameAndAddress(new BankDepartment { Name = "Name1", Address = "Address1" }); Assert.IsTrue(result); }
public static void addNewDepartment(string placeId) { BankDepartment newDepartment = findDepartment(placeId); //не добавляем отделения повторно if (newDepartment != null) { return; } PlaceInfo departmentInfo = DataSource.getPlaceInfo(placeId); if (departmentInfo.result == null) { return; } string bankName = getBankName(departmentInfo.result.name); //не добавляем в базу не известные нам банки if (bankName.Contains("unknown")) { return; } Bank bank = findBank(bankName); if (bank == null) { bank = addNewBank(bankName); } newDepartment = new BankDepartment() { GoogleId = placeId, Name = departmentInfo.result.name, LocationLat = departmentInfo.result.geometry.location.lat, LocationLng = departmentInfo.result.geometry.location.lng, Bank = bank }; db.Departments.Add(newDepartment); bank.Departments.Add(newDepartment); db.SaveChanges(); }
public static void getData() { List <string> placesId = DataSource.getDefaultPlacesId(); Console.WriteLine(placesId.Count + " banks found"); //провереям есть ли такое отделение в нашей базе foreach (string placeId in placesId) { BankDepartment newDepartment = findDepartment(placeId); if (newDepartment == null) { addNewDepartment(placeId); } } db.SaveChanges(); }
public void TestEmptySourceSequence() { var bankDepartment1 = new BankDepartment() { Name = "BankDepartment1" }; var bankDepartment2 = new BankDepartment() { Name = "BankDepartment2" }; var sourceList = new List <BankDepartment>(); var bankDepartments = new List <BankDepartment> { bankDepartment1, bankDepartment2 }; sourceList.IncludeSequence(bankDepartments); Assert.IsNotNull(sourceList); Assert.AreEqual(2, sourceList.Count); }
public static bool EqualsByNameAndAddress(this BankDepartment firstDepartment, BankDepartment secondDepartment) { if (secondDepartment == null) { throw new NullReferenceException(); } if (secondDepartment.Name == null && secondDepartment.Address == null) { return(firstDepartment.Name == null && firstDepartment.Address == null); } if (secondDepartment.Name == null) { return(firstDepartment.Name == null && firstDepartment.Address.Contains(secondDepartment.Address)); } if (secondDepartment.Address == null) { return(firstDepartment.Address == secondDepartment.Address && firstDepartment.Name.Contains(secondDepartment.Name)); } return ((firstDepartment.Name?.Contains(secondDepartment.Name) ?? false) && (firstDepartment.Address?.Contains(secondDepartment.Address) ?? false)); }
// The logic and models depends on the file template private async void saveToDBAsync() { string templ = comboBox2?.SelectedItem?.ToString(); switch (templ) { case "Процессы банка": await Task.Run(() => { List <string> bankDepartments = new List <string>(); // patterns for process code string patternTheme = @"^\w?[0-9]+$"; // 2 hierarchy level string patternAction = @"^\w?[0-9]+\.[0-9]+$"; // 3 hierarchy level string patternProcess = @"^\w?[0-9]+\.[0-9]+\.[0-9]+$"; // 4 hierarchy level using (BankProcessContext bankProcessDB = new BankProcessContext()) { // actual models object // 1 hierarchy level BankProcType bankProcType = null; // 2 hierarchy level BankTheme bankTheme = null; // 3 hierarchy level BankAction bankAction = null; // 4 hierarchy level BankProcess bankProcess = null; // catalog BankDepartment bankDepartment = null; // file processing foreach (BankProcCSV bankProc in filesLoaded[templ]) { if (bankProc.Department == "") { if (bankProc.Id == "" && bankProcessDB.BankProcTypes.FirstOrDefault(p => p.Name == bankProc.Name) == null) { // Row to BankProcTypes (1 lvl) bankProcType = new BankProcType { Name = bankProc.Name }; bankProcessDB.BankProcTypes.Add(bankProcType); } else { if (Regex.IsMatch(bankProc.Id, patternTheme) && bankProcessDB.BankThemes.FirstOrDefault(p => p.Code == bankProc.Id) == null) { // Row to BankThemes (2 lvl) bankTheme = new BankTheme { Name = bankProc.Name, Code = bankProc.Id, BankProcType = bankProcType }; bankProcessDB.BankThemes.Add(bankTheme); } if (Regex.IsMatch(bankProc.Id, patternAction) && bankProcessDB.BankActions.FirstOrDefault(p => p.Code == bankProc.Id) == null) { // Row to BankActions (3 lvl) bankAction = new BankAction { Name = bankProc.Name, Code = bankProc.Id, BankTheme = bankTheme }; bankProcessDB.BankActions.Add(bankAction); } } } else { if (bankProc.Id != "") { if (Regex.IsMatch(bankProc.Id, patternProcess) && bankProcessDB.BankProcesses.FirstOrDefault(p => p.Code == bankProc.Id) == null) { // Row to BankProcesses (4 lvl) if (!bankDepartments.Contains(bankProc.Department)) { // Row to BankDepartments (catalog) bankDepartments.Add(bankProc.Department); bankDepartment = new BankDepartment { Name = bankProc.Department }; bankProcessDB.BankDepartments.Add(bankDepartment); } else { bankDepartment = bankProcessDB.BankDepartments.FirstOrDefault(d => d.Name == bankProc.Department); } bankProcess = new BankProcess { Name = bankProc.Name, Code = bankProc.Id, BankAction = bankAction, BankDepartment = bankDepartment }; bankProcessDB.BankProcesses.Add(bankProcess); } } else { // Logic for empty Rows from file } } bankProcessDB.SaveChanges(); } } }); comboBox1.Items.AddRange(new string[] { "BankProcTypes", "BankThemes", "BankActions", "BankProcesses", "BankDepartments" }); comboBox1.SelectedItem = "BankProcesses"; label6.Text = "Файл сохранен в БД"; break; default: label6.Text = "Укажите шаблон"; break; } }
public static BankDepartment FindDepartmentInSequence(this IEnumerable <BankDepartment> departments, BankDepartment department) { if (department == null) { throw new NullReferenceException(); } return(departments.FirstOrDefault(x => x.EqualsByNameAndAddress(department))); }