public async Task <IActionResult> UpdateEmployee(EmployeeViewModel evm) { if (!ModelState.IsValid) { return(BadRequest("Not a valid model")); } if (evm == null) { return(BadRequest("Object cannot be null")); } if (empContext.EmployeeExists(evm.EmployeeId) == false) { return(NotFound("Employee Not Found")); } // CONVERT CustomerModel TO Customer Employee emp = evm.ConvertToEmployee(); if (await empContext.UpdateEmployeeAsync(emp) == true) { return(Ok("Employee Updated")); } else { return(StatusCode(StatusCodes.Status500InternalServerError, "Failed due to some problem at backend.")); } }
public async Task <IActionResult> PostNewEmployee(EmployeeViewModel evm) { if (!ModelState.IsValid) { return(BadRequest("Not a valid model")); } // CONVERT EmployeeViewModel TO Employee Employee emp = evm.ConvertToEmployee(); if (await empContext.AddEmployeeAsync(emp) == true) { return(CreatedAtAction("PostNewCustomer", "Created")); } else { return(StatusCode(StatusCodes.Status500InternalServerError, "Failed due to some problem at backend.")); } }
public EmployeeResponse Create(EmployeeViewModel Employee) { EmployeeResponse response = new EmployeeResponse(); try { //Backup items List <EmployeeCardViewModel> employeeCards = Employee .EmployeeCards?.ToList() ?? new List <EmployeeCardViewModel>(); Employee.EmployeeCards = null; List <EmployeeDocumentViewModel> employeeDocuments = Employee .EmployeeDocuments?.ToList() ?? new List <EmployeeDocumentViewModel>(); Employee.EmployeeDocuments = null; List <EmployeeItemViewModel> employeeItems = Employee .EmployeeItems?.ToList() ?? new List <EmployeeItemViewModel>(); Employee.EmployeeItems = null; List <EmployeeLicenceItemViewModel> employeeLicences = Employee .EmployeeLicences?.ToList() ?? new List <EmployeeLicenceItemViewModel>(); Employee.EmployeeLicences = null; List <EmployeeNoteViewModel> employeeNotes = Employee .EmployeeNotes?.ToList() ?? new List <EmployeeNoteViewModel>(); Employee.EmployeeNotes = null; List <EmployeeProfessionItemViewModel> employeeProfessions = Employee .EmployeeProfessions?.ToList() ?? new List <EmployeeProfessionItemViewModel>(); Employee.EmployeeProfessions = null; Employee createdEmployee = unitOfWork.GetEmployeeRepository() .Create(Employee.ConvertToEmployee()); // Update items if (employeeCards != null && employeeCards.Count > 0) { foreach (EmployeeCardViewModel item in employeeCards .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <EmployeeCardViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; item.ItemStatus = ItemStatus.Submited; var createdItem = unitOfWork.GetEmployeeCardRepository().Create(item.ConvertToEmployeeCard()); } foreach (EmployeeCardViewModel item in employeeCards .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <EmployeeCardViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; unitOfWork.GetEmployeeCardRepository().Create(item.ConvertToEmployeeCard()); unitOfWork.GetEmployeeCardRepository().Delete(item.Identifier); } } // Update items if (employeeDocuments != null && employeeDocuments.Count > 0) { foreach (EmployeeDocumentViewModel item in employeeDocuments .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <EmployeeDocumentViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; item.ItemStatus = ItemStatus.Submited; var createdItem = unitOfWork.GetEmployeeDocumentRepository().Create(item.ConvertToEmployeeDocument()); } foreach (EmployeeDocumentViewModel item in employeeDocuments .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <EmployeeDocumentViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; unitOfWork.GetEmployeeDocumentRepository().Create(item.ConvertToEmployeeDocument()); unitOfWork.GetEmployeeDocumentRepository().Delete(item.Identifier); } } // Update items if (employeeItems != null && employeeItems.Count > 0) { foreach (EmployeeItemViewModel item in employeeItems .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <EmployeeItemViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; item.ItemStatus = ItemStatus.Submited; var createdItem = unitOfWork.GetEmployeeItemRepository().Create(item.ConvertToEmployeeItem()); } foreach (EmployeeItemViewModel item in employeeItems .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <EmployeeItemViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; unitOfWork.GetEmployeeItemRepository().Create(item.ConvertToEmployeeItem()); unitOfWork.GetEmployeeItemRepository().Delete(item.Identifier); } } // Update items if (employeeLicences != null && employeeLicences.Count > 0) { foreach (EmployeeLicenceItemViewModel item in employeeLicences .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <EmployeeLicenceItemViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; item.ItemStatus = ItemStatus.Submited; var createdItem = unitOfWork.GetEmployeeLicenceRepository().Create(item.ConvertToEmployeeLicence()); } foreach (EmployeeLicenceItemViewModel item in employeeLicences .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <EmployeeLicenceItemViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; unitOfWork.GetEmployeeLicenceRepository().Create(item.ConvertToEmployeeLicence()); unitOfWork.GetEmployeeLicenceRepository().Delete(item.Identifier); } } // Update items if (employeeNotes != null && employeeNotes.Count > 0) { foreach (EmployeeNoteViewModel item in employeeNotes .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <EmployeeNoteViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; item.ItemStatus = ItemStatus.Submited; var createdItem = unitOfWork.GetEmployeeNoteRepository().Create(item.ConvertToEmployeeNote()); } foreach (EmployeeNoteViewModel item in employeeNotes .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <EmployeeNoteViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; unitOfWork.GetEmployeeNoteRepository().Create(item.ConvertToEmployeeNote()); unitOfWork.GetEmployeeNoteRepository().Delete(item.Identifier); } } // Update items if (employeeProfessions != null && employeeProfessions.Count > 0) { foreach (EmployeeProfessionItemViewModel item in employeeProfessions .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <EmployeeProfessionItemViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; item.ItemStatus = ItemStatus.Submited; var createdItem = unitOfWork.GetEmployeeProfessionRepository().Create(item.ConvertToEmployeeProfession()); } foreach (EmployeeProfessionItemViewModel item in employeeProfessions .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <EmployeeProfessionItemViewModel>()) { item.Employee = new EmployeeViewModel() { Id = createdEmployee.Id }; unitOfWork.GetEmployeeProfessionRepository().Create(item.ConvertToEmployeeProfession()); unitOfWork.GetEmployeeProfessionRepository().Delete(item.Identifier); } } unitOfWork.Save(); response.Employee = createdEmployee.ConvertToEmployeeViewModel(); response.Success = true; } catch (Exception ex) { response.Employee = new EmployeeViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }