public async Task <IActionResult> Edit(int id, [Bind("EmployeeID,FirstName,LastName,BirthDate,Position,EmailAddress,Telephone,BusinessTelephone,AddressLine1,AddressLine2,City,State,Country,PostalCode")] vwBusinessContactDetail vwBusinessContactDetail) { if (id != vwBusinessContactDetail.EmployeeID) { return(NotFound()); } if (ModelState.IsValid) { var model = vwBusinessContactDetail; try { var vwPosition = _context.vwPositions.FirstOrDefault(i => i.Position == model.Position); int positionID = vwPosition.PositionID; int departmentID = vwPosition.DepartmentID; Employee employee = _context.Employees.Find(id); employee.FirstName = model.FirstName; employee.LastName = model.LastName; employee.BirthDate = model.BirthDate; employee.PositionID = positionID; _context.Employees.Update(employee); BusinessContact contact = _context.BusinessContacts.Find(employee.BusinessContactID); contact.EmailAddress = model.EmailAddress; contact.Telephone = model.Telephone; contact.BusinessTelephone = model.BusinessTelephone; _context.BusinessContacts.Update(contact); Address address = _context.Addresses.Find(contact.AddressID); address.AddressLine1 = model.AddressLine1; address.AddressLine2 = model.AddressLine2; address.City = model.City; address.State = model.State; address.Country = model.Country; address.PostalCode = model.PostalCode; _context.Addresses.Update(address); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!vwBusinessContactDetailExists(vwBusinessContactDetail.EmployeeID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["Position"] = new SelectList(_context.Positions, "Name", "Name", vwBusinessContactDetail.Position); return(View(vwBusinessContactDetail)); }
public EditEmployee(int id) { _positions = _context.Positions.OrderBy(i => i.PositionID); _departments = _context.Departments.OrderBy(i => i.DepartmentID); _employeeID = id; _data = _context.vwBusinessContactDetails.Find(_employeeID); InitializeComponent(); InitializeDropDownList(); InitializeFields(); }
public async Task <IActionResult> Create([Bind("EmployeeID,FirstName,LastName,BirthDate,Position,EmailAddress,Telephone,BusinessTelephone,AddressLine1,AddressLine2,City,State,Country,PostalCode")] vwBusinessContactDetail vwBusinessContactDetail) { if (ModelState.IsValid) { var model = vwBusinessContactDetail; var vwPosition = _context.vwPositions.FirstOrDefault(i => i.Position == model.Position); int positionID = vwPosition.PositionID; int departmentID = vwPosition.DepartmentID; Address address = new Address { AddressLine1 = model.AddressLine1, AddressLine2 = model.AddressLine2, City = model.City, State = model.State, Country = model.Country, PostalCode = model.PostalCode }; _context.Addresses.Add(address); _context.SaveChanges(); int addressID = _context.Addresses.Select(i => i.AddressID).Max(); BusinessContact contact = new BusinessContact { EmailAddress = model.EmailAddress, Telephone = model.Telephone, BusinessTelephone = model.BusinessTelephone, AddressID = addressID }; _context.BusinessContacts.Add(contact); _context.SaveChanges(); int contactID = _context.BusinessContacts.Select(i => i.BusinessContactID).Max(); Employee employee = new Employee() { FirstName = model.FirstName, LastName = model.LastName, BirthDate = model.BirthDate, NationalInsuranceNumber = "c6:8a:24:1f:f7:25", HireDate = DateTime.Now, PositionID = positionID, BusinessContactID = contactID }; _context.Employees.Add(employee); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Position"] = new SelectList(_context.Positions, "Name", "Name", vwBusinessContactDetail.Position); return(View(vwBusinessContactDetail)); }