public IActionResult Edit(int empId, bool isEdit) { var companyId = HttpContext.Session.GetInt32("company_id"); //If edit mode, bind employe of id passed else create //employee with manager with passed id if (isEdit) { var employee = employeeRepository.GetEmployeeInfo(empId, companyId); var empWithNoFile = new EmployeeWithFormPic() { Employee = employee }; return(View(empWithNoFile)); } else { var newEmployee = new Employee() { ManagerId = empId }; var employeeWithPicture = new EmployeeWithFormPic() { Employee = newEmployee }; return(View(employeeWithPicture)); } }
public async Task <IActionResult> Edit(EmployeeWithFormPic employeeWithPicture) { //If invalid form rerender to inform user. if (!ModelState.IsValid) { return(View()); } //If employee Id valid, update employee if not, create new one. if (employeeWithPicture.Employee.EmployeeId > 0) { //Save image data to db if image was uploaded if (employeeWithPicture.FormPicture != null) { using var memoryStream = new MemoryStream(); await employeeWithPicture.FormPicture.CopyToAsync(memoryStream); employeeWithPicture.Employee.EmployeePicture = new EmployeePicture() { Content = memoryStream.ToArray(), Name = employeeWithPicture.FormPicture.FileName, }; employeeRepository.UpdateEmployee(employeeWithPicture.Employee); } else { //Get previous employee picture if picture was not changed. var employeePicture = employeeRepository .GetEmployeeInfo(employeeWithPicture.Employee.EmployeeId, employeeWithPicture.Employee.CompanyId) .EmployeePicture; employeeWithPicture.Employee.EmployeePicture = employeePicture; employeeRepository.UpdateEmployee(employeeWithPicture.Employee); } return(RedirectToAction("Chart", "Diagram", employeeWithPicture.Employee.EmployeeId)); } else { var companyId = HttpContext.Session.GetInt32("company_id"); employeeWithPicture.Employee.CompanyId = companyId; //Save image data to db if image was uploaded if (employeeWithPicture.FormPicture != null) { using var memoryStream = new MemoryStream(); await employeeWithPicture.FormPicture.CopyToAsync(memoryStream); employeeWithPicture.Employee.EmployeePicture = new EmployeePicture() { Content = memoryStream.ToArray(), Name = employeeWithPicture.FormPicture.FileName }; } else { employeeWithPicture.Employee.EmployeePicture = new EmployeePicture(); } employeeRepository.AddEmployee(employeeWithPicture.Employee); return(RedirectToAction("Chart", "Diagram", employeeWithPicture.Employee.ManagerId)); } }