Beispiel #1
0
        public List <Employee> EmployeeCompare(string propString, string comType)
        {
            var propValue = Convert.ToInt32(propString);

            if (comType == "gt")
            {
                return(FullEmployeeList.Where(emp => emp.Salary > propValue).ToList());
            }
            else
            {
                return(FullEmployeeList.Where(emp => emp.Salary < propValue).ToList());
            }
        }
Beispiel #2
0
        public void Initialize()
        {
            try
            {
                Employees.Clear();
                FullEmployeeList.Clear();
                Input = string.Empty;

                var sheet = Globals.ThisAddIn.Application.ActiveSheet as Worksheet;

                var columnCount = sheet?.UsedRange.Columns.Count;
                var rowCount    = sheet?.UsedRange.Rows.Count;

                var columnNameIndexTable = new Dictionary <int, string>();

                //Add column names and index.
                for (var i = 1; i <= columnCount; i++)
                {
                    var cell = sheet.UsedRange.Cells[1, i] as Range;
                    if (cell != null)
                    {
                        columnNameIndexTable.Add(i, cell.Value.ToString());
                    }
                }

                //Create employees list from row data.
                for (var r = 2; r <= rowCount; r++)
                {
                    var employee = new Employee();
                    for (var c = 1; c <= columnCount; c++)
                    {
                        var cell            = sheet.UsedRange.Cells[r, c] as Range;
                        var columnName      = columnNameIndexTable[c].ToLower();
                        var stringCellValue = cell?.Value.ToString();
                        if (stringCellValue == null)
                        {
                            break;
                        }
                        if (columnName == "id")
                        {
                            employee.Id = int.Parse(stringCellValue);
                        }
                        if (columnName == "salary")
                        {
                            employee.Salary = int.Parse(stringCellValue);
                        }
                        if (columnName == "age")
                        {
                            employee.Age = int.Parse(stringCellValue);
                        }
                        if (columnName == "name")
                        {
                            employee.Name = stringCellValue;
                        }
                        if (columnName == "role")
                        {
                            employee.Role = stringCellValue;
                        }
                    }
                    FullEmployeeList.Add(employee);
                }


                Bot = new OscovaBot();
                Bot.MainUser.Context.SharedData.Add(this);
                Bot.Dialogs.Add(new DatabaseGenericDialog());
                Bot.Dialogs.Add(new DatabaseEnquiryDialog());
                Bot.Dialogs.Add(new DatabaseSuperlativeDialog());

                Bot.MainUser.ResponseReceived += (sender, args) =>
                {
                    Output = args.Response.Text;
                };

                Task.Run(() =>
                {
                    Bot.CreateRecognizer("property", new[] { "ID", "Name", "Role", "Age", "Salary" });
                    Bot.CreateRecognizer("role", new[] { "CEO", "Manager", "Admin", "Engineer", "Tech", "Support" });
                    AddEmployeeNameRecognizer();
                    Bot.Trainer.StartTraining();
                });

                _sendAction = () =>
                {
                    Output = string.Empty;
                    var evaluationResult = Bot.Evaluate(Input);
                    evaluationResult.Invoke();
                    Input = string.Empty;
                };
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }