private StaffMemberViewModel GetStaffMember(long id) { var model = new StaffMemberViewModel() { StatusMessage = StatusMessage }; model.Titles = Title.GetTitles(_context.Titles.Where(c => c.Id > 0).OrderBy(x => x.Value).ToList()); model.UserDetails = _context.UserDetails.Include(x => x.Company).Include(x => x.Profile).Include(x => x.UserContact).SingleOrDefault(x => x.Id == id); model.Customer = new Customer() { Company = model.UserDetails.Company }; if (model.UserDetails.Company.UserId == model.UserDetails.UserId) { model.IsCompanyContact = true; model.Customer.Company.UserId = model.UserDetails.UserId; } model.UserRoles = GetStaffRoles(); model.Companies = GetCompanies(model.UserDetails.CompanyId); return(model); }
public AddEditStaff(StaffMemberViewModel Staff) { aesVM = new AddEditStaffViewModel(Staff, false); DataContext = aesVM; aesVM.ClosingRequest += (sender, e) => this.Close(); InitializeComponent(); }
public ResolveEveningConflicts(StaffMemberViewModel staffMember, List <EveningJob>[] possibleSelections) { WindowStyle = WindowStyle.None; recvm = new ResolveEveningConflictsViewModel(staffMember, possibleSelections); DataContext = recvm; recvm.ClosingRequest += (sender, e) => this.Close(); InitializeComponent(); }
public AddEditStaff(List <Preference> preferences) { var member = new StaffMemberViewModel(new StaffMember("", 0, DateTime.Today, "", "", preferences, "")); aesVM = new AddEditStaffViewModel(member, true); DataContext = aesVM; aesVM.ClosingRequest += (sender, e) => this.Close(); InitializeComponent(); }
public ActionResult SaveWaiter(StaffMemberViewModel viewModel) { var action = new SaveWaiterAction <ActionResult>(ServiceRegistry) { OnSuccess = () => RedirectToAction("ManageWaiters"), OnFailure = (errors) => EditFailed(viewModel.Staff.Id, errors) }; return(action.Invoke(viewModel, ResolveRestaurantId())); }
public ActionResult Details(int?id) { var customer = dbContext.Patient.SingleOrDefault(c => c.Id == id); if (customer == null) { return(HttpNotFound()); } var viewModel = new StaffMemberViewModel { Patients = customer, StaffRoles = dbContext.JobRole.ToList() }; return(View(viewModel)); }
public T Invoke(StaffMemberViewModel viewModel, int restaurantId) { Guard.InstanceNotNull(OnSuccess, "OnSuccess"); Guard.InstanceNotNull(OnFailure, "OnFailure"); Guard.InstanceNotNull(viewModel, "viewModel"); var request = new SaveWaiterRequest { Staff = viewModel.Staff, RestaurantId = restaurantId, StaffMemberHasEmailAddress = !viewModel.StaffMemberHasNoEmailAddress }; var saveWaiterResponse = serviceRegistry.StaffService.SaveStaff(request); return(saveWaiterResponse.NotificationCollection.HasErrors() ? OnFailure(saveWaiterResponse.NotificationCollection) : OnSuccess()); }
// GET: Staffs public ActionResult Index() { if (Convert.ToString(Session["type"]) != "STAFF") { return(Redirect("/Home")); } var staffview = new StaffMemberViewModel { Donors = db.DonorPersonalDetails.AsEnumerable(), Donations = db.Donations.AsEnumerable(), BloodRequests = db.BloodRequests.AsEnumerable(), users = db.AspNetUsers.AsEnumerable(), Clinics = db.Clinics.AsEnumerable(), Centres = db.Centres.AsEnumerable() }; return(View(staffview)); }
public ResolveEveningConflictsViewModel(StaffMemberViewModel member, List <EveningJob>[] possibleSelections) { Continue = new DelegateCommand(ExecuteContinue, CanExcecuteContinue); NightConflicts = new ObservableCollection <NightConflictViewModel>(); staffMemberViewModel = member; RaisePropertyChanged(nameof(Name)); for (int i = 0; i < 6; i++) { if (possibleSelections[i].Count < 2) { continue; } NightConflicts.Add(new NightConflictViewModel(Continue) { PossibleOptions = new ObservableCollection <string>(possibleSelections[i].Select(x => x.ToString())), Day = (DayOfWeek)i, }); } }
public async Task <IActionResult> StaffContact(StaffMemberViewModel model) { var userContactInDb = _context.UserContacts.SingleOrDefault(x => x.Id == model.UserDetails.UserContactId); var user = await _userManager.FindByIdAsync(model.UserDetails.UserId); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } userContactInDb.Email = model.UserDetails.UserContact.Email; userContactInDb.MobilePhone = model.UserDetails.UserContact.MobilePhone; userContactInDb.OtherPhone = model.UserDetails.UserContact.OtherPhone; userContactInDb.WorkPhone = model.UserDetails.UserContact.WorkPhone; userContactInDb.BuildingNumber = model.UserDetails.UserContact.BuildingNumber; userContactInDb.AddressLine1 = model.UserDetails.UserContact.AddressLine1; userContactInDb.AddressLine2 = model.UserDetails.UserContact.AddressLine2; userContactInDb.PostTown = model.UserDetails.UserContact.PostTown; userContactInDb.County = model.UserDetails.UserContact.County; userContactInDb.Country = model.UserDetails.UserContact.Country; userContactInDb.Postcode = model.UserDetails.UserContact.Postcode; _context.Update(userContactInDb); var userInDb = _context.Users.SingleOrDefault(x => x.Id == model.UserDetails.UserId); var email = user.Email; if (model.UserDetails.UserContact.Email != email) { var setEmailResult = await _userManager.SetEmailAsync(user, model.UserDetails.UserContact.Email); if (!setEmailResult.Succeeded) { throw new ApplicationException($"Unexpected error occurred setting email for user with ID '{user.Id}'."); } } _context.SaveChanges(); return(View(GetStaffMember(model.UserDetails.Id))); }
public IActionResult StaffDetail(StaffMemberViewModel model) { var userInDb = _context.UserDetails.SingleOrDefault(x => x.Id == model.UserDetails.Id); var companyInDb = _context.CompanyDetails.SingleOrDefault(x => x.Id == model.UserDetails.Company.Id); userInDb.ForeName = model.UserDetails.ForeName; userInDb.Surname = model.UserDetails.Surname; userInDb.Name = model.UserDetails.ForeName + " " + model.UserDetails.Surname; userInDb.Title = model.UserDetails.Title; userInDb.ProfileId = model.UserDetails.Profile.Id; if (userInDb.CompanyId != companyInDb.Id) { userInDb.CompanyId = companyInDb.Id; var contactCompany = _context.CompanyDetails.SingleOrDefault(x => x.UserId == userInDb.UserId); if (contactCompany != null) { contactCompany.UserId = null; _context.Update(contactCompany); } } _context.Update(userInDb); if (model.IsCompanyContact && companyInDb.UserId != model.UserDetails.UserId) { // set user as company contact companyInDb.UserId = model.UserDetails.UserId; _context.Update(companyInDb); } _context.SaveChanges(); return(View(GetStaffMember(model.UserDetails.Id))); }
public T Invoke(int restaurantId, int?waiterId = null) { Guard.InstanceNotNull(OnComplete, "OnComplete"); var viewModel = new StaffMemberViewModel(); if (waiterId.IsNotNull()) { var response = serviceRegistry.StaffService.LoadStaffMember(new LoadStaffMemberRequest { StaffId = waiterId.Value, RestaurantId = restaurantId }); if (response.IsNotNull() && response.Staff.IsNotNull()) { viewModel.Staff = response.Staff; viewModel.EditMode = true; viewModel.StaffMemberHasNoEmailAddress = response.Staff.HasNoEmailAddress; } else { viewModel.Notifications.AddError("Failed to load staff member."); } } else { viewModel.Staff = new StaffDto(); } var collectionResponse = serviceRegistry.StaffService.LoadStaffTypes(); viewModel.StaffTypes = collectionResponse.StaffTypes; return(OnComplete.Invoke(viewModel)); }
public AddEditStaffViewModel(StaffMemberViewModel _staff, bool isNewStaff) { IsNewStaff = isNewStaff; selectedStaff = _staff; InitValues(); }