public ActionResult CreateEmployee(EmployeeVM model) { TextInfo textInfo = CultureInfo.CurrentCulture.TextInfo; if (!ModelState.IsValid) { using (BankDB bankDB = new BankDB()) { model.positionList = new SelectList(bankDB.EmployeeRoles.ToList(), "Id", "Name"); return(View(model)); } } using (BankDB bankDB = new BankDB()) { EmployeesDTO employeesDTO = new EmployeesDTO(); if (bankDB.Employees.Any(x => x.EmployeeLogin == model.EmployeeLogin)) { ModelState.AddModelError("loginExist", "Это имя занято, выберите другое"); return(View(model)); } employeesDTO.EmployeeName = textInfo.ToTitleCase(model.EmployeeName); employeesDTO.EmployeeSurname = textInfo.ToTitleCase(model.EmployeeSurname); employeesDTO.EmployeeAge = model.EmployeeAge; employeesDTO.EmployeeEmail = model.EmployeeEmail; employeesDTO.EmployeePhone = model.EmployeePhone; employeesDTO.EmployeeLogin = model.EmployeeLogin; employeesDTO.EmployeePassword = model.EmployeePassword; employeesDTO.EmployeePositionId = model.EmployeePositionId; EmployeeRoleDTO employeeRole = bankDB.EmployeeRoles.FirstOrDefault(x => x.Id == model.EmployeePositionId); employeesDTO.EmployeePosition = employeeRole.Name; employeesDTO.EmployeeSalary = model.EmployeeSalary; employeesDTO.ClientsCount = 0; bankDB.Employees.Add(employeesDTO); bankDB.SaveChanges(); int id = employeesDTO.EmployeeId; int roleId = bankDB.EmployeeRoles.Where(x => x.Name == employeeRole.Name).Select(x => x.Id).First(); ListEmployeeRoleDTO listRoleEmployee = new ListEmployeeRoleDTO() { EmployeeId = id, RoleEmployeeId = roleId }; bankDB.ListEmployeeRoles.Add(listRoleEmployee); bankDB.SaveChanges(); } TempData["OK"] = "Сотрудник добавлен"; return(RedirectToAction("Index")); }
public ActionResult EditCategory(CategoryVM categoryVM) { TextInfo text = CultureInfo.CurrentCulture.TextInfo; int id = categoryVM.Id; if (!ModelState.IsValid) { return(View(categoryVM)); } using (BankDB bankDB = new BankDB()) { CategoriesDTO categoriesDTO = bankDB.Categories.Find(id); if (bankDB.Categories.Where(x => x.Id != categoryVM.Id).Any(x => x.Name == categoryVM.Name)) { ModelState.AddModelError("nameExist", "Категория уже создана"); return(View(categoryVM)); } categoriesDTO.Name = text.ToTitleCase(categoryVM.Name); bankDB.SaveChanges(); } TempData["OK"] = "Категория изменена"; return(RedirectToAction("PageCategories")); }
public ActionResult CreateCategory(CategoryVM categoryVM) { TextInfo text = CultureInfo.CurrentCulture.TextInfo; if (!ModelState.IsValid) { return(View(categoryVM)); } using (BankDB bankDB = new BankDB()) { if (bankDB.Categories.Any(x => x.Name == categoryVM.Name)) { ModelState.AddModelError("catNameExist", "Эта категория уже создана"); return(View(categoryVM)); } CategoriesDTO categoriesDTO = new CategoriesDTO(); categoriesDTO.Name = text.ToTitleCase(categoryVM.Name); bankDB.Categories.Add(categoriesDTO); bankDB.SaveChanges(); } TempData["OK"] = "Категория создана"; return(View(categoryVM)); }
public ActionResult BlockClient(int idClient, string reason) { using (BankDB bankDB = new BankDB()) { ClientsDTO clientsDTO = bankDB.Clients.FirstOrDefault(x => x.ClientId == idClient); BlackListDTO blackListDTO = new BlackListDTO(); blackListDTO.ClientId = clientsDTO.ClientId; blackListDTO.Login = clientsDTO.ClientLogin; blackListDTO.Name = clientsDTO.ClientName; blackListDTO.Surname = clientsDTO.ClientSurname; blackListDTO.Email = clientsDTO.ClientEmail; blackListDTO.Phone = clientsDTO.ClientPhone; blackListDTO.Reason = reason; clientsDTO.BanStatus = true; bankDB.BlackLists.Add(blackListDTO); bankDB.SaveChanges(); } TempData["OK"] = "Клиент занесен в черный список"; return(RedirectToAction("Index")); }
public ActionResult CreatePage(PageVM pageVM) { if (!ModelState.IsValid) { using (BankDB bankDB = new BankDB()) { pageVM.categoryList = new SelectList(bankDB.Categories.ToList(), "Id", "Name"); return(View(pageVM)); } } using (BankDB bankDB = new BankDB()) { string description = null; PagesDTO pagesDTO = new PagesDTO(); pagesDTO.Title = pageVM.Title; if (string.IsNullOrWhiteSpace(pageVM.Description)) { description = pageVM.Title.Replace(" ", "-").ToLower(); } else { description = pageVM.Description.Replace(" ", "-").ToLower(); } if (bankDB.Pages.Any(x => x.Title == pageVM.Title)) { ModelState.AddModelError("titleExist", "Это имя страницы занято"); return(View(pageVM)); } else if (bankDB.Pages.Any(x => x.Description == pageVM.Description)) { ModelState.AddModelError("descrExist", "Этот адрес страницы занят"); return(View(pageVM)); } pagesDTO.Description = description; pagesDTO.Body = pageVM.Body; pagesDTO.SideBar = pageVM.Sidebar; pagesDTO.PageCategoryId = pageVM.PageCategoryId; CategoriesDTO categories = bankDB.Categories.FirstOrDefault(x => x.Id == pageVM.PageCategoryId); pagesDTO.PageCategory = categories.Name; bankDB.Pages.Add(pagesDTO); bankDB.SaveChanges(); } TempData["OK"] = "Страница создана"; return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { Account account = db.Accounts.Find(id); db.Accounts.Remove(account); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteCategory(int id) { using (BankDB bankDB = new BankDB()) { CategoriesDTO categoriesDTO = bankDB.Categories.Find(id); bankDB.Categories.Remove(categoriesDTO); bankDB.SaveChanges(); } TempData["OK"] = "Категория удалена"; return(RedirectToAction("PageCategories")); }
public ActionResult DeletePage(int id) { using (BankDB bankDB = new BankDB()) { PagesDTO pagesDTO = bankDB.Pages.Find(id); bankDB.Pages.Remove(pagesDTO); bankDB.SaveChanges(); } TempData["OK"] = "Страница удалена"; return(RedirectToAction("Index")); }
public ActionResult DeleteEmployee(int id) { using (BankDB bankDB = new BankDB()) { EmployeesDTO employeesDTO = bankDB.Employees.Find(id); bankDB.Employees.Remove(employeesDTO); bankDB.SaveChanges(); } TempData["OK"] = "Клиент удален"; return(RedirectToAction("Index")); }
public ActionResult Unblock(int id, int clientId) { using (BankDB bankDB = new BankDB()) { BlackListDTO blackList = bankDB.BlackLists.Find(id); ClientsDTO clientsDTO = bankDB.Clients.Find(clientId); clientsDTO.BanStatus = false; bankDB.BlackLists.Remove(blackList); bankDB.SaveChanges(); } TempData["OK"] = "Клиент восстановлен!"; return(RedirectToAction("Index")); }
public ActionResult EditClient(ClientProfileVM clientVM) { int id = clientVM.ClientId; using (BankDB bankDB = new BankDB()) { clientVM.employeeList = new SelectList(bankDB.Employees.ToList(), "EmployeeId", "EmployeeSurname"); } if (!ModelState.IsValid) { return(View(clientVM)); } using (BankDB bankDB = new BankDB()) { ClientsDTO clientsDTO = bankDB.Clients.Find(id); if (clientsDTO.EmployeeId != clientVM.EmployeeId) { EmployeesDTO oldEmployee = bankDB.Employees.Where(x => x.EmployeeId == clientsDTO.EmployeeId).First(); oldEmployee.ClientsCount -= 1; clientsDTO.EmployeeId = clientVM.EmployeeId; clientsDTO.Balance = clientVM.Balance; EmployeesDTO newEmployee = bankDB.Employees.FirstOrDefault(x => x.EmployeeId == clientVM.EmployeeId); newEmployee.ClientsCount += 1; clientsDTO.MyEmployee = $"{newEmployee.EmployeeName} {newEmployee.EmployeeSurname}"; bankDB.SaveChanges(); TempData["OK"] = "Информация изменена"; } } return(RedirectToAction("Index")); }
// GET: Currency public ActionResult Index() { List <CurrencyVM> currencyList = new List <CurrencyVM>(); using (BankDB bankDB = new BankDB()) { if (!bankDB.Currency.Any()) { NBU_data[] parsed = JsonConvert.DeserializeObject <NBU_data[]>(new WebClient { Encoding = Encoding.UTF8 }.DownloadString(@"https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?json")); CurrencyDTO currencyDTO = new CurrencyDTO(); foreach (var item in parsed) { currencyDTO.CurrencyName = item.txt; currencyDTO.CurrencyCharCode = item.cc; currencyDTO.CurrencyRate = item.rate; currencyDTO.ExchangeDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); bankDB.Currency.Add(currencyDTO); bankDB.SaveChanges(); } currencyList = bankDB.Currency.ToArray().OrderBy(x => x.CurrencyName).Select(x => new CurrencyVM(x)).ToList(); return(View(currencyList)); } else { var dateToday = DateTime.Now.ToShortDateString(); var exchangeDate = bankDB.Currency.Select(x => x.ExchangeDate).First().ToString("dd.MM.yyyy"); if (exchangeDate != dateToday) { NBU_data[] parsed = JsonConvert.DeserializeObject <NBU_data[]>(new WebClient { Encoding = Encoding.UTF8 }.DownloadString(@"https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?json")); foreach (var item in parsed) { CurrencyDTO currencyDTO = bankDB.Currency.FirstOrDefault(x => x.CurrencyCharCode == item.cc); currencyDTO.CurrencyName = item.txt; currencyDTO.CurrencyCharCode = item.cc; currencyDTO.CurrencyRate = item.rate; currencyDTO.ExchangeDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); bankDB.SaveChanges(); } currencyList = bankDB.Currency.ToArray().OrderBy(x => x.CurrencyName).Select(x => new CurrencyVM(x)).ToList(); return(View(currencyList)); } else { currencyList = bankDB.Currency.ToArray().OrderBy(x => x.CurrencyName).Select(x => new CurrencyVM(x)).ToList(); return(View(currencyList)); } } } }
public ActionResult EditEmployee(EmployeeProfileVM model) { if (!ModelState.IsValid) { using (BankDB bankDB = new BankDB()) { model.positionList = new SelectList(bankDB.EmployeeRoles.ToList(), "Id", "Name"); return(View(model)); } } if (!string.IsNullOrWhiteSpace(model.EmployeePassword)) { if (!model.EmployeePassword.Equals(model.ConfirmPassword)) { ModelState.AddModelError("errorPass", "Пароли не совпадают"); model.EmployeePassword = ""; model.ConfirmPassword = ""; return(View(model)); } } using (BankDB bankDB = new BankDB()) { TextInfo textInfo = CultureInfo.CurrentCulture.TextInfo; int id = model.EmployeeId; string email = model.EmployeeEmail; string phone = model.EmployeePhone; string login = model.EmployeeLogin; EmployeesDTO employeesDTO = bankDB.Employees.Find(id); if (bankDB.Employees.Where(x => x.EmployeeId != id).Any(x => x.EmployeeEmail == email)) { ModelState.AddModelError("emailExist", $"Адрес {email} занят"); return(View(model)); } else if (bankDB.Employees.Where(x => x.EmployeeId != id).Any(x => x.EmployeePhone == phone)) { ModelState.AddModelError("phoneExist", $"Номер {phone} занят"); return(View(model)); } else if (bankDB.Employees.Where(x => x.EmployeeId != id).Any(x => x.EmployeeLogin == login)) { ModelState.AddModelError("loginExist", $"Логин {login} занят"); return(View(model)); } employeesDTO.EmployeeName = textInfo.ToTitleCase(model.EmployeeName); employeesDTO.EmployeeSurname = textInfo.ToTitleCase(model.EmployeeSurname); employeesDTO.EmployeeAge = model.EmployeeAge; employeesDTO.EmployeeEmail = email; employeesDTO.EmployeePhone = phone; employeesDTO.EmployeeLogin = model.EmployeeLogin; employeesDTO.EmployeePositionId = model.EmployeePositionId; employeesDTO.EmployeeSalary = model.EmployeeSalary; EmployeeRoleDTO employeeRole = bankDB.EmployeeRoles.FirstOrDefault(x => x.Id == model.EmployeePositionId); employeesDTO.EmployeePosition = employeeRole.Name; if (!string.IsNullOrWhiteSpace(model.EmployeePassword)) { employeesDTO.EmployeePassword = model.EmployeePassword; } bankDB.SaveChanges(); } TempData["OK"] = "Профиль отредактирован"; return(RedirectToAction("Index")); }
public ActionResult CreateAccount(ClientVM clientVM) { Random random = new Random(); if (!ModelState.IsValid) { return(View("CreateAccount", clientVM)); } using (BankDB bankDB = new BankDB()) { if (bankDB.Clients.Any(x => x.ClientLogin == clientVM.ClientLogin)) { ModelState.AddModelError("loginExist", $"Логин {clientVM.ClientLogin} занят"); return(View("CreateAccount", clientVM)); } else if (bankDB.Clients.Any(x => x.ClientEmail == clientVM.ClientEmail)) { ModelState.AddModelError("emailExist", "Этот адрес занят"); return(View("CreateAccount", clientVM)); } else if (bankDB.Clients.Any(x => x.ClientPhone == clientVM.ClientPhone)) { ModelState.AddModelError("phoneExist", "Номер телефона уже используется"); return(View("CreateAccount", clientVM)); } Dictionary <int, string> Employee = new Dictionary <int, string>(); foreach (var item in bankDB.Employees.Where(x => x.EmployeePosition != "Администратор")) { Employee.Add(item.EmployeeId, $"{item.EmployeeName} {item.EmployeeSurname}"); } int employeeId = Employee.ElementAt(random.Next(0, Employee.Count)).Key; string manager = Employee[employeeId]; ClientsDTO clientsDTO = new ClientsDTO() { ClientName = clientVM.ClientName, ClientSurname = clientVM.ClientSurname, ClientAge = clientVM.ClientAge, ClientEmail = clientVM.ClientEmail, ClientPhone = clientVM.ClientPhone, ClientLogin = clientVM.ClientLogin, ClientPassword = clientVM.ClientPassword, EmployeeId = employeeId, MyEmployee = manager }; EmployeesDTO employeesDTO = bankDB.Employees.Find(employeeId); employeesDTO.ClientsCount += 1; bankDB.Clients.Add(clientsDTO); bankDB.SaveChanges(); int id = clientsDTO.ClientId; int role = clientsDTO.Balance < 50000 ? 1 : clientsDTO.Balance >= 50000 ? 2 : clientsDTO.Balance > 200000 ? 3 : 3; UserRoleDTO userRole = new UserRoleDTO() { UserId = id, RoleId = role }; bankDB.UserRoles.Add(userRole); bankDB.SaveChanges(); } TempData["OK"] = "Аккаунт создан"; return(RedirectToAction("Login", "Login")); }
public ActionResult EditClientProfile(ClientProfileVM clientProfile) { bool loginIsChanged = false; if (!ModelState.IsValid) { return(View("EditClientProfile", clientProfile)); } if (!string.IsNullOrEmpty(clientProfile.ClientPassword)) { if (!clientProfile.ClientPassword.Equals(clientProfile.ConfirmPassword)) { ModelState.AddModelError("errorPass", "пароли не совпадают"); clientProfile.ConfirmPassword = ""; clientProfile.ConfirmPassword = ""; return(View("EditClientProfile", clientProfile)); } } using (BankDB bankDB = new BankDB()) { string login = User.Identity.Name; if (login != clientProfile.ClientLogin) { login = clientProfile.ClientLogin; loginIsChanged = true; } if (bankDB.Clients.Where(x => x.ClientId != clientProfile.ClientId).Any(x => x.ClientLogin == login)) { ModelState.AddModelError("loginMatch", $"Логин {clientProfile.ClientLogin} занят"); return(View("EditClientProfile", clientProfile)); } else if (bankDB.Clients.Where(x => x.ClientId != clientProfile.ClientId).Any(x => x.ClientEmail == clientProfile.ClientEmail)) { ModelState.AddModelError("emailMatch", "Email занят"); return(View("EditClientProfile", clientProfile)); } else if (bankDB.Clients.Where(x => x.ClientId != clientProfile.ClientId).Any(x => x.ClientPhone == clientProfile.ClientPhone)) { ModelState.AddModelError("phoneMatch", "Телефон занят"); return(View("EditClientProfile", clientProfile)); } ClientsDTO clientsDTO = bankDB.Clients.Find(clientProfile.ClientId); clientsDTO.ClientName = clientProfile.ClientName; clientsDTO.ClientSurname = clientProfile.ClientSurname; clientsDTO.ClientAge = clientProfile.ClientAge; clientsDTO.ClientEmail = clientProfile.ClientEmail; clientsDTO.ClientPhone = clientProfile.ClientPhone; clientsDTO.ClientLogin = clientProfile.ClientLogin; if (!string.IsNullOrEmpty(clientProfile.ClientPassword)) { clientsDTO.ClientPassword = clientProfile.ClientPassword; } bankDB.SaveChanges(); } TempData["OK"] = "Данные обновлены"; if (!loginIsChanged) { return(View("EditClientProfile", clientProfile)); } else { return(RedirectToAction("LogOut")); } }
public ActionResult CreateEmployeeClient(ClientVM clientVM) { string login = User.Identity.Name; if (!ModelState.IsValid) { return(View("CreateEmployeeClient", clientVM)); } using (BankDB bankDB = new BankDB()) { EmployeesDTO employeesDTO = bankDB.Employees.FirstOrDefault(x => x.EmployeeLogin == login); if (bankDB.Clients.Any(x => x.ClientLogin == clientVM.ClientLogin)) { ModelState.AddModelError("loginExist", $"Логин {clientVM.ClientLogin} занят"); return(View("CreateEmployeeClient", clientVM)); } else if (bankDB.Clients.Any(x => x.ClientEmail == clientVM.ClientEmail)) { ModelState.AddModelError("emailExist", "Этот адрес занят"); return(View("CreateEmployeeClient", clientVM)); } else if (bankDB.Clients.Any(x => x.ClientPhone == clientVM.ClientPhone)) { ModelState.AddModelError("phoneExist", "Номер телефона уже используется"); return(View("CreateEmployeeClient", clientVM)); } int employeeId = employeesDTO.EmployeeId; string manager = $"{employeesDTO.EmployeeName} {employeesDTO.EmployeeSurname}"; ClientsDTO clientsDTO = new ClientsDTO() { ClientName = clientVM.ClientName, ClientSurname = clientVM.ClientSurname, ClientAge = clientVM.ClientAge, ClientEmail = clientVM.ClientEmail, ClientPhone = clientVM.ClientPhone, Balance = clientVM.Balance, Credit = clientVM.Credit, Deposit = clientVM.Deposit, ClientLogin = clientVM.ClientLogin, ClientPassword = clientVM.ClientPassword, EmployeeId = employeeId, MyEmployee = manager }; employeesDTO.ClientsCount += 1; bankDB.Clients.Add(clientsDTO); bankDB.SaveChanges(); int id = clientsDTO.ClientId; int role = clientsDTO.Balance < 50000 ? 1 : clientsDTO.Balance >= 50000 ? 2 : clientsDTO.Balance > 200000 ? 3 : 3; UserRoleDTO userRole = new UserRoleDTO() { UserId = id, RoleId = role }; bankDB.UserRoles.Add(userRole); bankDB.SaveChanges(); } TempData["OK"] = "Аккаунт создан"; return(RedirectToAction("manager-details", "Employees")); }