public async Task UpdateEmployeeFromCell(string header, ICell cell, Func <dynamic, Task <List <Employee> > > getEmp, Func <dynamic, Task <List <Department> > > getDept) { if (cell == null && cell.CellType == CellType.Blank) { return; } header = header.ToLower(); if (header == "code") { var code = cell.StringCellValue; var emp = await getEmp(new { Code = code }); if (emp.Count > 0) { messages.Add(MessageModel.CreateWarning("EMPLOYEE_CODE_EXISTED", header)); } this.code = code; } else if (header == "firstname") { person.firstname = cell.StringCellValue; } else if (header == "lastname") { person.lastname = cell.StringCellValue; } else if (header == "email") { person.email = cell.StringCellValue; } else if (header == "birthday") { person.birthday = cell.DateCellValue; } else if (header == "id-number") { person.identityNumber = cell.StringCellValue; } else if (header == "department") { var dept = await getDept(new { Code = cell.StringCellValue }); if (dept.Count > 0) { var curDept = dept.First(); this.dept = new DepartmentModel(curDept); } else { messages.Add(MessageModel.CreateError("INVALID DEPARMENT", header)); } } }
public async Task UpdateDepartmentFromCell(string header, ICell cell, Func <string, Task <ICollection <Department> > > getDept) { if (cell == null || cell.CellType == CellType.Blank) { return; } if (header == "code") { var curDept = await getDept(cell.StringCellValue); if (curDept != null) { messages.Add(MessageModel.CreateWarning("DEPARTMENT_CODE_EXISTED", header)); } code = cell.StringCellValue; } else if (header == "name") { name = cell.StringCellValue; } else if (header == "parent") { var parentValue = cell.StringCellValue; if (String.IsNullOrEmpty(parentValue)) { return; } var curParent = await getDept(parentValue); if (curParent.Count > 0) { SetParent(curParent.First()); } else { messages.Add(MessageModel.CreateError("INVALID DEPARMENT", header)); } } }