public EmployeeResponseVm[] GetEmployees() { var employees = _context.Employees.ToArray(); var employeeMapping = new EmployeeMapping(); return(employeeMapping.DataModelToRetrievalViewModel(employees)); }
public EmployeeMapping GetEmployee() { EmployeeMapping employees = null; employees = Manager.GetEmployee(); return(employees); }
public void EmployeeDataModelIsNullThenArgumentExceptionIsThrown() { //Arrange Employee employeeDataModel = null; var employeeMapping = new EmployeeMapping(); //Assert Assert.Throws <ArgumentException>(() => employeeMapping.DataModelToRetrievalViewModel(employeeDataModel)); }
public void MapsEmptyEmployeeDataModelArrayToEmployeeRetrievalViewModelArray() { //Arrange Employee[] employeeDataModelArray = { }; var employeeMapping = new EmployeeMapping(); //Act var employeeResponseVmArray = employeeMapping.DataModelToRetrievalViewModel(employeeDataModelArray); //Assert Assert.IsInstanceOf(typeof(EmployeeResponseVm[]), employeeResponseVmArray); }
public void MapsEmployeeDataModelToEmployeeRetrievalViewModelWhichIsNotNull() { //Arrange var employeeDataModel = new Employee { EmployeeId = 1, Email = "*****@*****.**", EmployeeNumber = 1, FullName = "John Doe", DOB = new DateTime(), StartDate = new DateTime(), Salary = 500000, ClubId = 1, LicenseId = 1 }; var employeeMapping = new EmployeeMapping(); //Act var employeeResponseVm = employeeMapping.DataModelToRetrievalViewModel(employeeDataModel); //Assert Assert.IsNotNull(employeeResponseVm); }
public void MapsEmployeeDataModelToEmployeeRetrievalViewModelHasAllRequiredDataMatching() { //Arrange var employeeDataModel = new Employee { EmployeeId = 1, Email = "*****@*****.**", EmployeeNumber = 1, FullName = "John Doe", DOB = new DateTime(), StartDate = new DateTime(), Salary = 500000, ClubId = 1, LicenseId = 1 }; var employeeMapping = new EmployeeMapping(); //Act var employeeResponseVm = employeeMapping.DataModelToRetrievalViewModel(employeeDataModel); //Assert Assert.AreEqual(employeeDataModel.EmployeeId, employeeResponseVm.EmployeeId); Assert.AreEqual(employeeDataModel.Email, employeeResponseVm.Email); Assert.AreEqual(employeeDataModel.EmployeeNumber, employeeResponseVm.EmployeeNumber); Assert.AreEqual(employeeDataModel.FullName, employeeResponseVm.FullName); Assert.AreEqual(employeeDataModel.DOB, employeeResponseVm.DOB); Assert.AreEqual(employeeDataModel.StartDate, employeeResponseVm.StartDate); Assert.AreEqual(employeeDataModel.Salary, employeeResponseVm.Salary); }
public Employee() : base("/api/employee") { EmployeeRequest request; EmployeeMapping employeeMapping; Get["/employee"] = parameters => { try { employeeMapping = new EmployeeMapping(); employeeMapping.Employee = new ManagementService.DTO.Data.Employee { }; request = new EmployeeRequest(new EmployeeEvents(), employeeMapping); employeeMapping = request.GetEmployee(); return(Response.AsJson(employeeMapping, HttpStatusCode.OK)); } catch (Exception ex) { return(new ErrorEvents().Set(this.Context, Negotiate, ex)); } }; }
public void MapsTwoEmployeeDataModelsInArrayToEmployeeRetrievalViewModelArrayWhichHasTwoElements() { //Arrange Employee[] employeeDataModelArray = { new Employee { EmployeeId = 1, Email = "*****@*****.**", EmployeeNumber = 1, FullName = "John Doe", DOB = new DateTime(), StartDate = new DateTime(), Salary = 500000, ClubId = 1, LicenseId = 1 }, new Employee { EmployeeId = 1, Email = "*****@*****.**", EmployeeNumber = 1, FullName = "John Doe", DOB = new DateTime(), StartDate = new DateTime(), Salary = 500000, ClubId = 1, LicenseId = 1 } }; var employeeMapping = new EmployeeMapping(); //Act var employeeResponseVm = employeeMapping.DataModelToRetrievalViewModel(employeeDataModelArray); //Assert Assert.AreEqual(2, employeeResponseVm.Length); }
public EmployeeRequest(IEmployeeEvents service, EmployeeMapping employeeMapping) { this._service = service; this._employeeMapping = employeeMapping; }
public void ProcessMonsterFile(string MonsterFile) { log.Info("Processing Monster File"); try { var columnList = string.Empty; var summary = new ERISSummary(); var fileReader = new FileReader(); var validate = new ValidateMonster(lookups); var em = new EmployeeMapping(); var save = new SaveData(); List <string> badRecords; var persID = 0; var sponsorship = ""; var monsterAction = ""; log.Info("Loading Monster File"); var MonsterData = fileReader.GetFileData <Employee, EmployeeMapping>(MonsterFile, out badRecords, em); ProcessResult updatedResults; //Start Processing the Monster Data foreach (Employee employeeData in MonsterData) { log.Info("Processing Data: " + employeeData.Person.MonsterID); //If there are critical errors write to the error summary and move to the next record log.Info("Checking for Critical errors for user: "******"Loading GCIMS Data"); var allGCIMSUpdatedData = retrieve.AllGCIMSUpdatedData(employeeData); var allGCIMSFlaggedData = retrieve.AllGCIMSFlaggeddData(employeeData); employeeData.Person.Name = employeeData.Person.FirstName + " " + employeeData.Person.MiddleName + " " + employeeData.Person.LastName + " " + employeeData.Person.Suffix; //Looking for matching record. log.Info("Looking for matching record: " + employeeData.Person.MonsterID); ReturnAction action = new ReturnAction(); ReturnRecords records = new ReturnRecords(); monsterAction = action.MonsterAction(employeeData); switch (monsterAction) { case "Update Record": if (!Helpers.AreEqualGcimsToMonster1(allGCIMSUpdatedData.FirstOrDefault(), employeeData, out columnList, ref log)) { log.Info("Update record for user: "******"Update record for user: "******"Potential Match": if (!Helpers.AreEqualGcimsToMonster2(allGCIMSFlaggedData.FirstOrDefault(), employeeData, out columnList, ref log)) { log.Info("Flagged record for user: "******"New Record": log.Info("Create record for user: "******"Total records " + String.Format("{0:#,###0}", MonsterData.Count)); log.Info("Records created: " + String.Format("{0:#,###0}", summary.CreatedRecordsProcessed.Count)); log.Info("Records updated: " + String.Format("{0:#,###0}", summary.UpdatedRecordsProcessed.Count)); log.Info("Records flagged: " + String.Format("{0:#,###0}", summary.FlaggedRecordsProcessed.Count)); log.Info("Records Invalid: " + String.Format("{0:#,###0}", summary.UnsuccessfulProcessed.Count)); summary.GenerateSummaryFiles(emailData); } //Catch all errors catch (Exception ex) { log.Error("Process Monster File Error:" + ex.Message + " " + ex.InnerException + " " + ex.StackTrace); } }
/// <summary> /// Get HR Data /// Loop HR Data /// Get GCIMS Record /// Update GCIMS Record /// </summary> /// <param name="hrFile"></param> public void ProcessHRFile(string HRFile) { log.Info("Processing HR Users"); try { Employee gcimsRecord; string columnList = string.Empty; List <Employee> usersToProcess; List <Employee> allGCIMSData; HRSummary summary = new HRSummary(); FileReader fileReader = new FileReader(); ValidateHR validate = new ValidateHR(lookups); Helpers helper = new Helpers(); SaveData save = new SaveData(); log.Info("Loading HR Links File"); EmployeeMapping em = new EmployeeMapping(lookups); List <string> badRecords; usersToProcess = fileReader.GetFileData <Employee, EmployeeMapping>(HRFile, out badRecords, em); AddBadREcordsToSummary(badRecords, ref summary); log.Info("Loading GCIMS Data"); allGCIMSData = retrieve.AllGCIMSData(); ProcessResult updatedResults; //Start Processing the HR Data foreach (Employee employeeData in usersToProcess) { log.Info("Processing HR User: "******"Looking for matching record: " + employeeData.Person.EmployeeID); gcimsRecord = RecordFound(employeeData, allGCIMSData); if ((gcimsRecord != null && (gcimsRecord.Person.EmployeeID != employeeData.Person.EmployeeID) && (!Convert.ToBoolean(ConfigurationManager.AppSettings["DEBUG"].ToString())))) { log.Info("Adding HR Links ID to record: " + gcimsRecord.Person.GCIMSID); save.InsertEmployeeID(gcimsRecord.Person.GCIMSID, employeeData.Person.EmployeeID); } //If no record found write to the record not found summary file if (gcimsRecord == null) { //Danger Will Robinson, Danger summary.RecordsNotFound.Add(new RecordNotFoundSummary { GCIMSID = -1, EmployeeID = employeeData.Person.EmployeeID, FirstName = employeeData.Person.FirstName, MiddleName = employeeData.Person.MiddleName, LastName = employeeData.Person.LastName, Suffix = employeeData.Person.Suffix }); } if (TerritoriesNotCountriesArray.Contains(employeeData.Birth.CountryOfBirth.ToLower()) && string.IsNullOrWhiteSpace(employeeData.Birth.StateOfBirth)) { switch (employeeData.Birth.CountryOfBirth.ToLower()) { case "rq": { employeeData.Birth.StateOfBirth = "PR"; } break; case "gq": { employeeData.Birth.StateOfBirth = "GU"; } break; case "vq": { employeeData.Birth.StateOfBirth = "VI"; } break; case "aq": { employeeData.Birth.StateOfBirth = "AS"; } break; default: { employeeData.Birth.StateOfBirth = ""; } break; } employeeData.Birth.CountryOfBirth = "US"; } //If there are critical errors write to the error summary and move to the next record log.Info("Checking for Critical errors for user: "******"Comparing HR and GCIMS Data: " + employeeData.Person.EmployeeID); if (!AreEqualGCIMSToHR(gcimsRecord, employeeData, out columnList)) { //Checking if the SSN are different if (employeeData.Person.SocialSecurityNumber != gcimsRecord.Person.SocialSecurityNumber) { summary.SocialSecurityNumberChanges.Add(new SocialSecurityNumberChangeSummary { GCIMSID = gcimsRecord.Person.GCIMSID, EmployeeID = employeeData.Person.EmployeeID, FirstName = employeeData.Person.FirstName, MiddleName = employeeData.Person.MiddleName, LastName = employeeData.Person.LastName, Suffix = employeeData.Person.Suffix, Status = gcimsRecord.Person.Status }); } log.Info("Copying objects: " + employeeData.Person.EmployeeID); helper.CopyValues <Employee>(employeeData, gcimsRecord, new string[] { "InitialResult", "InitialResultDate", "FinalResult", "FinalResultDate" }); log.Info("Checking if inactive record: " + employeeData.Person.EmployeeID); if (employeeData.Person.Status == "Inactive") { summary.InactiveRecords.Add(new InactiveSummary { GCIMSID = gcimsRecord.Person.GCIMSID, EmployeeID = employeeData.Person.EmployeeID, FirstName = employeeData.Person.FirstName, MiddleName = employeeData.Person.MiddleName, LastName = employeeData.Person.LastName, Suffix = employeeData.Person.Suffix, Status = employeeData.Person.Status }); log.Warn("Inactive Record: " + employeeData.Person.EmployeeID); } log.Info("Updating Record: " + employeeData.Person.EmployeeID); if (Convert.ToBoolean(ConfigurationManager.AppSettings["DEBUG"].ToString())) { updatedResults = new ProcessResult { Result = -1, Action = "Testing", Error = "SQL Error (Testing)" }; } else { updatedResults = save.UpdatePersonInformation(gcimsRecord.Person.GCIMSID, employeeData); } if (updatedResults.Result > 0) { summary.SuccessfulUsersProcessed.Add(new ProcessedSummary { GCIMSID = gcimsRecord.Person.GCIMSID, EmployeeID = employeeData.Person.EmployeeID, FirstName = employeeData.Person.FirstName, MiddleName = employeeData.Person.MiddleName, LastName = employeeData.Person.LastName, Suffix = employeeData.Person.Suffix, Action = updatedResults.Action, UpdatedColumns = columnList }); log.Info("Successfully Updated Record: " + employeeData.Person.EmployeeID); } else { summary.UnsuccessfulUsersProcessed.Add(new ProcessedSummary { GCIMSID = gcimsRecord.Person.GCIMSID, EmployeeID = employeeData.Person.EmployeeID, FirstName = employeeData.Person.FirstName, MiddleName = employeeData.Person.MiddleName, LastName = employeeData.Person.LastName, Suffix = employeeData.Person.Suffix, Status = employeeData.Person.Status, Action = updatedResults.Error }); log.Error("Unable to update: " + employeeData.Person.EmployeeID); } } else { log.Info("HR and GCIMS Data are the same: " + employeeData.Person.EmployeeID); summary.IdenticalRecords.Add(new IdenticalRecordSummary { GCIMSID = gcimsRecord.Person.GCIMSID, EmployeeID = employeeData.Person.EmployeeID, FirstName = employeeData.Person.FirstName, MiddleName = employeeData.Person.MiddleName, LastName = employeeData.Person.LastName, Suffix = employeeData.Person.Suffix, Status = gcimsRecord.Person.Status }); } } } emailData.HRFilename = Path.GetFileName(HRFile); emailData.HRAttempted = usersToProcess.Count; emailData.HRIdentical = summary.IdenticalRecords.Count; emailData.HRSocial = summary.SocialSecurityNumberChanges.Count; emailData.HRSucceeded = summary.SuccessfulUsersProcessed.Count; emailData.HRInactive = summary.InactiveRecords.Count; emailData.HRRecordsNotFound = summary.RecordsNotFound.Count; emailData.HRFailed = summary.UnsuccessfulUsersProcessed.Count; emailData.HRHasErrors = summary.UnsuccessfulUsersProcessed.Count > 0; //Add log entries log.Info("HR Records Updated: " + String.Format("{0:#,###0}", summary.SuccessfulUsersProcessed.Count)); log.Info("HR Users Not Processed: " + String.Format("{0:#,###0}", summary.UnsuccessfulUsersProcessed.Count)); log.Info("HR Total Records: " + String.Format("{0:#,###0}", usersToProcess.Count)); summary.GenerateSummaryFiles(emailData); } //Catch all errors catch (Exception ex) { log.Error("Process HR Users Error:" + ex.Message + " " + ex.InnerException + " " + ex.StackTrace); } }