public override Task <WorkerEventResponse> AddTask(MessagesPack.Task request, ServerCallContext context)
        {
            var TaskID     = GetNewTaskId();
            var resp       = new WorkerEventResponse();
            var command    = "INSERT INTO ScheduleItem (Id, Team, TeamID, Status, Text) VALUES (@val1, @val2, @val3,@val4, @val5)";
            var newCommand = new SqlCommand(command, _DbConnection);

            newCommand.Parameters.AddWithValue("@val1", TaskID);
            newCommand.Parameters.AddWithValue("@val2", request.Team);
            newCommand.Parameters.AddWithValue("@val3", request.TeamID);
            newCommand.Parameters.AddWithValue("@val4", request.Status);
            newCommand.Parameters.AddWithValue("@val5", request.Text);
            _DbConnection.Open();
            try
            {
                newCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                _DbConnection.Close();
            }
            _DbConnection.Close();
            return(System.Threading.Tasks.Task.FromResult(new WorkerEventResponse {
                Msg = "Task added successfully.", State = true
            }));
        }
        public override Task <WorkerEventResponse> Register(RegisterRequest request, ServerCallContext context)
        {
            var TeamID  = GetTeamIdFromName(request.TeamName);
            var DepID   = GetDepIdFromName(request.DepName);
            var command =
                "INSERT INTO Worker (WorkerID, Password, Name, TeamName, TeamID, DepartmentID, Level, DepartmentName) VALUES (@Val1, @val2, @val3, @val4, @val5, @val6, @val7, @val8)";
            var newCommand  = new SqlCommand(command, _DbConnection);
            var newWorkerId = GetNewWorkerId(request.Level);

            newCommand.Parameters.AddWithValue("@val1", newWorkerId);
            newCommand.Parameters.AddWithValue("@val2", request.Password);
            newCommand.Parameters.AddWithValue("@val3", request.Name);
            newCommand.Parameters.AddWithValue("@val4", request.TeamName);
            newCommand.Parameters.AddWithValue("@val5", TeamID);
            newCommand.Parameters.AddWithValue("@val6", DepID);
            newCommand.Parameters.AddWithValue("@val7", request.Level);
            newCommand.Parameters.AddWithValue("@val8", request.DepName);
            var resp = new WorkerEventResponse {
                State = false, Msg = "Worker cannot be created."
            };

            _DbConnection.Open();
            try
            {
                newCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            resp.State = true;
            resp.Msg   = "Worker added with ID: " + newWorkerId;
            _DbConnection.Close();
            return(System.Threading.Tasks.Task.FromResult(resp));
        }
        public override Task <WorkerEventResponse> GetWorkerName(IntegerRequest request, ServerCallContext context)
        {
            var tmp = new WorkerEventResponse
            {
                Msg = GetWorkerNameFromId(request.Number)
            };

            return(System.Threading.Tasks.Task.FromResult(tmp));
        }
        public override Task <WorkerEventResponse> GetWorkerName(IntegerRequest request, ServerCallContext context)
        {
            WorkerEventResponse tmp = new WorkerEventResponse();

            DBConnection.Open();
            tmp.Msg = GetWorkerNameFromID(request.Number);
            DBConnection.Close();
            return(System.Threading.Tasks.Task.FromResult(tmp));
        }
        public override Task <WorkerEventResponse> GetDepFromUser(IntegerRequest request, ServerCallContext context)
        {
            var resp = new WorkerEventResponse();

            DBConnection.Open();
            String        command    = "SELECT DepartmentName FROM Worker WHERE DepartmentID =" + request.Number;
            SqlCommand    newCommand = new SqlCommand(command, DBConnection);
            SqlDataReader dataReader = newCommand.ExecuteReader();

            if (dataReader.Read())
            {
                resp.Msg   = dataReader.GetString(0);
                resp.State = true;
            }
            else
            {
                resp.Msg   = "Empty";
                resp.State = false;
            }
            dataReader.Close();
            DBConnection.Close();
            return(System.Threading.Tasks.Task.FromResult(resp));
        }