public async Task <IActionResult> IndexCompany() { var user = (Company)await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Nema korisnika sa zadanim ID-em '{_userManager.GetUserId(User)}'."); } var model = new IndexCompanyViewModel { Username = user.UserName, Name = user.Name, Address = user.Address, Email = user.Email, StatusMessage = StatusMessage, About = user.About, City = user.City, BussinesType = user.BussinesType, Established = user.Established, LogoLink = user.LogoLink, PhoneNumber = user.PhoneNumber, NumberOfEmployees = user.NumberOfEmployees, WebAddress = user.WebAddress }; return(View(model)); }
public async Task <ActionResult> Index(ManageMessageId?message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." : message == ManageMessageId.ProfileInfoUpdateSucess ? "Профилът е обновен успешно." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : ""; var userId = User.Identity.GetUserId(); var model = new IndexViewModel { HasPassword = HasPassword(), PhoneNumber = await UserManager.GetPhoneNumberAsync(userId), TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId), Logins = await UserManager.GetLoginsAsync(userId), BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId) }; if (User.IsInRole("Company")) { var company = _companyService.GetAll().First(x => x.UserId == userId); var viewModel = new IndexCompanyViewModel { UniqueNumber = company.UniqueNumber, Name = company.Name, MOL = company.MOL, Address = company.City, DDS = company.DDS, EIK = company.EIK }; return(View("IndexCompany", viewModel)); } else if (User.IsInRole("Driver")) { return(View("IndexDriver", model)); } else if (User.IsInRole("Dispatcher")) { UserManager <Models.ApplicationUser> userManager = new UserManager <Models.ApplicationUser>(new UserStore <Models.ApplicationUser>(new Models.ApplicationDbContext())); var user = userManager.FindById(User.Identity.GetUserId()); var viewModel = new IndexDispatcherViewModel { FirstName = user.FirstName, LastName = user.LastName, Telephone = user.PhoneNumber }; var dispatcher = _dispatcherService.GetAll().First(x => x.UserId == user.Id); var company = _companyService.GetAll().First(x => x.Id == dispatcher.Company.Id); viewModel.CompanyName = company.Name; return(View("IndexDispatcher", viewModel)); } else { return(View("IndexDriver", model)); } }
public ActionResult UpdateCompanyInfo(IndexCompanyViewModel viewModel) { var company = _companyService.UpdateCompany(viewModel.UniqueNumber, viewModel.Name, viewModel.MOL, viewModel.EIK, viewModel.DDS, viewModel.Address); var newViewModel = new IndexCompanyViewModel() { Address = company.City, DDS = company.DDS, EIK = company.EIK, MOL = company.MOL, UniqueNumber = company.UniqueNumber, Name = company.Name }; return(RedirectToAction("Index", new { message = ManageMessageId.ProfileInfoUpdateSucess })); }
private List <IndexCompanyViewModel> MapAllCompaniesView(List <Company> companies) { List <IndexCompanyViewModel> allCompanies = new List <IndexCompanyViewModel>(); foreach (var currentCompany in companies) { var company = new IndexCompanyViewModel { Id = currentCompany.Id, Name = currentCompany.Name, CreationDate = currentCompany.CreationDate, Headquarter = currentCompany.Headquarter, NumberOfEmployees = currentCompany.Employees.Count() }; allCompanies.Add(company); } return(allCompanies); }
public async Task <IActionResult> IndexCompany(IndexCompanyViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = (Company)await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Nema korisnika sa zadanim ID-em '{_userManager.GetUserId(User)}'."); } var email = user.Email; if (model.Email != email) { var x = _databaseContext.Individual.FirstOrDefault(g => g.Email == model.Email); var y = _databaseContext.Company.FirstOrDefault(g => g.Email == model.Email); if (x != null || y != null) { TempData[Constants.Message] = $"Korisnik s tim mailom već postoji.\n"; TempData[Constants.ErrorOccurred] = true; return(RedirectToAction(nameof(IndexIndividual))); } var setEmailResult = await _userManager.SetEmailAsync(user, model.Email); if (!setEmailResult.Succeeded) { throw new ApplicationException($"Neočekivana greška se javila prilikom postavljanja e-mail adrese korisnika s ID-em '{user.Id}'."); } var setUserNameResult = await _userManager.SetUserNameAsync(user, model.Email); if (!setEmailResult.Succeeded) { throw new ApplicationException($"Neočekivana greška se javila prilikom postavljanja e-mail adrese korisnika s ID-em '{user.Id}'."); } } var firstName = user.Name; if (model.Name != firstName) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.Name = model.Name; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var address = user.Address; if (model.Address != address) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.Address = model.Address; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var city = user.City; if (model.City != city) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.City = model.City; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var date = user.Established; if (model.Established != date) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.Established = model.Established; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var skills = user.About; if (model.About != skills) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.About = model.About; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var phone = user.PhoneNumber; if (model.PhoneNumber != phone) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.PhoneNumber = model.PhoneNumber; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var a = user.BussinesType; if (model.BussinesType != a) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.BussinesType = model.BussinesType; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var b = user.LogoLink; if (model.LogoLink != b) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.LogoLink = model.LogoLink; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var c = user.WebAddress; if (model.WebAddress != c) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.WebAddress = model.WebAddress; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var d = user.NumberOfEmployees; if (model.NumberOfEmployees != d) { Company appuser = _context.Company.FirstOrDefault(u => u.Id == user.Id); appuser.NumberOfEmployees = model.NumberOfEmployees; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } TempData[Constants.Message] = $"Vaš profil je promijenjen"; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(IndexCompany))); }