public async Task <IActionResult> SynchronizeEmployees() { try { EmployeeParser parser = new EmployeeParser(_webHost); var employees = parser.GetEmployees(); foreach (var emp in employees) { var employeeToUpdate = await universityData.Employees.FirstOrDefaultAsync(o => o.FullName.Equals(emp.FullName)); if (employeeToUpdate == null) { await universityData.Employees.AddAsync(emp); } else { employeeToUpdate.Departments = emp.Departments; employeeToUpdate.Positions = emp.Positions; employeeToUpdate.Subjects = emp.Subjects; await universityData.Medias.RemoveRange(employeeToUpdate.Photos); employeeToUpdate.Photos = emp.Photos; await universityData.Employees.Update(employeeToUpdate); } } } catch (Exception ex) { return(Content(ex.Message + '\n' + ex.StackTrace)); } universityData.SaveAsync(); return(RedirectToAction("Index")); }
public void Parse_WhenPassedDismissDate_EmployeeCorrectDismissDate() { string[] employeeRowWithDismissDate = { "1", "Some Full Name", "01.05.2016", "22.05.2019", "1,4", "30000" }; employee = EmployeeParser.Parse(employeeRowWithDismissDate); employee.DismissDate.Should().Be(new DateTime(2019, 05, 22)); }
private void LoadData(string filename) { textBox1.Text = filename; DataTable dt = null; try { dt = CsvParser.GetDataTableFromCsv(filename, cbDateFormat.SelectedValue.ToString()); } catch (FormatException e) { Debug.WriteLine(e); MessageBox.Show("Error occurred while parsing data from CSV file!" + e.Message); return; } catch (Exception e) { Debug.WriteLine(e); MessageBox.Show("Error occurred while parsing data from CSV file!"); return; } List <Employee> allEmployees = EmployeeParser.GetEmployeesFromDatatable(dt); dgvAllEmployees.DataSource = allEmployees; var workByPairs = FindWorkTogether(allEmployees); var longestWorkByPairs = workByPairs.GroupBy(gr => new { gr.ID1, gr.ID2 }).Select( g => new { ID1 = g.Key.ID1, ID2 = g.Key.ID2, Days = g.Sum(s => s.Days), //sum per project for pair of employees ProjectIDs = string.Join(",", g.Select(s => s.ProjectID)) }).OrderByDescending(o => o.Days).ToList(); dgvLongestWork.DataSource = longestWorkByPairs; UpdateDateCellsFormat(); }
public void MaxSalaryTest() { const string Expected = "andriy"; var director = new Director(Expected, 12000); var supplyManager = new Manager("vova", 2900); var salesManager = new Manager("pasha", 4000); director.Add(supplyManager); director.Add(salesManager); var workderX = new Worker("misha", 4320); var workderY = new Worker("sasha", 1032); var workderA = new Worker("roma", 2020); var workderB = new Worker("mark", 3195); supplyManager.Add(workderX); supplyManager.Add(workderY); salesManager.Add(workderA); salesManager.Add(workderB); M.Interface.IEmployee employee = director; var names = new GetNames(); employee.Accept(names); M.EmployeeParser employeeParser = new EmployeeParser(); string result = employeeParser.MaxSalary(names.Result); Assert.AreEqual(Expected, result); }
protected void loadData() { string currentFilter ; if (IsPostBack == false) { Session["emp_filter"] = "jobStatus=1 "; currentFilter = "jobStatus=1 "; } else currentFilter = (string)Session["emp_filter"]; //this.scriptLb.Text = currentFilter; EmployeeParser newParser = new EmployeeParser(); this.dataModel = new EmployeeModel(this.gvEmployees, @".\SQL2008", 1433, "TSQLFundamentals2008","sa", "123456", "HR.Employees", newParser); newParser.DataModel = this.dataModel; try { this.dataModel.resetControl(currentFilter); if (this.IsPostBack == false) this.loadEmpIDS(); } catch(Exception ex) { Session["current_error"] = ex.Message; Response.Redirect("serverError.aspx"); } }
public void SetUp() { employee = EmployeeParser.Parse(correctEmployeeTableLine); parser = () => EmployeeParser.Parse(invalidEmployeeRow); }
static void Main(string[] args) { var director = new Director("andriy", 12000); var supplyManager = new Manager("vova", 2900); var salesManager = new Manager("pasha", 4000); director.Add(supplyManager); director.Add(salesManager); var workderX = new Worker("misha", 4320); var workderY = new Worker("sasha", 1032); var workderA = new Worker("roma", 2020); var workderB = new Worker("mark", 3195); supplyManager.Add(workderX); supplyManager.Add(workderY); salesManager.Add(workderA); salesManager.Add(workderB); M.Interface.IEmployee employee = director; var names = new GetNames(); employee.Accept(names); M.EmployeeParser employeeParser = new EmployeeParser(); while (true) { Console.WriteLine("1. Сортировка по належності (у вигляді дерева)\n2. Пошук позиції\n3. Сортировка по позиції\n4. Пошук більної зарплати\n5. Пошук більної заплати ніж у\n0. Вийти\n"); int number = Convert.ToInt32(Console.ReadLine()); List <string> data = new List <string>(); if (number == 0) { break; } switch (number) { case 1: data = employeeParser.SortingDirectSubordination(names.Result); break; case 2: data = employeeParser.SearchPosition(names.Result, "Робітник"); break; case 3: data = employeeParser.SortingPosition(names.Result); break; case 4: data = new List <string> { employeeParser.MaxSalary(names.Result) }; break; case 5: data = employeeParser.OverSalary(names.Result, 4000); break; } foreach (var d in data) { Console.WriteLine(d); } Console.WriteLine("\n"); } M.Employees employees = new Employees(supplyManager); List <M.Interface.IEmployee> test = employees.Subordinate(); foreach (var d in test) { Console.WriteLine(d.Name); } Console.Read(); }
protected void loadData() { EmployeeParser newParser = new EmployeeParser(); this.dataModel = new EmployeeModel(@".\SQL2008", 1433, "TSQLFundamentals2008", "sa", "123456", "HR.Employees", newParser); newParser.DataModel = this.dataModel; try { this.dataModel.resetModel(""); } catch (Exception ex) { Session["current_error"] = ex.Message; Response.Redirect("serverError.aspx"); } if (this.IsPostBack == false) this.loadEmpIDS(); if((Request.Params.Get("empid")!=null)) { this.empID = int.Parse(Request.Params.Get("empid").Trim()); this.newEmpMode = false; if (this.IsPostBack == true) return; this.loadEmpData(); } }
public void SubjectNormalaize_All(string input, string ouput) { Assert.Equal(ouput, EmployeeParser.NormalizeSubject(input)); }